activepieces is now in current template format

This commit is contained in:
2026-07-14 21:36:21 -07:00
parent 566773bfd7
commit 97989dc907
4 changed files with 161 additions and 76 deletions
+74 -7
View File
@@ -1,9 +1,76 @@
# Active Pieces
# Activepieces
* [Dockerhub Tags](https://hub.docker.com/r/activepieces/activepieces/tags)
* [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
## Overview
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
+69
View File
@@ -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
-44
View File
@@ -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
View File
@@ -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.
# https://github.com/activepieces/activepieces/blob/main/.env.example
# ===== Paths =====
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)
AP_API_KEY=
# ===== Required Secrets =====
# 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
AP_ENCRYPTION_KEY=
# ===== Database =====
AP_POSTGRES_PASSWORD=changeme
## 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=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"
# ===== Redis =====
# AP_REDIS_HOST=redis
# AP_REDIS_PORT=6379