Skip to main content
The quickest way to get Activepieces running is using a single Docker container. This is ideal for development, testing, or small-scale production deployments.
For production deployments with multiple workflows, we recommend using Docker Compose or Kubernetes for better scalability and separation of concerns.

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/cache for 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:
Access at: http://localhost:8080

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:
Check container health:

Container Management

Updating Activepieces

1

Pull latest image

2

Stop current container

3

Start new container

Always backup your database before updating to a new version.

Troubleshooting

Check logs for errors:
Common issues:
  • Missing required environment variables
  • Cannot connect to PostgreSQL or Redis
  • Port already in use
Verify port mapping:
Check if Nginx is running:
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