From 36d84de0c406365fcf1a4e21b071b5ef7dfb2049 Mon Sep 17 00:00:00 2001 From: Michael Mayer Date: Wed, 30 Mar 2022 13:47:49 +0200 Subject: [PATCH] Docker: Upgrade MariaDB from 10.6 to 10.7 in config examples #2178 --- docker-compose.ci.yml | 12 ++-- docker-compose.mariadb.yml | 60 +++++++++++--------- docker-compose.yml | 14 +++-- docker/examples/arm64/README | 2 +- docker/examples/arm64/docker-compose.yml | 12 ++-- docker/examples/cloud/docker-compose.yml | 12 ++-- docker/examples/docker-compose.yml | 12 ++-- docker/examples/macos/docker-compose.yml | 12 ++-- docker/examples/scheduler/docker-compose.yml | 12 ++-- docker/examples/windows/docker-compose.yml | 12 ++-- 10 files changed, 90 insertions(+), 70 deletions(-) diff --git a/docker-compose.ci.yml b/docker-compose.ci.yml index f31736fb4..144765c53 100644 --- a/docker-compose.ci.yml +++ b/docker-compose.ci.yml @@ -144,17 +144,19 @@ services: ## MariaDB Database Server ## Docs: https://mariadb.com/docs/reference/cs10.6/ mariadb: - image: mariadb:10.6 + image: mariadb:10.7 command: mysqld --port=4001 --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 expose: - "4001" # database port (internal) volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "photoprism" + MARIADB_ROOT_PASSWORD: "photoprism" ## Dummy WebDAV Server dummy-webdav: diff --git a/docker-compose.mariadb.yml b/docker-compose.mariadb.yml index 87b5c697a..09be9455c 100644 --- a/docker-compose.mariadb.yml +++ b/docker-compose.mariadb.yml @@ -14,10 +14,12 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "photoprism" + MARIADB_ROOT_PASSWORD: "photoprism" ## MariaDB 10.7 Database Server mariadb-10-7: @@ -28,10 +30,12 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "photoprism" + MARIADB_ROOT_PASSWORD: "photoprism" ## MariaDB 10.5.5 Database Server ## Affected by MDEV-25362: Incorrect name resolution for subqueries in ON expressions @@ -44,10 +48,10 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MYSQL_DATABASE: "photoprism" + MYSQL_USER: "photoprism" + MYSQL_PASSWORD: "photoprism" + MYSQL_ROOT_PASSWORD: "photoprism" ## MariaDB 10.3 Database Server ## Docs: https://mariadb.com/docs/reference/cs10.3/ @@ -59,10 +63,10 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MYSQL_DATABASE: "photoprism" + MYSQL_USER: "photoprism" + MYSQL_PASSWORD: "photoprism" + MYSQL_ROOT_PASSWORD: "photoprism" ## MariaDB 10.2 Database Server ## Docs: https://mariadb.com/docs/reference/cs10.2/ @@ -74,10 +78,10 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MYSQL_DATABASE: "photoprism" + MYSQL_USER: "photoprism" + MYSQL_PASSWORD: "photoprism" + MYSQL_ROOT_PASSWORD: "photoprism" ## MariaDB 10.1 Database Server mariadb-10-1: @@ -88,10 +92,10 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MYSQL_DATABASE: "photoprism" + MYSQL_USER: "photoprism" + MYSQL_PASSWORD: "photoprism" + MYSQL_ROOT_PASSWORD: "photoprism" ## MySQL 8 Database Server ## Docs: https://dev.mysql.com/doc/refman/8.0/en/ @@ -103,10 +107,10 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MYSQL_DATABASE: "photoprism" + MYSQL_USER: "photoprism" + MYSQL_PASSWORD: "photoprism" + MYSQL_ROOT_PASSWORD: "photoprism" ## Join shared "photoprism-develop" network networks: diff --git a/docker-compose.yml b/docker-compose.yml index 4cfabd0fc..9b742081c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -128,9 +128,9 @@ services: - "go-mod:/go/pkg/mod" ## MariaDB Database Server - ## Docs: https://mariadb.com/docs/reference/cs10.6/ + ## Docs: https://mariadb.com/docs/reference/ mariadb: - image: mariadb:10.6 + image: mariadb:10.7 command: mysqld --port=4001 --transaction-isolation=READ-COMMITTED --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --max-connections=512 --innodb-rollback-on-timeout=OFF --innodb-lock-wait-timeout=120 expose: - "4001" @@ -139,10 +139,12 @@ services: volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: - MYSQL_ROOT_PASSWORD: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: photoprism - MYSQL_DATABASE: photoprism + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "photoprism" + MARIADB_ROOT_PASSWORD: "photoprism" ## Keycloak OpenID Connect Provider ## Admin Account: admin / photoprism diff --git a/docker/examples/arm64/README b/docker/examples/arm64/README index 244a57643..c44ea8947 100644 --- a/docker/examples/arm64/README +++ b/docker/examples/arm64/README @@ -12,7 +12,7 @@ single-arch ARM64 images (updated and tested less frequently): Stable Release : photoprism/photoprism:arm64 Development Preview: photoprism/photoprism:preview-arm64 - MariaDB : arm64v8/mariadb:10.6 + MariaDB : arm64v8/mariadb:10.7 If your device meets the system requirements, mostly the same installation instructions as for regular Linux servers apply: diff --git a/docker/examples/arm64/docker-compose.yml b/docker/examples/arm64/docker-compose.yml index 33038aa6b..862ff740a 100644 --- a/docker/examples/arm64/docker-compose.yml +++ b/docker/examples/arm64/docker-compose.yml @@ -117,7 +117,7 @@ services: ## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue: ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors restart: unless-stopped - image: arm64v8/mariadb:10.6 # this mariadb image runs on ARM64-based devices only + image: arm64v8/mariadb:10.7 # this mariadb image runs on ARM64-based devices only security_opt: - seccomp:unconfined - apparmor:unconfined @@ -126,10 +126,12 @@ services: volumes: - "./database:/var/lib/mysql" # important, don't remove environment: - MYSQL_ROOT_PASSWORD: insecure - MYSQL_DATABASE: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: insecure + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" ## Watchtower upgrades services automatically (optional) ## see https://docs.photoprism.app/getting-started/updates/#watchtower diff --git a/docker/examples/cloud/docker-compose.yml b/docker/examples/cloud/docker-compose.yml index ef0e6607b..cb9f108e6 100644 --- a/docker/examples/cloud/docker-compose.yml +++ b/docker/examples/cloud/docker-compose.yml @@ -188,7 +188,7 @@ services: ## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql mariadb: restart: always - image: mariadb:10.6 + image: mariadb:10.7 container_name: mariadb security_opt: - seccomp:unconfined @@ -198,10 +198,12 @@ services: volumes: - "./database:/var/lib/mysql" # important, don't remove environment: - MYSQL_ROOT_PASSWORD: "_admin_password_" - MYSQL_DATABASE: "photoprism" - MYSQL_USER: "photoprism" - MYSQL_PASSWORD: "_admin_password_" + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "_admin_password_" + MARIADB_ROOT_PASSWORD: "_admin_password_" ## Ofelia Job Runner (recommended) ## see https://github.com/mcuadros/ofelia diff --git a/docker/examples/docker-compose.yml b/docker/examples/docker-compose.yml index 700c6616d..d16cd6b1d 100644 --- a/docker/examples/docker-compose.yml +++ b/docker/examples/docker-compose.yml @@ -118,7 +118,7 @@ services: ## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue: ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors restart: unless-stopped - image: mariadb:10.6 + image: mariadb:10.7 security_opt: - seccomp:unconfined - apparmor:unconfined @@ -127,10 +127,12 @@ services: volumes: - "./database:/var/lib/mysql" # important, don't remove environment: - MYSQL_ROOT_PASSWORD: insecure - MYSQL_DATABASE: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: insecure + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" ## Watchtower upgrades services automatically (optional) ## see https://docs.photoprism.app/getting-started/updates/#watchtower diff --git a/docker/examples/macos/docker-compose.yml b/docker/examples/macos/docker-compose.yml index 9f9b22a5e..6486f3c97 100644 --- a/docker/examples/macos/docker-compose.yml +++ b/docker/examples/macos/docker-compose.yml @@ -90,7 +90,7 @@ services: ## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql mariadb: restart: unless-stopped - image: mariadb:10.6 + image: mariadb:10.7 security_opt: - seccomp:unconfined - apparmor:unconfined @@ -100,10 +100,12 @@ services: volumes: - "database:/var/lib/mysql" # important, don't remove; named volume "database" is defined at the bottom environment: - MYSQL_ROOT_PASSWORD: insecure - MYSQL_DATABASE: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: insecure + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" ## Watchtower upgrades services automatically (optional) ## see https://docs.photoprism.app/getting-started/updates/#watchtower diff --git a/docker/examples/scheduler/docker-compose.yml b/docker/examples/scheduler/docker-compose.yml index 27710e61e..9a57c6def 100644 --- a/docker/examples/scheduler/docker-compose.yml +++ b/docker/examples/scheduler/docker-compose.yml @@ -103,7 +103,7 @@ services: ## see https://docs.photoprism.app/getting-started/faq/#should-i-use-sqlite-mariadb-or-mysql mariadb: restart: unless-stopped - image: mariadb:10.6 + image: mariadb:10.7 container_name: mariadb security_opt: - seccomp:unconfined @@ -113,10 +113,12 @@ services: volumes: - "./database:/var/lib/mysql" # important, don't remove environment: - MYSQL_ROOT_PASSWORD: insecure - MYSQL_DATABASE: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: insecure + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" ## Ofelia Job Runner (recommended for running background jobs) ## see https://github.com/mcuadros/ofelia diff --git a/docker/examples/windows/docker-compose.yml b/docker/examples/windows/docker-compose.yml index fb00e0847..9650d56c9 100644 --- a/docker/examples/windows/docker-compose.yml +++ b/docker/examples/windows/docker-compose.yml @@ -96,7 +96,7 @@ services: ## If MariaDB gets stuck in a restart loop, this points to a memory or filesystem issue: ## https://docs.photoprism.app/getting-started/troubleshooting/#fatal-server-errors restart: unless-stopped - image: mariadb:10.6 + image: mariadb:10.7 security_opt: - seccomp:unconfined - apparmor:unconfined @@ -106,10 +106,12 @@ services: volumes: - "database:/var/lib/mysql" # important, don't remove; named volume "database" is defined at the bottom environment: - MYSQL_ROOT_PASSWORD: insecure - MYSQL_DATABASE: photoprism - MYSQL_USER: photoprism - MYSQL_PASSWORD: insecure + MARIADB_AUTO_UPGRADE: "1" + MARIADB_INITDB_SKIP_TZINFO: "1" + MARIADB_DATABASE: "photoprism" + MARIADB_USER: "photoprism" + MARIADB_PASSWORD: "insecure" + MARIADB_ROOT_PASSWORD: "insecure" ## Watchtower upgrades services automatically (optional) ## see https://docs.photoprism.app/getting-started/updates/#watchtower