Files
seoulmate_bot_v1/docker-compose.yml
2025-08-12 21:02:23 +09:00

68 lines
1.5 KiB
YAML

services:
db:
image: mariadb:11.6
restart: unless-stopped
environment:
TZ: ${TZ}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
healthcheck:
test:
[
"CMD-SHELL",
"([ -x /usr/bin/mariadb-admin ] && mariadb-admin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD --silent) || \
([ -x /usr/bin/mysqladmin ] && mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD --silent) || \
(command -v bash >/dev/null 2>&1 && bash -c '</dev/tcp/127.0.0.1/3306' >/dev/null 2>&1)"
]
interval: 5s
timeout: 5s
retries: 20
start_period: 40s
command: [
"--character-set-server=utf8mb4",
"--collation-server=utf8mb4_unicode_ci"
]
volumes:
- db_data:/var/lib/mysql
networks:
- appnet
bot:
build:
context: ./services/bot
dockerfile: Dockerfile
args:
- PY_VERSION=3.12
depends_on:
db:
condition: service_healthy
env_file:
- ./.env
volumes:
- ./services/bot:/app
command: ["/app/entrypoint.sh"]
networks:
- appnet
adminer:
image: adminer:latest
ports:
- "8081:8080"
environment:
TZ: ${TZ}
depends_on:
db:
condition: service_healthy
networks:
- appnet
volumes:
db_data:
networks:
appnet:
driver: bridge