Pull and run the latest pre-built image from GitHub Container Registry:
# Pull the latest image
docker pull ghcr.io/pbinitiative/zenbpm-aio:latest
# Run the container
docker run -p 3000:80 -p 8080:8080 -p 9090:9090 \
-v ./forms:/app/forms \
-v ./node-1:/app/zenbpm/node-1 \
--name zenbpm-aio \
ghcr.io/pbinitiative/zenbpm-aio:latestIf you want to build the image yourself:
docker build -t zenbpm-aio .
docker run -p 3000:80 -p 8080:8080 -p 9090:9090 -v ./forms:/app/forms -v ./node-1:/app/zenbpm/node-1 --name zenbpm-aio zenbpm-aioThe following tags are available on GitHub Container Registry:
ghcr.io/pbinitiative/zenbpm-aio:latest- Latest stable releaseghcr.io/pbinitiative/zenbpm-aio:main- Latest development buildghcr.io/pbinitiative/zenbpm-aio:v1.0.0- Specific version releasesghcr.io/pbinitiative/zenbpm-aio:main-<sha>- Specific commit builds
| Service | Port | Description |
|---|---|---|
| Nginx | 3000 | Serving frontend and providing reverse proxy for backend |
| ZenBPM REST API | 8080 | |
| ZenBPM gRPC API | 9090 |
| Volume | Description |
|---|---|
/app/forms |
Form definitions and metadata |
/app/zenbpm/node-1 |
Persistent engine state storage |
| Variable | Default Value | Description |
|---|---|---|
PROFILE |
DEV |
Application profile |
CONFIG_FILE |
/zenhome/conf/zenbpm/conf-dev.yaml |
ZenBPM configuration file path |
This project uses GitHub Actions to automatically build and publish Docker images to GitHub Container Registry (ghcr.io). Images are built:
- On every push to the
mainbranch (tagged aslatestandmain) - On every pull request (for testing, not published)
- On every tagged release (tagged with the version number)
The workflow includes:
- Multi-platform builds (AMD64 and ARM64)
- Vulnerability scanning with Trivy
- Automated tagging based on Git references
- Build caching for faster subsequent builds
All published images are automatically scanned for vulnerabilities using Trivy. Security scan results are available in the GitHub Security tab of this repository.