1
0
forked from boos/BoosAPI
Files
BoosAPI/docker/docker-compose.databases.yml
T
2026-07-14 03:21:10 +08:00

71 lines
1.9 KiB
YAML

services:
postgres:
image: postgres:17
profiles: ["postgres"]
environment:
POSTGRES_DB: boosapi
POSTGRES_USER: boosapi
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?set POSTGRES_PASSWORD}
volumes:
- boosapi-postgres:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U boosapi -d boosapi"]
interval: 5s
timeout: 3s
retries: 20
mysql:
image: mysql:8.0
profiles: ["mysql"]
environment:
MYSQL_DATABASE: boosapi
MYSQL_USER: boosapi
MYSQL_PASSWORD: ${MYSQL_PASSWORD:?set MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:?set MYSQL_ROOT_PASSWORD}
command:
- "--character-set-server=utf8mb4"
- "--collation-server=utf8mb4_unicode_ci"
- "--log-bin-trust-function-creators=1"
volumes:
- boosapi-mysql:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD"]
interval: 5s
timeout: 3s
retries: 30
mariadb:
image: mariadb:10.6
profiles: ["mariadb"]
environment:
MARIADB_DATABASE: boosapi
MARIADB_USER: boosapi
MARIADB_PASSWORD: ${MARIADB_PASSWORD:?set MARIADB_PASSWORD}
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:?set MARIADB_ROOT_PASSWORD}
command: ["--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"]
volumes:
- boosapi-mariadb:/var/lib/mysql
healthcheck:
test: ["CMD-SHELL", "healthcheck.sh --connect --innodb_initialized"]
interval: 5s
timeout: 3s
retries: 30
redis:
image: redis:7-alpine
profiles: ["redis"]
command: ["redis-server", "--appendonly", "yes"]
volumes:
- boosapi-redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 20
volumes:
boosapi-postgres:
boosapi-mysql:
boosapi-mariadb:
boosapi-redis: