Files
Condominio_SeConectai/docker-compose.prod.yml
2026-09-29 14:25:37 -03:00

127 lines
3.7 KiB
YAML

services:
caddy:
image: caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
depends_on:
- app
postgres:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: app
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: db_master
volumes:
- pgdata:/var/lib/postgresql/data
- ./docker/postgres/init:/docker-entrypoint-initdb.d:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U app -d db_master"]
interval: 10s
timeout: 5s
retries: 10
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- redisdata:/data
evolution-api:
image: evoapicloud/evolution-api:v2.3.7
restart: unless-stopped
environment:
SERVER_URL: ${EVOLUTION_PUBLIC_URL:-https://condominio.seconectai.com.br/evolution}
AUTHENTICATION_API_KEY: ${EVOLUTION_GLOBAL_API_KEY}
DATABASE_ENABLED: "true"
DATABASE_PROVIDER: postgresql
DATABASE_CONNECTION_URI: ${EVOLUTION_DATABASE_CONNECTION_URI:-postgresql://app:${DB_PASSWORD}@postgres:5432/evolution}
DATABASE_CONNECTION_CLIENT_NAME: seconectai_evolution
DATABASE_SAVE_DATA_INSTANCE: "true"
DATABASE_SAVE_DATA_NEW_MESSAGE: "true"
DATABASE_SAVE_MESSAGE_UPDATE: "true"
DATABASE_SAVE_DATA_CONTACTS: "true"
DATABASE_SAVE_DATA_CHATS: "true"
DATABASE_SAVE_DATA_LABELS: "true"
DATABASE_SAVE_DATA_HISTORIC: "true"
CACHE_REDIS_ENABLED: "true"
CACHE_REDIS_URI: redis://redis:6379/1
CACHE_REDIS_PREFIX_KEY: seconectai_evolution
CACHE_REDIS_SAVE_INSTANCES: "false"
CACHE_LOCAL_ENABLED: "false"
DEL_INSTANCE: "false"
volumes:
- evolution_instances:/evolution/instances
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
app:
build: .
restart: unless-stopped
environment:
DB_HOST: postgres
DB_PORT: 5432
DB_USER: app
DB_PASSWORD: ${DB_PASSWORD}
DB_MASTER_NAME: db_master
HTTP_PORT: 8080
MASTER_PASSWORD_HASH: ${MASTER_PASSWORD_HASH}
JWT_SECRET: ${JWT_SECRET}
APP_PUBLIC_URL: ${APP_PUBLIC_URL:-https://condominio.seconectai.com.br}
ABACATEPAY_WEBHOOK_SECRET: ${ABACATEPAY_WEBHOOK_SECRET}
ABACATEPAY_API_KEY: ${ABACATEPAY_API_KEY:-}
EVOLUTION_GLOBAL_API_KEY: ${EVOLUTION_GLOBAL_API_KEY:-}
EVOLUTION_API_URL: ${EVOLUTION_API_URL:-http://evolution-api:8080}
EVOLUTION_WEBHOOK_SECRET: ${EVOLUTION_WEBHOOK_SECRET:-}
depends_on:
postgres:
condition: service_healthy
evolution-api:
condition: service_started
volumes:
- ./uploads:/app/uploads
mensageiro:
build: .
restart: unless-stopped
environment:
APP_MODE: worker
DB_HOST: postgres
DB_PORT: 5432
DB_USER: app
DB_PASSWORD: ${DB_PASSWORD}
DB_MASTER_NAME: db_master
HTTP_PORT: 8080
MASTER_PASSWORD_HASH: ${MASTER_PASSWORD_HASH}
JWT_SECRET: ${JWT_SECRET}
APP_PUBLIC_URL: ${APP_PUBLIC_URL:-https://condominio.seconectai.com.br}
ABACATEPAY_WEBHOOK_SECRET: ${ABACATEPAY_WEBHOOK_SECRET}
ABACATEPAY_API_KEY: ${ABACATEPAY_API_KEY:-}
EVOLUTION_GLOBAL_API_KEY: ${EVOLUTION_GLOBAL_API_KEY:-}
EVOLUTION_API_URL: ${EVOLUTION_API_URL:-http://evolution-api:8080}
EVOLUTION_WEBHOOK_SECRET: ${EVOLUTION_WEBHOOK_SECRET:-}
depends_on:
postgres:
condition: service_healthy
evolution-api:
condition: service_started
volumes:
- ./uploads:/app/uploads
volumes:
pgdata:
redisdata:
evolution_instances:
caddy_data:
caddy_config: