Dev Tools 1 service 2 GiB RAM 10 GB disk

Jenkins

The automation server that still runs the world’s CI - pipelines as code, 1,800+ plugins, your minutes are free.

One-click deploy, from $13/mo on a Miget plan.

Jenkins is unfashionable and unkillable: pipelines as code, an integration for literally everything, and two decades of answers on every error message you will ever see. For teams that want CI they own - cron-scheduled jobs, deploy pipelines, glue automation - it remains the pragmatic choice.

This template runs the LTS controller with its built-in node, which executes jobs in-controller: the honest, right-sized shape for small teams. Everything (config, plugins, jobs, history) persists on the jenkins_home volume.

The PaaS reality is documented rather than hidden: there is no Docker socket, so jobs build artifacts with toolchains in the container and build images with rootless tools (kaniko-style) - and when builds outgrow the controller, inbound agents deploy as separate apps in the same project.

#what you get

  • Declarative pipelines (Jenkinsfile) and classic freestyle jobs
  • 1,800+ plugins: every SCM, notifier, and deploy target
  • Webhooks from GitHub, GitLab, and the catalogue’s forgejo template
  • Everything on one volume - trivially backupable
  • Scale out later with inbound agents as separate apps
  • No CI-minute meter - your plan is the only bill

#topology

ServiceRolePublic
jenkinscontroller + built-in node (:5000)yes

#miget sizing

// this stack needs

2 GiB RAM · 10 GB disk · 1 service

2 GiB with a 1.5 GB JVM heap suits a small team’s pipelines. Heavy parallel builds want a bigger plan or inbound agents on their own apps - scale the workers, not the controller.

Hobby - recommended fit

$13/mo

1 vCPU · 2 GiB · 50 GiB disk

Headroom for your own apps: 2 GiB at $19/mo

Professional - production

$22/mo

1 vCPU · 2 GiB · 10 GiB disk

Dedicated resources, production SLOs - plan details

One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.

#vs. other PaaS

Estimated monthly cost of running this exact stack (2 GiB RAM, 10 GB disk, 1 container) elsewhere, from published June 2026 rates.

PlatformEst. monthlyNotes
Miget $13 flat compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan
Heroku ~$100 no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown
DO App Platform ~$29 no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here)
Render ~$28 per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service
Railway ~$22 usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top
Fly.io ~$13 cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra

Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.

#deploy it

On Miget

  1. Create a Compose Stack in app.miget.com pointing at the templates repository
  2. Set the stack path to jenkins
  3. No required variables - deploy as-is
  4. Deploy. Miget layers compose.miget.yaml (RAM, privacy, volumes, managed services) automatically

Locally first?

Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:

git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/jenkins
docker compose up -d

Same files, same behavior. The template README covers connection strings and scaling notes.

#faq

Why Jenkins in 2026 instead of GitHub Actions?

Minutes and ownership. Hosted CI meters every build minute past the included quota; Jenkins on a $13/month plan runs unlimited jobs. It also does things Actions does not: long-lived stateful jobs, cross-repo orchestration, and pipelines against forges you self-host - like the forgejo template next to it.

Can jobs build Docker images here?

Not with the Docker daemon - the platform exposes no socket. Use rootless image builders (kaniko, buildah) inside jobs, or let Miget itself build images from your repos. Plain build/test/deploy jobs need nothing special.

How do I add build capacity?

Deploy jenkins/inbound-agent as a separate app in the project, create a node in the controller UI, and start the agent with the node secret pointing at http://jenkins:5000. Agents scale and get RAM independently of the controller.

Where is the initial admin password?

In /var/jenkins_home/secrets/initialAdminPassword inside the container - read it from the app shell or logs on first boot, then complete the setup wizard. After that, auth is whatever you configure (local users, OIDC via plugin, even the keycloak template).

Ship Jenkins today

One compose stack, 2 GiB of RAM, from $13/month flat, and it runs on your laptop with the same files.