Files
br-acc/infra/docker-compose.prod.yml
Davi Rezende 8d12cadcb7 chore(pr-review): squash merge #43
Merged by strict manual review cycle 20260303T215220Z.
2026-03-03 18:59:29 -03:00

73 lines
1.6 KiB
YAML

services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy-data:/data
- caddy-config:/config
networks:
- bracc
depends_on:
- api
- frontend
neo4j:
image: neo4j:5-community
restart: unless-stopped
environment:
NEO4J_AUTH: neo4j/${NEO4J_PASSWORD}
NEO4J_PLUGINS: '["apoc"]'
NEO4J_server_memory_heap_initial__size: ${NEO4J_HEAP_INITIAL:-512m}
NEO4J_server_memory_heap_max__size: ${NEO4J_HEAP_MAX:-1G}
NEO4J_server_memory_pagecache_size: ${NEO4J_PAGECACHE:-512m}
volumes:
- neo4j-data:/data
- ./neo4j/import:/var/lib/neo4j/import
- ./neo4j/init.cypher:/var/lib/neo4j/init.cypher
networks:
- bracc
healthcheck:
test: ["CMD", "cypher-shell", "-u", "neo4j", "-p", "${NEO4J_PASSWORD}", "RETURN 1"]
interval: 10s
timeout: 5s
retries: 5
api:
build: ../api
restart: unless-stopped
environment:
NEO4J_URI: bolt://neo4j:7687
NEO4J_USER: neo4j
NEO4J_PASSWORD: ${NEO4J_PASSWORD}
JWT_SECRET_KEY: ${JWT_SECRET_KEY}
INVITE_CODE: ${INVITE_CODE:-}
CORS_ORIGINS: https://${DOMAIN}
AUTH_COOKIE_SECURE: "true"
LOG_LEVEL: ${LOG_LEVEL:-info}
networks:
- bracc
depends_on:
neo4j:
condition: service_healthy
frontend:
build: ../frontend
restart: unless-stopped
networks:
- bracc
depends_on:
- api
networks:
bracc:
driver: bridge
volumes:
neo4j-data:
caddy-data:
caddy-config: