services: # DB Interna del Stack db: image: postgres:16-alpine restart: always environment: POSTGRES_PASSWORD: {{ global_db_pass }} POSTGRES_USER: postgres POSTGRES_DB: postgres volumes: - pg_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 redis: image: redis:alpine restart: always command: redis-server --requirepass {{ global_redis_pass }} healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 3s retries: 5 # APPS dolibarr: image: upshift/dolibarr:latest depends_on: db: condition: service_healthy environment: DOLI_DB_HOST: db DOLI_DB_PORT: 5432 DOLI_DB_TYPE: pgsql DOLI_DB_USER: postgres DOLI_DB_PASSWORD: {{ global_db_pass }} DOLI_ADMIN_LOGIN: admin DOLI_ADMIN_PASSWORD: admin ports: - "8080:80" teable: image: teableio/teable:latest depends_on: db: condition: service_healthy redis: condition: service_healthy environment: PRISMA_DATABASE_URL: "postgresql://postgres:{{ global_db_pass }}@db:5432/teable" REDIS_URL: "redis://:{{ global_redis_pass }}@redis:6379/0" PUBLIC_ORIGIN: "http://{{ ansible_host }}:3000" SECRET_KEY: "TeableSecretKey123" ports: - "3000:3000" activepieces: image: activepieces/activepieces:latest depends_on: db: condition: service_healthy redis: condition: service_healthy environment: AP_POSTGRES_HOST: db AP_POSTGRES_PORT: 5432 AP_POSTGRES_DATABASE: activepieces AP_POSTGRES_USERNAME: postgres AP_POSTGRES_PASSWORD: {{ global_db_pass }} AP_REDIS_HOST: redis AP_REDIS_PORT: 6379 AP_REDIS_PASSWORD: {{ global_redis_pass }} AP_FRONTEND_URL: "http://{{ ansible_host }}:8081" ports: - "8081:80" volumes: pg_data: