**Purpose**: Self-hosted open-source no-code business automation tool. ```jsx title="docker-compose.yml" version: '3.0' services: activepieces: image: activepieces/activepieces:0.3.11 container_name: activepieces restart: unless-stopped privileged: true ports: - '8080:80' environment: - 'POSTGRES_DB=${AP_POSTGRES_DATABASE}' - 'POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD}' - 'POSTGRES_USER=${AP_POSTGRES_USERNAME}' env_file: stack.env depends_on: - postgres - redis networks: docker_network: ipv4_address: 192.168.5.62 postgres: image: 'postgres:14.4' container_name: postgres restart: unless-stopped environment: - 'POSTGRES_DB=${AP_POSTGRES_DATABASE}' - 'POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD}' - 'POSTGRES_USER=${AP_POSTGRES_USERNAME}' volumes: - /srv/containers/activepieces/postgresql:/var/lib/postgresql/data' networks: docker_network: ipv4_address: 192.168.5.61 redis: image: 'redis:7.0.7' container_name: redis restart: unless-stopped volumes: - /srv/containers/activepieces/redis:/data' networks: docker_network: ipv4_address: 192.168.5.60 networks: default: external: name: docker_network docker_network: external: true ``` ```jsx title=".env" AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js AP_ENCRYPTION_KEY=e81f8754faa04acaa7b13caa5d2c6a5a AP_JWT_SECRET=REDACTED #BE SURE TO SET THIS WITH A VALID JWT SECRET > REFER TO OFFICIAL DOCUMENTATION AP_ENVIRONMENT=prod AP_FRONTEND_URL=https://ap.cyberstrawberry.net AP_NODE_EXECUTABLE_PATH=/usr/local/bin/node AP_POSTGRES_DATABASE=activepieces AP_POSTGRES_HOST=192.168.5.61 AP_POSTGRES_PORT=5432 AP_POSTGRES_USERNAME=postgres AP_POSTGRES_PASSWORD=REDACTED #USE A SECURE SHORT PASSWORD > ENSURE ITS NOT TOO LONG FOR POSTGRESQL AP_REDIS_HOST=redis AP_REDIS_PORT=6379 AP_SANDBOX_RUN_TIME_SECONDS=600 AP_TELEMETRY_ENABLED=true ```