version: '3' #networks: # nginx-proxy-manager_npm_network: # external: true services: api: # build: . image: manticorum67/major-domo-database:dev restart: unless-stopped container_name: sba_db_api volumes: - ./storage:/usr/src/app/storage - ./logs:/usr/src/app/logs ports: - 814:80 networks: - default # - nginx-proxy-manager_npm_network environment: - TESTING=False - LOG_LEVEL=${LOG_LEVEL} - API_TOKEN=${API_TOKEN} - TZ=${TZ} - WORKERS_PER_CORE=1.5 - TIMEOUT=120 - GRACEFUL_TIMEOUT=120 - DATABASE_TYPE=postgresql - POSTGRES_HOST=sba_postgres - POSTGRES_DB=${SBA_DATABASE} - POSTGRES_USER=${SBA_DB_USER} - POSTGRES_PASSWORD=${SBA_DB_USER_PASSWORD} - REDIS_HOST=sba_redis - REDIS_PORT=6379 - REDIS_DB=0 depends_on: - postgres - redis postgres: image: postgres:17-alpine restart: unless-stopped container_name: sba_postgres environment: - POSTGRES_DB=${SBA_DATABASE} - POSTGRES_USER=${SBA_DB_USER} - POSTGRES_PASSWORD=${SBA_DB_USER_PASSWORD} - TZ=${TZ} volumes: - postgres_data:/var/lib/postgresql/data - ./logs:/var/log/postgresql ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U ${SBA_DB_USER} -d ${SBA_DATABASE}"] interval: 30s timeout: 10s retries: 3 start_period: 30s redis: image: redis:7-alpine restart: unless-stopped container_name: sba_redis ports: - "6379:6379" volumes: - redis_data:/data environment: - TZ=${TZ} healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 30s timeout: 10s retries: 3 start_period: 30s command: redis-server --appendonly yes adminer: image: adminer:latest restart: unless-stopped container_name: sba_adminer ports: - "8080:8080" environment: - ADMINER_DEFAULT_SERVER=sba_postgres - TZ=${TZ} # - ADMINER_DESIGN=pepa-linha-dark depends_on: - postgres sync-prod: image: alpine:latest container_name: sba_sync_prod volumes: - ./scripts:/scripts - /home/cal/.ssh:/tmp/ssh:ro environment: - SBA_DB_USER=${SBA_DB_USER} - SBA_DATABASE=${SBA_DATABASE} - SBA_DB_USER_PASSWORD=${SBA_DB_USER_PASSWORD} command: > sh -c " cp -r /tmp/ssh /root/.ssh && chmod 700 /root/.ssh && chmod 600 /root/.ssh/* && chown -R root:root /root/.ssh && /scripts/sync_from_prod.sh " profiles: ["sync"] depends_on: - postgres networks: - default volumes: postgres_data: redis_data: