name: sa-polar services: mysql: image: mysql:8.0 container_name: sapolar_mysql restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: ${DB_PASSWORD:-root} MYSQL_DATABASE: ${DB_NAME:-sa_polar} MYSQL_CHARACTER_SET_SERVER: utf8mb4 MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci ports: - "3307:3306" volumes: - mysql_data:/var/lib/mysql healthcheck: test: ["CMD", "mysqladmin", "ping", "-h", "localhost"] timeout: 5s retries: 20 interval: 5s backend: image: sa-polar-backend:latest container_name: sapolar_backend restart: unless-stopped depends_on: mysql: condition: service_healthy environment: DB_HOST: mysql DB_PORT: 3306 DB_NAME: ${DB_NAME:-sa_polar} DB_USER: root DB_PASSWORD: ${DB_PASSWORD:-root} JWT_SECRET: ${JWT_SECRET:-a2V5X3N1cGVyX3NlY3JldGFfcGFyYV9sb2dpbl9kZV9zYV9wb2xhcl9kZWJlc19zZXJfZGUzMl9jYXJhY3RlcmVz} CORS_ORIGINS: "*" UPLOAD_PATH: /app/uploads SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-dev} ports: - "8080:8080" volumes: - uploads_data:/app/uploads frontend: image: sa-polar-frontend:latest container_name: sapolar_frontend restart: unless-stopped depends_on: - backend ports: - "3000:3000" volumes: mysql_data: uploads_data: