Inclui serviços portal-modumfiscal-web (Nuxt 3 SSR, porta 3000) e portal-redis (Redis 7 Alpine, AOF) em ambos os ambientes. Adiciona portal.conf no nginx com regex wildcard para subdomínios do contribuinte, excluindo app/sistema que seguem para o backoffice. Em prod, retira *.modumfiscal.com.br do modumfiscal.conf para não bloquear o regex do portal. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
162 lines
3.6 KiB
YAML
162 lines
3.6 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
nginx:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "80:80"
|
|
volumes:
|
|
- /opt/infra/prod/nginx/conf.d:/etc/nginx/conf.d:ro
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
update_config:
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
modumfiscal-front:
|
|
image: git.modumsolucao.com.br/modumsolucao/modumfiscal-web:prod-latest
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 10s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
rabbitmq:
|
|
image: rabbitmq:3-management-alpine
|
|
environment:
|
|
- RABBITMQ_DEFAULT_USER=${RABBITMQ_USERNAME}
|
|
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_PASSWORD}
|
|
ports:
|
|
- "15672:15672"
|
|
volumes:
|
|
- rabbitmq-data:/var/lib/rabbitmq
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
update_config:
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
modumfiscal-api:
|
|
image: git.modumsolucao.com.br/modumsolucao/modumfiscal-api:prod-latest
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- RABBITMQ_HOST=rabbitmq
|
|
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
|
|
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}
|
|
deploy:
|
|
replicas: 2
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 200s
|
|
max_attempts: 3
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 15s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
modumfiscal-arquivo-processor:
|
|
image: git.modumsolucao.com.br/modumsolucao/modumfiscal-arquivo-processor:prod-latest
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
- RABBITMQ_HOST=rabbitmq
|
|
- RABBITMQ_USERNAME=${RABBITMQ_USERNAME}
|
|
- RABBITMQ_PASSWORD=${RABBITMQ_PASSWORD}
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 200s
|
|
max_attempts: 3
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 15s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
modumfiscal-bancario:
|
|
image: git.modumsolucao.com.br/modumsolucao/modumfiscal-bancario:prod-latest
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 200s
|
|
max_attempts: 3
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 15s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
modumfiscal-nfse:
|
|
image: git.modumsolucao.com.br/modumsolucao/modumfiscal-nfse:prod-latest
|
|
environment:
|
|
- SPRING_PROFILES_ACTIVE=prod
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 200s
|
|
max_attempts: 3
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 15s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
portal-modumfiscal-web:
|
|
image: git.modumsolucao.com.br/modumsolucao/portal-modumfiscal-web:prod-latest
|
|
environment:
|
|
- NUXT_REDIS_URL=redis://portal-redis:6379
|
|
deploy:
|
|
replicas: 2
|
|
restart_policy:
|
|
condition: on-failure
|
|
delay: 30s
|
|
max_attempts: 3
|
|
update_config:
|
|
parallelism: 1
|
|
delay: 15s
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
portal-redis:
|
|
image: redis:7-alpine
|
|
command: redis-server --appendonly yes
|
|
volumes:
|
|
- portal-redis-data:/data
|
|
deploy:
|
|
replicas: 1
|
|
restart_policy:
|
|
condition: on-failure
|
|
update_config:
|
|
order: start-first
|
|
networks:
|
|
- app-net
|
|
|
|
networks:
|
|
app-net:
|
|
external: true
|
|
|
|
volumes:
|
|
rabbitmq-data:
|
|
portal-redis-data:
|