version: '3.5' # Additional MariaDB and MySQL versions for testing compatibility services: ## MariaDB 10.8 Database Server ## Docs: https://mariadb.com/kb/en/release-notes-mariadb-108-series/ mariadb-10-8: image: mariadb:10.8 security_opt: # see https://github.com/MariaDB/mariadb-docker/issues/434#issuecomment-1136151239 - seccomp:unconfined - apparmor:unconfined command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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" ports: - "4002:4001" # database port (host:container) volumes: - "./scripts/sql/mariadb-init.sql:/docker-entrypoint-initdb.d/init.sql" environment: 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: image: mariadb:10.7 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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: 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 ## see https://jira.mariadb.org/browse/MDEV-25362 mariadb-10-5-5: image: mariadb:10.5.5 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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_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/ mariadb-10-3: image: mariadb:10.3 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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_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/ mariadb-10-2: image: mariadb:10.2 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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_DATABASE: "photoprism" MYSQL_USER: "photoprism" MYSQL_PASSWORD: "photoprism" MYSQL_ROOT_PASSWORD: "photoprism" ## MariaDB 10.1 Database Server mariadb-10-1: image: mariadb:10.1 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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_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/ mysql: image: mysql:8 command: mysqld --port=4001 --innodb-buffer-pool-size=256M --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_DATABASE: "photoprism" MYSQL_USER: "photoprism" MYSQL_PASSWORD: "photoprism" MYSQL_ROOT_PASSWORD: "photoprism" ## Join shared "photoprism-develop" network networks: default: external: name: photoprism-develop