Files
AnchorOS/docker-compose.prod.yml

71 lines
1.7 KiB
YAML

version: '3.8'
services:
anchoros:
build:
context: .
dockerfile: Dockerfile
container_name: anchoros_app
restart: unless-stopped
environment:
- NODE_ENV=production
- NEXT_PUBLIC_SUPABASE_URL=${NEXT_PUBLIC_SUPABASE_URL}
- NEXT_PUBLIC_SUPABASE_ANON_KEY=${NEXT_PUBLIC_SUPABASE_ANON_KEY}
- SUPABASE_SERVICE_ROLE_KEY=${SUPABASE_SERVICE_ROLE_KEY}
- RESEND_API_KEY=${RESEND_API_KEY}
- NEXT_PUBLIC_APP_URL=${NEXT_PUBLIC_APP_URL}
- NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID=${NEXT_PUBLIC_FORMBRICKS_ENVIRONMENT_ID}
- NEXT_PUBLIC_FORMBRICKS_API_HOST=${NEXT_PUBLIC_FORMBRICKS_API_HOST}
ports:
- "3000:3000"
networks:
- anchoros_network
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
deploy:
resources:
limits:
cpus: '1.0'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
nginx:
image: nginx:alpine
container_name: anchoros_nginx
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./ssl:/etc/ssl/certs:ro
- nginx_cache:/var/cache/nginx
depends_on:
- anchoros
networks:
- anchoros_network
# Opcional: Redis para caching adicional
redis:
image: redis:7-alpine
container_name: anchoros_redis
restart: unless-stopped
volumes:
- redis_data:/data
networks:
- anchoros_network
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
volumes:
redis_data:
nginx_cache:
networks:
anchoros_network:
driver: bridge