mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
activepieces is now in current template format
This commit is contained in:
@@ -1,9 +1,76 @@
|
|||||||
# Active Pieces
|
# Activepieces
|
||||||
|
|
||||||
* [Dockerhub Tags](https://hub.docker.com/r/activepieces/activepieces/tags)
|
## Overview
|
||||||
* [Docker Compose File](https://github.com/activepieces/activepieces/blob/main/docker-compose.yml)
|
|
||||||
* [ENV file](https://github.com/activepieces/activepieces/blob/main/.env.example)
|
|
||||||
* [Homepage](https://www.activepieces.com/)
|
|
||||||
* [Docs](https://www.activepieces.com/docs/getting-started/introduction)
|
|
||||||
* Proxy port: 80
|
|
||||||
|
|
||||||
|
Activepieces is an open-source automation platform. This stack runs Activepieces with PostgreSQL and Redis.
|
||||||
|
|
||||||
|
## Project Details
|
||||||
|
|
||||||
|
- **Project Repository:** [https://github.com/activepieces/activepieces](https://github.com/activepieces/activepieces)
|
||||||
|
- **Container Image:** [GitHub Packages](https://github.com/activepieces/activepieces/pkgs/container/activepieces)
|
||||||
|
- **Documentation:** [https://www.activepieces.com/docs](https://www.activepieces.com/docs)
|
||||||
|
- **Reverse Proxy Port:** `80`
|
||||||
|
|
||||||
|
## Getting Started
|
||||||
|
|
||||||
|
1. Generate secrets and set them in your environment:
|
||||||
|
```bash
|
||||||
|
export AP_ENCRYPTION_KEY=$(openssl rand -hex 16)
|
||||||
|
export AP_JWT_SECRET=$(openssl rand -hex 32)
|
||||||
|
```
|
||||||
|
2. Start the stack: `docker compose up -d`
|
||||||
|
3. Open http://localhost:8080 in your browser
|
||||||
|
|
||||||
|
## Environment Variable Notes
|
||||||
|
|
||||||
|
VOL_PATH – base path for persistent data volumes
|
||||||
|
VOL_PROJECTS – base path for project directories
|
||||||
|
ACTIVEPIECES_IMAGE – Activepieces container image (default: ghcr.io/activepieces/activepieces:0.44.0)
|
||||||
|
ACTIVEPIECES_RESTART – restart policy (default: unless-stopped)
|
||||||
|
ACTIVEPIECES_PORT – host port mapped to container port 80 (default: 8080)
|
||||||
|
ACTIVEPIECES_DOMAIN – domain for frontend URL
|
||||||
|
AP_ENCRYPTION_KEY – 256-bit encryption key (32 hex chars, default: changeme – generate with `openssl rand -hex 16`)
|
||||||
|
AP_JWT_SECRET – JWT signing secret (default: changeme – generate with `openssl rand -hex 32`)
|
||||||
|
AP_POSTGRES_PASSWORD – PostgreSQL password
|
||||||
|
|
||||||
|
## Volume Notes
|
||||||
|
|
||||||
|
${VOL_PATH}/activepieces_dev/cache – Activepieces cache files
|
||||||
|
${VOL_PATH}/activepieces_dev/postgres – PostgreSQL data directory
|
||||||
|
${VOL_PATH}/activepieces_dev/redis – Redis data directory
|
||||||
|
|
||||||
|
## Network Notes
|
||||||
|
|
||||||
|
Requires the external `proxy` network (Nginx Proxy Manager). An internal bridge network `internal` is created for inter-service communication.
|
||||||
|
|
||||||
|
## Docker Run
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run -d \
|
||||||
|
--name activepieces \
|
||||||
|
-v ${VOL_PATH:-/data}/activepieces_dev/cache:/usr/src/app/cache \
|
||||||
|
-e AP_ENCRYPTION_KEY=your-32-hex-char-key \
|
||||||
|
-e AP_JWT_SECRET=your-secret \
|
||||||
|
-e AP_POSTGRES_PASSWORD=changeme \
|
||||||
|
-e AP_POSTGRES_HOST=postgres \
|
||||||
|
-e AP_REDIS_HOST=redis \
|
||||||
|
-p 8080:80 \
|
||||||
|
--network proxy \
|
||||||
|
ghcr.io/activepieces/activepieces:0.44.0
|
||||||
|
```
|
||||||
|
|
||||||
|
## Additional Notes / Gotchas
|
||||||
|
|
||||||
|
- `AP_ENCRYPTION_KEY` and `AP_JWT_SECRET` are required and must be set before the first run. Changing them after data has been written will cause errors.
|
||||||
|
- Activepieces requires the `UNSANDBOXED` execution mode in Docker; switch to `SANDBOXED` if you need isolation (requires `privileged: true`).
|
||||||
|
|
||||||
|
## Dockhand Stack, Deploy from Git
|
||||||
|
|
||||||
|
Cookbooks Repository
|
||||||
|
stackname: ACTIVEPIECES_DEV
|
||||||
|
Compose file path: activepieces_dev/compose.yaml
|
||||||
|
Additional env file (optional): activepieces_dev/sample.env
|
||||||
|
|
||||||
|
Then "Load" activepieces_dev/sample.env into the Environmental variables in dockhand
|
||||||
|
|
||||||
|
Create the Stack
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
# Activepieces
|
||||||
|
|
||||||
|
services:
|
||||||
|
activepieces:
|
||||||
|
image: ${ACTIVEPIECES_IMAGE:-ghcr.io/activepieces/activepieces:0.44.0}
|
||||||
|
restart: ${ACTIVEPIECES_RESTART:-unless-stopped}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ${VOL_PATH:-/data}/activepieces_dev/cache:/usr/src/app/cache
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
|
||||||
|
- AP_ENCRYPTION_KEY=${AP_ENCRYPTION_KEY:-changeme}
|
||||||
|
- AP_JWT_SECRET=${AP_JWT_SECRET:-changeme}
|
||||||
|
- AP_ENVIRONMENT=prod
|
||||||
|
- AP_FRONTEND_URL=http://${ACTIVEPIECES_DOMAIN:-localhost}:${ACTIVEPIECES_PORT:-8080}
|
||||||
|
- AP_POSTGRES_DATABASE=activepieces
|
||||||
|
- AP_POSTGRES_HOST=postgres
|
||||||
|
- AP_POSTGRES_PORT=5432
|
||||||
|
- AP_POSTGRES_USERNAME=postgres
|
||||||
|
- AP_POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD:-changeme}
|
||||||
|
- AP_EXECUTION_MODE=UNSANDBOXED
|
||||||
|
- AP_REDIS_HOST=redis
|
||||||
|
- AP_REDIS_PORT=6379
|
||||||
|
- AP_FLOW_TIMEOUT_SECONDS=600
|
||||||
|
- AP_TELEMETRY_ENABLED=true
|
||||||
|
- AP_TEMPLATES_SOURCE_URL=https://cloud.activepieces.com/api/v1/flow-templates
|
||||||
|
|
||||||
|
ports:
|
||||||
|
- "${ACTIVEPIECES_PORT:-8080}:80"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
- internal
|
||||||
|
|
||||||
|
depends_on:
|
||||||
|
- postgres
|
||||||
|
- redis
|
||||||
|
|
||||||
|
postgres:
|
||||||
|
image: ${ACTIVEPIECES_POSTGRES_IMAGE:-postgres:14.4}
|
||||||
|
restart: ${ACTIVEPIECES_RESTART:-unless-stopped}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ${VOL_PATH:-/data}/activepieces_dev/postgres:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
environment:
|
||||||
|
- POSTGRES_DB=activepieces
|
||||||
|
- POSTGRES_USER=postgres
|
||||||
|
- POSTGRES_PASSWORD=${AP_POSTGRES_PASSWORD:-changeme}
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
|
||||||
|
redis:
|
||||||
|
image: ${ACTIVEPIECES_REDIS_IMAGE:-redis:7.0.7}
|
||||||
|
restart: ${ACTIVEPIECES_RESTART:-unless-stopped}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- ${VOL_PATH:-/data}/activepieces_dev/redis:/data
|
||||||
|
|
||||||
|
networks:
|
||||||
|
- internal
|
||||||
|
|
||||||
|
networks:
|
||||||
|
proxy:
|
||||||
|
external: true
|
||||||
|
internal:
|
||||||
|
driver: bridge
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
# https://github.com/activepieces/activepieces/blob/main/docker-compose.yml
|
|
||||||
|
|
||||||
services:
|
|
||||||
activepieces:
|
|
||||||
image: ghcr.io/activepieces/activepieces:0.44.0
|
|
||||||
container_name: activepieces
|
|
||||||
restart: unless-stopped
|
|
||||||
## Enable the following line if you already use AP_EXECUTION_MODE with SANDBOXED or old activepieces, checking the breaking change documentation for more info.
|
|
||||||
## privileged: true
|
|
||||||
ports:
|
|
||||||
- '8080:80'
|
|
||||||
depends_on:
|
|
||||||
- postgres
|
|
||||||
- redis
|
|
||||||
env_file: .env
|
|
||||||
volumes:
|
|
||||||
- ./cache:/usr/src/app/cache
|
|
||||||
networks:
|
|
||||||
- activepieces
|
|
||||||
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:
|
|
||||||
- postgres_data:/var/lib/postgresql/data
|
|
||||||
networks:
|
|
||||||
- activepieces
|
|
||||||
redis:
|
|
||||||
image: 'redis:7.0.7'
|
|
||||||
container_name: redis
|
|
||||||
restart: unless-stopped
|
|
||||||
volumes:
|
|
||||||
- 'redis_data:/data'
|
|
||||||
networks:
|
|
||||||
- activepieces
|
|
||||||
volumes:
|
|
||||||
postgres_data:
|
|
||||||
redis_data:
|
|
||||||
networks:
|
|
||||||
activepieces:
|
|
||||||
+18
-25
@@ -1,29 +1,22 @@
|
|||||||
# It's advisable to consult the documentation and use the tools/deploy.sh to generate the passwords, keys, instead of manually filling them.
|
# ===== Paths =====
|
||||||
# https://github.com/activepieces/activepieces/blob/main/.env.example
|
VOL_PATH=/data
|
||||||
|
VOL_PROJECTS=/data/projects
|
||||||
|
|
||||||
AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
|
# ===== Activepieces =====
|
||||||
|
ACTIVEPIECES_IMAGE=ghcr.io/activepieces/activepieces:0.44.0
|
||||||
|
ACTIVEPIECES_RESTART=unless-stopped
|
||||||
|
ACTIVEPIECES_PORT=8080
|
||||||
|
ACTIVEPIECES_DOMAIN=localhost
|
||||||
|
|
||||||
## Random Long Password (Optional for community edition)
|
# ===== Required Secrets =====
|
||||||
AP_API_KEY=
|
# Generate with: openssl rand -hex 16
|
||||||
|
AP_ENCRYPTION_KEY=changeme
|
||||||
|
# Generate with: openssl rand -hex 32
|
||||||
|
AP_JWT_SECRET=changeme
|
||||||
|
|
||||||
## 256 bit encryption key, 32 hex character
|
# ===== Database =====
|
||||||
AP_ENCRYPTION_KEY=
|
AP_POSTGRES_PASSWORD=changeme
|
||||||
|
|
||||||
## JWT Secret
|
# ===== Redis =====
|
||||||
AP_JWT_SECRET=
|
# AP_REDIS_HOST=redis
|
||||||
|
# AP_REDIS_PORT=6379
|
||||||
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=postgres
|
|
||||||
AP_POSTGRES_PORT=5432
|
|
||||||
AP_POSTGRES_USERNAME=postgres
|
|
||||||
AP_POSTGRES_PASSWORD=
|
|
||||||
AP_EXECUTION_MODE=UNSANDBOXED
|
|
||||||
AP_REDIS_HOST=redis
|
|
||||||
AP_REDIS_PORT=6379
|
|
||||||
AP_FLOW_TIMEOUT_SECONDS=600
|
|
||||||
AP_TELEMETRY_ENABLED=true
|
|
||||||
AP_TEMPLATES_SOURCE_URL="https://cloud.activepieces.com/api/v1/flow-templates"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user