version: "3.7" services: activepieces: image: activepieces/activepieces:0.12.2 container_name: activepieces restart: unless-stopped ports: - "${APP_PORT}:80" depends_on: - activepieces-postgres - activepieces-redis environment: - AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js - AP_API_KEY=${AP_API_KEY} - AP_ENCRYPTION_KEY=${AP_ENCRYPTION_KEY} - AP_JWT_SECRET=${AP_JWT_SECRET} - AP_ENVIRONMENT=prod - AP_FRONTEND_URL=http://localhost:8080 - AP_WEBHOOK_TIMEOUT_SECONDS=30 - AP_TRIGGER_DEFAULT_POLL_INTERVAL=5 - AP_POSTGRES_DATABASE=activepieces - AP_POSTGRES_HOST=activepieces-postgres.runtipi_tipi_main_network - AP_POSTGRES_PORT=5432 - AP_POSTGRES_USERNAME=tipi - AP_POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD} - AP_EXECUTION_MODE=UNSANDBOXED - AP_REDIS_HOST=activepieces-redis.runtipi_tipi_main_network - AP_REDIS_PORT=6379 - AP_SANDBOX_RUN_TIME_SECONDS=600 - AP_TELEMETRY_ENABLED=true - AP_TEMPLATES_SOURCE_URL="https://cloud.activepieces.com/api/v1/flow-templates" networks: - tipi_main_network labels: # Main traefik.enable: true traefik.http.middlewares.activepieces-web-redirect.redirectscheme.scheme: https traefik.http.services.activepieces.loadbalancer.server.port: 8744 # Web traefik.http.routers.activepieces-insecure.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.activepieces-insecure.entrypoints: web traefik.http.routers.activepieces-insecure.service: activepieces traefik.http.routers.activepieces-insecure.middlewares: activepieces-web-redirect # Websecure traefik.http.routers.activepieces.rule: Host(`${APP_DOMAIN}`) traefik.http.routers.activepieces.entrypoints: websecure traefik.http.routers.activepieces.service: activepieces traefik.http.routers.activepieces.tls.certresolver: myresolver # Local domain traefik.http.routers.activepieces-local-insecure.rule: Host(`activepieces.${LOCAL_DOMAIN}`) traefik.http.routers.activepieces-local-insecure.entrypoints: web traefik.http.routers.activepieces-local-insecure.service: activepieces traefik.http.routers.activepieces-local-insecure.middlewares: activepieces-web-redirect # Local domain secure traefik.http.routers.activepieces-local.rule: Host(`activepieces.${LOCAL_DOMAIN}`) traefik.http.routers.activepieces-local.entrypoints: websecure traefik.http.routers.activepieces-local.service: activepieces traefik.http.routers.activepieces-local.tls: true activepieces-postgres: image: postgres:14 restart: unless-stopped container_name: activepieces-postgres environment: - POSTGRES_DB=activepieces - POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD} - POSTGRES_USER=tipi volumes: - "${APP_DATA_DIR}/data/postgres:/var/lib/postgresql/data" networks: - tipi_main_network activepieces-redis: image: redis:7 container_name: activepieces-redis restart: unless-stopped volumes: - "${APP_DATA_DIR}/data/redis/:/data" networks: - tipi_main_network