- Mitglied seit
- 20. Dez 2013
- Beiträge
- 91
- Punkte für Reaktionen
- 1
- Punkte
- 14
Hi,
ich möchte meine seit 8 Jahren direkt im DSM laufende Nextcloud (davor Owncloud) eigentlich in eine Dockerumgebung umziehen. Nur hapert es schon bei den ersten Schritten. Getrieben bin ich davon von dem relativ kastrierten Linux unter DSM wegzukommen und unabhängiger vom OS und schleppenden Updates von Synology zu werden. Oft genug werden benötigte Aliase (z.B. php=php74 zurück auf php=php56) oder Konfigs zurückgesetzt und die userdefined konfigs nicht sauber übernommen (gerade PHP), warum ich dann wieder tief im DSM rumpfuschen muss. Mit Hinblick auf DSM7 fürchte ich, wird es nicht besser. Als weg von der einen Frickelei zur nächsten.
Ich bin hierbei nach der Anleitung hier vorgegangen https://indibit.de/synology-docker-nextcloud-installieren/ und hier https://www.youtube.com/watch?v=a74C9X63yo4.
Mir ist bewusst, dass beide Anleitungen in Teilen unterschiedliche Konzepte verfolgen, aber keine bietet zu 100% was ich möchte.
In den Spoiler habe ich angepasste Konfig rot gefärbt.
Ich habe bei beiden Containern (Nextcloud und PHPmyadmin) das Problem, dass die sich nicht mit der MariaDB verbinden können.
Die jeweilige Weboberfläche kann ich durch http://<lokale.ip>:10081 bzw http://<lokale.ip>:8080 erreichen.
Bei beiden kommt letztlich immer der Fehler, dass die Anmeldung / Verbindung zur DB fehlschlägt.
Die Credentials stimmen jedoch. Bei Nextcloud wurde der DB ja so wie ich das verstehe mit "grant all privileges on nextcloud.* to 'nextcloud'@'%' identified by '<pw>';" der Zugriff mit "%" von überall erlaubt.
Bei Nextcloud hatte ich ursprünglich im Container keinen Link gesetzt, da ja die DB eigentlich durch <lokale.ip>:13306 innerhalb des LANs ja erreichbar sein sollte. Der aktuelle Link zum Container mariadb war nur ein weiterer erfolgloser Versuch das zum laufen zu kriegen.
Bei PHPmyadmin wurde ich im Internet bei vergleichbaren Fehlern auf das Volumne /docker/phpmyadmin/config.inc.php aufmerhsam und habe das der Konfig hinzugefügt. Machte aber keine Unterschied.
Eigentlich sollte ja durch das Bridging und das PAT unmöglich sein, dass sich die Dienste der bestehenden Instanz mit denen von Docker in die Quere kommen.
Kann mir jemand helfen, was ich hier falsch mache?
Die Themen Reverseproxy und Einbindung des Zertifikats wollte ich erst bei der Migration angehen.....
ich möchte meine seit 8 Jahren direkt im DSM laufende Nextcloud (davor Owncloud) eigentlich in eine Dockerumgebung umziehen. Nur hapert es schon bei den ersten Schritten. Getrieben bin ich davon von dem relativ kastrierten Linux unter DSM wegzukommen und unabhängiger vom OS und schleppenden Updates von Synology zu werden. Oft genug werden benötigte Aliase (z.B. php=php74 zurück auf php=php56) oder Konfigs zurückgesetzt und die userdefined konfigs nicht sauber übernommen (gerade PHP), warum ich dann wieder tief im DSM rumpfuschen muss. Mit Hinblick auf DSM7 fürchte ich, wird es nicht besser. Als weg von der einen Frickelei zur nächsten.
Ich bin hierbei nach der Anleitung hier vorgegangen https://indibit.de/synology-docker-nextcloud-installieren/ und hier https://www.youtube.com/watch?v=a74C9X63yo4.
Mir ist bewusst, dass beide Anleitungen in Teilen unterschiedliche Konzepte verfolgen, aber keine bietet zu 100% was ich möchte.
In den Spoiler habe ich angepasste Konfig rot gefärbt.
{
"cap_add" : null,
"cap_drop" : null,
"cmd" : "mysqld",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : false,
"enabled" : true,
"entrypoint_default" : "docker-entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "GOSU_VERSION",
"value" : "1.13"
},
{
"key" : "MARIADB_MAJOR",
"value" : "10.6"
},
{
"key" : "MARIADB_VERSION",
"value" : "1:10.6.3+maria~focal"
},
{
"key" : "MYSQL_ROOT_PASSWORD",
"value" : ""
}
],
"exporting" : false,
"id" : "26ca743ba93cc579dcac678d45b1aba750658c8429cd3c9db5e7284d39e0f492",
"image" : "mariadb:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [],
"memory_limit" : 0,
"name" : "mariadb",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 3306,
"host_port" : 13306,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/mariadb",
"mount_point" : "/var/lib/mysql",
"type" : "rw"
}
]
}
"cap_add" : null,
"cap_drop" : null,
"cmd" : "mysqld",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : false,
"enabled" : true,
"entrypoint_default" : "docker-entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "GOSU_VERSION",
"value" : "1.13"
},
{
"key" : "MARIADB_MAJOR",
"value" : "10.6"
},
{
"key" : "MARIADB_VERSION",
"value" : "1:10.6.3+maria~focal"
},
{
"key" : "MYSQL_ROOT_PASSWORD",
"value" : ""
}
],
"exporting" : false,
"id" : "26ca743ba93cc579dcac678d45b1aba750658c8429cd3c9db5e7284d39e0f492",
"image" : "mariadb:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [],
"memory_limit" : 0,
"name" : "mariadb",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 3306,
"host_port" : 13306,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/mariadb",
"mount_point" : "/var/lib/mysql",
"type" : "rw"
}
]
}
{
"cap_add" : null,
"cap_drop" : null,
"cmd" : "apache2-foreground",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enabled" : true,
"entrypoint_default" : "/entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "PHPIZE_DEPS",
"value" : "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
},
{
"key" : "PHP_INI_DIR",
"value" : "/usr/local/etc/php"
},
{
"key" : "APACHE_CONFDIR",
"value" : "/etc/apache2"
},
{
"key" : "APACHE_ENVVARS",
"value" : "/etc/apache2/envvars"
},
{
"key" : "PHP_EXTRA_BUILD_DEPS",
"value" : "apache2-dev"
},
{
"key" : "PHP_EXTRA_CONFIGURE_ARGS",
"value" : "--with-apxs2 --disable-cgi"
},
{
"key" : "PHP_CFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_CPPFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_LDFLAGS",
"value" : "-Wl,-O1 -pie"
},
{
"key" : "GPG_KEYS",
"value" : "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
},
{
"key" : "PHP_VERSION",
"value" : "7.4.21"
},
{
"key" : "PHP_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz"
},
{
"key" : "PHP_ASC_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz.asc"
},
{
"key" : "PHP_SHA256",
"value" : "cf43384a7806241bc2ff22022619baa4abb9710f12ec1656d0173de992e32a90"
},
{
"key" : "PHP_MEMORY_LIMIT",
"value" : "512M"
},
{
"key" : "PHP_UPLOAD_LIMIT",
"value" : "512M"
},
{
"key" : "NEXTCLOUD_VERSION",
"value" : "22.0.0"
}
],
"exporting" : false,
"id" : "46a6d2d5ab02b7f1a9399dfb9845511d9ea2a7b4053840c51d26f9390b75cda2",
"image" : "nextcloud:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [
{
"alias" : "mariadb",
"link_container" : "mariadb"
}
],
"memory_limit" : 0,
"name" : "nextcloud",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 443,
"host_port" : 8443,
"type" : "tcp"
},
{
"container_port" : 80,
"host_port" : 8080,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/nextcloud",
"mount_point" : "/var/www/html",
"type" : "rw"
}
]
}
"cap_add" : null,
"cap_drop" : null,
"cmd" : "apache2-foreground",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enabled" : true,
"entrypoint_default" : "/entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "PHPIZE_DEPS",
"value" : "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
},
{
"key" : "PHP_INI_DIR",
"value" : "/usr/local/etc/php"
},
{
"key" : "APACHE_CONFDIR",
"value" : "/etc/apache2"
},
{
"key" : "APACHE_ENVVARS",
"value" : "/etc/apache2/envvars"
},
{
"key" : "PHP_EXTRA_BUILD_DEPS",
"value" : "apache2-dev"
},
{
"key" : "PHP_EXTRA_CONFIGURE_ARGS",
"value" : "--with-apxs2 --disable-cgi"
},
{
"key" : "PHP_CFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_CPPFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_LDFLAGS",
"value" : "-Wl,-O1 -pie"
},
{
"key" : "GPG_KEYS",
"value" : "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
},
{
"key" : "PHP_VERSION",
"value" : "7.4.21"
},
{
"key" : "PHP_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz"
},
{
"key" : "PHP_ASC_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz.asc"
},
{
"key" : "PHP_SHA256",
"value" : "cf43384a7806241bc2ff22022619baa4abb9710f12ec1656d0173de992e32a90"
},
{
"key" : "PHP_MEMORY_LIMIT",
"value" : "512M"
},
{
"key" : "PHP_UPLOAD_LIMIT",
"value" : "512M"
},
{
"key" : "NEXTCLOUD_VERSION",
"value" : "22.0.0"
}
],
"exporting" : false,
"id" : "46a6d2d5ab02b7f1a9399dfb9845511d9ea2a7b4053840c51d26f9390b75cda2",
"image" : "nextcloud:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [
{
"alias" : "mariadb",
"link_container" : "mariadb"
}
],
"memory_limit" : 0,
"name" : "nextcloud",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 443,
"host_port" : 8443,
"type" : "tcp"
},
{
"container_port" : 80,
"host_port" : 8080,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/nextcloud",
"mount_point" : "/var/www/html",
"type" : "rw"
}
]
}
{
"cap_add" : null,
"cap_drop" : null,
"cmd" : "apache2-foreground",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enabled" : true,
"entrypoint_default" : "/docker-entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "PHPIZE_DEPS",
"value" : "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
},
{
"key" : "PHP_INI_DIR",
"value" : "/usr/local/etc/php"
},
{
"key" : "APACHE_CONFDIR",
"value" : "/etc/apache2"
},
{
"key" : "APACHE_ENVVARS",
"value" : "/etc/apache2/envvars"
},
{
"key" : "PHP_EXTRA_BUILD_DEPS",
"value" : "apache2-dev"
},
{
"key" : "PHP_EXTRA_CONFIGURE_ARGS",
"value" : "--with-apxs2 --disable-cgi"
},
{
"key" : "PHP_CFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_CPPFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_LDFLAGS",
"value" : "-Wl,-O1 -pie"
},
{
"key" : "GPG_KEYS",
"value" : "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
},
{
"key" : "PHP_VERSION",
"value" : "7.4.21"
},
{
"key" : "PHP_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz"
},
{
"key" : "PHP_ASC_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz.asc"
},
{
"key" : "PHP_SHA256",
"value" : "cf43384a7806241bc2ff22022619baa4abb9710f12ec1656d0173de992e32a90"
},
{
"key" : "MAX_EXECUTION_TIME",
"value" : "600"
},
{
"key" : "MEMORY_LIMIT",
"value" : "512M"
},
{
"key" : "UPLOAD_LIMIT",
"value" : "2048K"
},
{
"key" : "VERSION",
"value" : "5.1.1"
},
{
"key" : "SHA256",
"value" : "1964d7190223c11e89fa1b7970c618e3a3bae2e859f5f60383f64c3848ef6921"
},
{
"key" : "URL",
"value" : "https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.xz"
}
],
"exporting" : false,
"id" : "ac9adaa979227e775e04f8303ef968cf0373045394a9ab3cba0ad2b6fe5dfdbd",
"image" : "phpmyadmin:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [
{
"alias" : "mariadb",
"link_container" : "mariadb"
}
],
"memory_limit" : 0,
"name" : "phpmyadmin",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 80,
"host_port" : 10081,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/phpmyadmin/config.inc.php",
"mount_point" : "/etc/phpmyadmin/config.inc.php",
"type" : "rw"
}
]
}
"cap_add" : null,
"cap_drop" : null,
"cmd" : "apache2-foreground",
"cpu_priority" : 50,
"devices" : null,
"enable_publish_all_ports" : false,
"enable_restart_policy" : true,
"enabled" : true,
"entrypoint_default" : "/docker-entrypoint.sh",
"env_variables" : [
{
"key" : "PATH",
"value" : "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
},
{
"key" : "PHPIZE_DEPS",
"value" : "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c"
},
{
"key" : "PHP_INI_DIR",
"value" : "/usr/local/etc/php"
},
{
"key" : "APACHE_CONFDIR",
"value" : "/etc/apache2"
},
{
"key" : "APACHE_ENVVARS",
"value" : "/etc/apache2/envvars"
},
{
"key" : "PHP_EXTRA_BUILD_DEPS",
"value" : "apache2-dev"
},
{
"key" : "PHP_EXTRA_CONFIGURE_ARGS",
"value" : "--with-apxs2 --disable-cgi"
},
{
"key" : "PHP_CFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_CPPFLAGS",
"value" : "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
},
{
"key" : "PHP_LDFLAGS",
"value" : "-Wl,-O1 -pie"
},
{
"key" : "GPG_KEYS",
"value" : "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312"
},
{
"key" : "PHP_VERSION",
"value" : "7.4.21"
},
{
"key" : "PHP_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz"
},
{
"key" : "PHP_ASC_URL",
"value" : "https://www.php.net/distributions/php-7.4.21.tar.xz.asc"
},
{
"key" : "PHP_SHA256",
"value" : "cf43384a7806241bc2ff22022619baa4abb9710f12ec1656d0173de992e32a90"
},
{
"key" : "MAX_EXECUTION_TIME",
"value" : "600"
},
{
"key" : "MEMORY_LIMIT",
"value" : "512M"
},
{
"key" : "UPLOAD_LIMIT",
"value" : "2048K"
},
{
"key" : "VERSION",
"value" : "5.1.1"
},
{
"key" : "SHA256",
"value" : "1964d7190223c11e89fa1b7970c618e3a3bae2e859f5f60383f64c3848ef6921"
},
{
"key" : "URL",
"value" : "https://files.phpmyadmin.net/phpMyAdmin/5.1.1/phpMyAdmin-5.1.1-all-languages.tar.xz"
}
],
"exporting" : false,
"id" : "ac9adaa979227e775e04f8303ef968cf0373045394a9ab3cba0ad2b6fe5dfdbd",
"image" : "phpmyadmin:latest",
"is_ddsm" : false,
"is_package" : false,
"links" : [
{
"alias" : "mariadb",
"link_container" : "mariadb"
}
],
"memory_limit" : 0,
"name" : "phpmyadmin",
"network" : [
{
"driver" : "bridge",
"name" : "bridge"
}
],
"network_mode" : "bridge",
"port_bindings" : [
{
"container_port" : 80,
"host_port" : 10081,
"type" : "tcp"
}
],
"privileged" : false,
"shortcut" : {
"enable_shortcut" : false
},
"use_host_network" : false,
"volume_bindings" : [
{
"host_volume_file" : "/docker/phpmyadmin/config.inc.php",
"mount_point" : "/etc/phpmyadmin/config.inc.php",
"type" : "rw"
}
]
}
Ich habe bei beiden Containern (Nextcloud und PHPmyadmin) das Problem, dass die sich nicht mit der MariaDB verbinden können.
Die jeweilige Weboberfläche kann ich durch http://<lokale.ip>:10081 bzw http://<lokale.ip>:8080 erreichen.
Bei beiden kommt letztlich immer der Fehler, dass die Anmeldung / Verbindung zur DB fehlschlägt.
Die Credentials stimmen jedoch. Bei Nextcloud wurde der DB ja so wie ich das verstehe mit "grant all privileges on nextcloud.* to 'nextcloud'@'%' identified by '<pw>';" der Zugriff mit "%" von überall erlaubt.
Bei Nextcloud hatte ich ursprünglich im Container keinen Link gesetzt, da ja die DB eigentlich durch <lokale.ip>:13306 innerhalb des LANs ja erreichbar sein sollte. Der aktuelle Link zum Container mariadb war nur ein weiterer erfolgloser Versuch das zum laufen zu kriegen.
Bei PHPmyadmin wurde ich im Internet bei vergleichbaren Fehlern auf das Volumne /docker/phpmyadmin/config.inc.php aufmerhsam und habe das der Konfig hinzugefügt. Machte aber keine Unterschied.
Eigentlich sollte ja durch das Bridging und das PAT unmöglich sein, dass sich die Dienste der bestehenden Instanz mit denen von Docker in die Quere kommen.
Kann mir jemand helfen, was ich hier falsch mache?
Die Themen Reverseproxy und Einbindung des Zertifikats wollte ich erst bei der Migration angehen.....