Quick Start
Deploy Activepieces with a single command:This command requires separate PostgreSQL and Redis containers. For an all-in-one solution, use Docker Compose.
Understanding the Docker Image
Image Details
- Registry: GitHub Container Registry (ghcr.io)
- Repository:
ghcr.io/activepieces/activepieces - Base Image:
node:20.19-bullseye-slim - Architecture: Multi-stage build for optimized size
What’s Included
1
System Dependencies
The image includes essential system packages:
- Python 3: For native module compilation
- Build tools: g++, make, git
- PDF support: poppler-utils for PDF processing
- Bun: Fast package manager (v1.3.1)
- PM2: Process manager for scaling
2
Runtime Components
Application components:
- API Server: Backend application (Node.js + Fastify)
- Frontend: Angular web app served by Nginx
- Engine: Workflow execution engine
- isolated-vm: Sandboxing library for secure code execution
3
Configuration
- Nginx: Serves frontend on port 80
- Entrypoint: Custom script for environment setup
- Volume:
/usr/src/app/cachefor temporary files
Dockerfile Breakdown
Here’s how the Activepieces image is built:Stage 1: Base Image
Stage 2: Build
Stage 3: Runtime
Entrypoint Script
The container uses a custom entrypoint script that:Port Configuration
The container exposes port 80 internally, which you map to your host:- Port 8080 (Default)
- Port 80 (HTTP)
- Custom Port
Volume Mounts
Mount volumes to persist data:The
/usr/src/app/cache directory stores temporary files during workflow execution. This should be persisted to avoid data loss.Environment Variables
See the Environment Variables page for a complete list of configuration options. Minimum required variables:Using Environment Files
Create a.env file and use it with Docker:
Health Checks
Add health checks to your container:Container Management
- Start/Stop
- Logs
- Shell Access
Updating Activepieces
1
Pull latest image
2
Stop current container
3
Start new container
Troubleshooting
Container won't start
Container won't start
Check logs for errors:Common issues:
- Missing required environment variables
- Cannot connect to PostgreSQL or Redis
- Port already in use
Cannot access on port 8080
Cannot access on port 8080
Verify port mapping:Check if Nginx is running:
High memory usage
High memory usage
Check container stats:Consider limiting memory:
Next Steps
Configure Environment
Learn about all configuration options
Setup Database
Configure PostgreSQL for production
Docker Compose
Upgrade to multi-container setup
Scaling
Scale your deployment