Files
ContabilidadSaPolar/docker-compose.yml
T

62 lines
1.6 KiB
YAML

name: sa-polar
services:
mysql:
image: mysql:8.0
container_name: sa-polar-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:
build:
context: .
dockerfile: Dockerfile.backend
container_name: sa-polar-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: ${CORS_ORIGINS:-http://localhost:3000,http://localhost:5173}
UPLOAD_PATH: /app/uploads
# Perfil por defecto: dev. Para producción usar: SPRING_PROFILES_ACTIVE=prod
SPRING_PROFILES_ACTIVE: ${SPRING_PROFILES_ACTIVE:-dev}
ports:
- "8080:8080"
volumes:
- uploads_data:/app/uploads
frontend:
build:
context: .
dockerfile: Dockerfile.frontend
container_name: sa-polar-frontend
restart: unless-stopped
depends_on:
- backend
ports:
- "3000:3000"
volumes:
mysql_data:
uploads_data: