Files
verify/docker-compose.prod.yml
T

53 lines
1.3 KiB
YAML

services:
mysql:
image: mysql:8.0
container_name: verify-mysql
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root123456}
MYSQL_DATABASE: ${MYSQL_DATABASE:-verification_platform}
MYSQL_CHARACTER_SET_SERVER: utf8mb4
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
ports:
- "${MYSQL_PORT:-3306}:3306"
volumes:
- mysql_data:/var/lib/mysql
networks:
- verify-network
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
app:
image: ghcr.io/cmakecpp/verify:main
container_name: verify-app
restart: unless-stopped
environment:
- APP_ENV=production
- APP_PORT=8080
- APP_JWT_SECRET=${JWT_SECRET:-your-jwt-secret-change-me}
- DATABASE_HOST=mysql
- DATABASE_PORT=3306
- DATABASE_NAME=${MYSQL_DATABASE:-verification_platform}
- DATABASE_USERNAME=root
- DATABASE_PASSWORD=${MYSQL_ROOT_PASSWORD:-root123456}
ports:
- "${APP_PORT:-8080}:8080"
volumes:
- uploads:/app/uploads
depends_on:
mysql:
condition: service_healthy
networks:
- verify-network
volumes:
mysql_data:
uploads:
networks:
verify-network:
driver: bridge