Skip to content

Server requirements

ProfileContainer memory limitsRAM to plan for
Default (Traefik, runtime, designer, docs, Kafka, Pulsar)5,184 MiB (Traefik has no limit)8 GB
--profile multi-broker (+ second Pulsar)6,720 MiB12 GB

The limits are the most each container may use (deploy.resources.limits in docker-compose.yml); the host also needs room for Traefik, the operating system and Docker. The runtime’s JVM takes half of its 2,048 MiB limit as its maximum heap; if your flows need more, raise the runtime’s limit and the host’s RAM with it.

  • Docker Engine 24.0+ (Compose v2 plugin included)
  • Linux — any modern distro. We test on Ubuntu 24.04.
  • macOS / Windows work for development via Docker Desktop, but Let’s Encrypt provisioning needs port 80/443 reachable from the public internet, which most laptops aren’t.

The stack binds nothing on the host directly — Traefik is the only ingress. Make sure these are open:

PortProtocolSourcePurpose
80TCP0.0.0.0/0Let’s Encrypt HTTP-01 + HTTP→HTTPS redirect
443TCP0.0.0.0/0TLS-terminated traffic to all services

If you’re behind a load balancer (AWS ALB, Cloudflare etc.), terminate TLS at the LB and forward port 80+443 to your server.

The standalone docker-compose.yml creates its own pipebase network; only coolify/docker-compose.coolify.yml joins the external coolify network, which Coolify creates.

Two Docker volumes hold persistent data:

  • <project>_pipebase-runtime-routes — deployed Camel YAML files
  • <project>_pipebase-designer-flows — designer’s flow definitions + layouts

init.sh doesn’t create these — Compose creates them on first up and prefixes them with the project name, <project>, which defaults to the name of the directory that holds docker-compose.yml.

docker compose down -v deletes these volumes; back them up first (Backup).

Pipebase is operated by Jobu 42 Holding ApS · Company no. 44796988 Privacy