Quick Start
1
Create docker-compose.yml
Download the official Docker Compose configuration:
2
Create .env file
Copy the example environment file:
3
Configure environment
Edit
.env and set required values:4
Start services
Docker Compose Configuration
Here’s the officialdocker-compose.yml from the Activepieces repository:
docker-compose.yml
Service Breakdown
Activepieces Service
service
Main application containerConfiguration:
- Image:
ghcr.io/activepieces/activepieces:0.79.0 - Ports: 8080 (host) → 80 (container)
- Restart Policy:
unless-stopped(auto-restart on failure) - Dependencies: Waits for PostgreSQL and Redis
- Volumes:
./cachefor temporary files
The
depends_on directive ensures PostgreSQL and Redis start before Activepieces, but doesn’t wait for them to be ready. The application will retry connections on startup.PostgreSQL Service
service
Database for storing workflows, executions, and user dataConfiguration:
- Image:
postgres:14.4 - Volume: Named volume
postgres_datafor persistence - Environment: Database credentials from
.envfile
Redis Service
service
Job queue for background processing using BullMQConfiguration:
- Image:
redis:7.0.7 - Volume: Named volume
redis_datafor persistence - Port: 6379 (internal only, not exposed to host)
Environment Configuration
Create a.env file with the following minimum configuration:
.env
Managing Services
Starting Services
- Start All
- Start Specific Service
- Rebuild and Start
Stopping Services
- Stop All
- Stop Specific Service
- Stop and Remove Volumes
Viewing Logs
Networking
Docker Compose creates a private network for service communication:- Activepieces connects to PostgreSQL using hostname
postgres - Activepieces connects to Redis using hostname
redis - Services communicate internally without exposing ports to host
Data Persistence
Three types of volumes are used:- Named Volumes
- Bind Mounts
Docker-managed volumes for database data:Location: Inspect volume:
/var/lib/docker/volumes/List volumes:Backup and Restore
Database Backup
1
Backup PostgreSQL
2
Restore PostgreSQL
Volume Backup
Production Optimizations
Resource Limits
Add resource constraints to prevent containers from using too much memory/CPU:docker-compose.yml
Health Checks
Add health checks to ensure services are running correctly:docker-compose.yml
Logging Configuration
Limit log file size to prevent disk issues:docker-compose.yml
Updating Activepieces
1
Pull latest images
2
Backup database
3
Restart with new images
4
Verify update
Troubleshooting
Services won't start
Services won't start
Check service status:View logs for errors:Common issues:
- Port 8080 already in use
- Missing or invalid
.envfile - Insufficient disk space for volumes
Cannot connect to database
Cannot connect to database
Verify PostgreSQL is running:Check database logs:Test connection:
Redis connection errors
Redis connection errors
Verify Redis is running:Test Redis connection:Should return:
PONGDisk space issues
Disk space issues
Check disk usage:Clean up unused resources:Check volume sizes:
Advanced Configuration
Using External PostgreSQL
If you have an existing PostgreSQL server:docker-compose.yml
Using External Redis
If you have an existing Redis server:docker-compose.yml
Multiple Activepieces Instances
Scale the Activepieces service for high availability:docker-compose.yml
Next Steps
Environment Variables
Configure all available options
Database Setup
Advanced PostgreSQL configuration
Scaling
Scale your deployment
Storage
Configure S3 storage