Self-hosted CI/CD control plane
429
Localzet Deployer is a self-hosted CI/CD control plane for teams that want to run deployments from GitHub Webhooks without depending on GitHub-hosted build minutes.
It is designed for Docker- and Portainer-based environments where you want to receive a webhook, build and publish an image, redeploy a stack, and keep operational history in one place.
push webhooksX-Hub-Signature-256repository + branch to a project configurationA common setup looks like this:
push webhook to Localzet DeployerThe container image provides:
External dependencies are expected to be provided by your runtime stack:
mkdir -p /opt/deployer
curl -fsSL https://raw.githubusercontent.com/localzet/deployer/main/config/app.prod.toml.example \
-o /opt/deployer/app.toml
/opt/deployer/app.toml and set:github_webhook_secretauth.api_tokenservices:
orchestrator:
image: localzet/deployer:latest
environment:
CICD_CONFIG: /app/config/app.toml
RUST_LOG: info,tower_http=info
ports:
- "8080:8080"
volumes:
- /opt/deployer:/app/config:ro
- cicd-workspace:/workspace/repos
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:16-bookworm
environment:
POSTGRES_DB: cicd
POSTGRES_USER: cicd
POSTGRES_PASSWORD: cicd
volumes:
- postgres-data:/var/lib/postgresql/data
restart: unless-stopped
registry:
image: registry:2
volumes:
- registry-data:/var/lib/registry
restart: unless-stopped
volumes:
cicd-workspace:
postgres-data:
registry-data:
docker compose up -d
http://localhost:8080
This image is intended to run with access to:
/var/run/docker.sockWithout Docker socket access, build and image-management steps will not work.
GET /healthzGET /api/dashboardGET /api/projectsGET /api/jobsGET /api/jobs/:idGET /api/jobs/:id/eventsGET /api/deploymentsPOST /api/projects/:id/redeployPOST /api/deployments/:id/rollbackPOST /api/jobs/:id/retryPOST /api/jobs/:id/cancelPOST /api/webhooks/githubRuntime behavior is controlled through app.toml.
The configuration supports:
Pipeline step templates support variables such as:
$IMAGE_REFERENCE$STABLE_IMAGE_REFERENCE$JOB_ACTION$SOURCE_DEPLOYMENT_IDRecommended tags:
latestmainsha-<shortsha>v1.0.0GitHub repository:
https://github.com/localzet/deployer
GNU Affero General Public License v3.0 only.
Content type
Image
Digest
sha256:431731fc4…
Size
82.5 MB
Last updated
6 months ago
docker pull localzet/deployer