Files
YaeMikoBot/db.docker-compose.yml
2026-02-27 15:36:00 +03:00

62 lines
1.4 KiB
YAML

services:
postgres:
image: postgres:18.2-alpine3.23
networks:
- bot
ports:
- "5432:5432"
environment:
POSTGRES_DB: ${PSQL_NAME}
POSTGRES_USER: ${PSQL_USER}
POSTGRES_PASSWORD: ${PSQL_PASS}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${PSQL_USER} -d ${PSQL_NAME}"]
interval: 2s
retries: 5
timeout: 10s
start_period: 5s
volumes:
- ./scripts/postgres:/docker-entrypoint-initdb.d
- postgres_data:/var/lib/postgresql/data
mongo:
image: mongo:8-noble
networks:
- bot
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_PASS}
MONGO_INITDB_DATABASE: ${MONGO_NAME}
healthcheck:
test: [ "CMD", "mongosh", "--quiet", "admin", "--eval", "quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)" ]
interval: 10s
retries: 5
timeout: 10s
start_period: 10s
volumes:
- ./scripts/mongo:/docker-entrypoint-initdb.d
- mongo_data:/data/db
redis:
image: redis:8.4-alpine
networks:
- bot
ports:
- "6379:6379"
healthcheck:
test: ["CMD", "redis-cli", "--raw", "ping"]
interval: 5s
retries: 5
timeout: 10s
start_period: 2s
volumes:
- redis_data:/data
networks:
bot:
driver: bridge
volumes:
postgres_data:
mongo_data:
redis_data: