pullbaseio/pullbase). This guide shows how to deploy it with Docker Compose, but the same environment variables apply if you run the image under Kubernetes, Nomad, or another orchestrator.
Prerequisites
- Docker 24.0+ with the Compose plugin (or an equivalent container runtime)
- PostgreSQL 15+ (container service or managed instance)
- Git repository containing your environment configuration (
config.yaml) - (Production) Reverse proxy for TLS termination
For production clusters, place PostgreSQL on managed infrastructure, store secrets in a vault, and terminate TLS at a reverse proxy. The examples below target a single host for clarity.
Directory layout
config/holds the GitHub App private key or other secrets you mount read-only.logs/can be bound if you prefer file-based log collection; otherwise rely ondocker logs.
Compose template
docker-compose.yml
.env:
Launch the stack
1
Start services
2
Verify health
3
Tail logs
TLS configuration
Pullbase supports two approaches for TLS in production.Option 1: Native TLS
Enable native TLS by adding these environment variables to your Compose file:--generate-dev-certs to auto-generate self-signed certificates.
Option 2: Reverse proxy
For existing infrastructure, place Pullbase behind a reverse proxy that handles TLS:NGINX example
Traefik example
External databases
Using Amazon RDS, Azure Database for PostgreSQL, or another managed service?- Create the database and grant Pullbase a dedicated user.
- Set
PULLBASE_DB_HOST,PULLBASE_DB_USER,PULLBASE_DB_PASSWORD, andPULLBASE_DB_NAMEto match the instance. - Enable TLS by setting
PULLBASE_DB_SSLMODE=requireorPULLBASE_DB_SSLMODE=verify-full. - Remove the
dbservice fromdocker-compose.yml.
Upgrades
- Pin the image tag (for example,
pullbaseio/pullbase:vX.Y.Z) and update intentionally. - Run
docker compose pull && docker compose up -dto roll forward with minimal downtime. - Review release notes for database migrations and watch container logs during the upgrade.