first commit
This commit is contained in:
commit
0e854110d3
49 files changed
+2292
No files matched your search
@@ -0,0 +1,98 @@
|
||||
networks:
|
||||
dockernet:
|
||||
external: true
|
||||
name: dockernet
|
||||
|
||||
services:
|
||||
anatomia-db:
|
||||
container_name: anatomia-db
|
||||
image: postgres:16-alpine
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: 'America/Araguaina'
|
||||
POSTGRES_USER: ${POSTGRES_USER:-anatomia}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-anatomia}
|
||||
POSTGRES_DB: ${POSTGRES_DB:-anatomia}
|
||||
volumes:
|
||||
- anatomia_db_data:/var/lib/postgresql/data
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-anatomia}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
networks:
|
||||
- dockernet
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
|
||||
anatomia-api:
|
||||
container_name: anatomia-api
|
||||
build:
|
||||
context: ./backend
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
anatomia-db:
|
||||
condition: service_healthy
|
||||
environment:
|
||||
TZ: 'America/Araguaina'
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-anatomia}:${POSTGRES_PASSWORD:-anatomia}@anatomia-db:5432/${POSTGRES_DB:-anatomia}
|
||||
PORT: 3333
|
||||
MODELS_DIR: /app/models
|
||||
volumes:
|
||||
- anatomia_models_data:/app/models:ro
|
||||
networks:
|
||||
- dockernet
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 512M
|
||||
|
||||
anatomia-web:
|
||||
container_name: anatomia-web
|
||||
build:
|
||||
context: .
|
||||
dockerfile: frontend/Dockerfile
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- anatomia-api
|
||||
environment:
|
||||
TZ: 'America/Araguaina'
|
||||
# Lido pelo acme-companion (pareado com nginx-gen) para emitir/renovar
|
||||
# o certificado Let's Encrypt deste domínio.
|
||||
LETSENCRYPT_HOST: ${ANATOMIA_DOMAIN:-atlas.martinsevieira.adv.br}
|
||||
networks:
|
||||
dockernet:
|
||||
# IP fixo para o vhost manual em docker/nginx/sites/*.conf poder
|
||||
# apontar (proxy_pass) direto para este container, no mesmo padrão
|
||||
# já usado para "frontend"/"backend" (ticketz) e "nextcloud".
|
||||
# Confirme que este IP está livre em dockernet antes de subir!
|
||||
ipv4_address: ${ANATOMIA_WEB_IP:-10.15.0.93}
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
memory: 256M
|
||||
|
||||
# One-off data pipeline: generates the seed GLB models + populates the DB.
|
||||
# Run explicitly with: docker compose run --rm anatomia-pipeline
|
||||
anatomia-pipeline:
|
||||
container_name: anatomia-pipeline
|
||||
build:
|
||||
context: ./data-pipeline
|
||||
profiles: ["tools"]
|
||||
depends_on:
|
||||
anatomia-db:
|
||||
condition: service_healthy
|
||||
anatomia-api:
|
||||
condition: service_started
|
||||
environment:
|
||||
DATABASE_URL: postgresql://${POSTGRES_USER:-anatomia}:${POSTGRES_PASSWORD:-anatomia}@anatomia-db:5432/${POSTGRES_DB:-anatomia}
|
||||
volumes:
|
||||
- anatomia_models_data:/app/seed/models
|
||||
networks:
|
||||
- dockernet
|
||||
|
||||
volumes:
|
||||
anatomia_db_data:
|
||||
anatomia_models_data:
|
||||
Reference in new issue
Block a user