---
title: "Deploy Jenkins"
description: "Jenkins LTS CI/CD server with a generated admin login and suggested plugins"
category: "Automation"
url: https://railway.com/deploy/jenkins-2
---

# Deploy Jenkins

Jenkins LTS CI/CD server with a generated admin login and suggested plugins

**[Deploy Jenkins on Railway](https://railway.com/template/jenkins-2)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/jenkins-2/manifest.json

- **Creator:** Agaz Self-Host
- **Category:** Automation

## Template content

### Jenkins https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/svg/jenkins.svg

- **Image:** jenkins/jenkins:2.580.2-lts-jdk21@sha256:74401de6a6f92e1afe1b02d1c8e3d0c33f263bfb5275dd8813f9150355f2367b
- **Start command:** `sh -c 'echo IyEvYmluL3NoCiMgUmFpbHdheSBzdGFydCBzY3JpcHQgZm9yIGplbmtpbnMvamVua2lucyAoaW5saW5lZCBpbiB0aGUgc3RhcnQgY29tbWFuZCkuCnNldCAtZXUKSD0vdmFyL2plbmtpbnNfaG9tZQppZiBbICIkKGlkIC11KSIgPSAwIF07IHRoZW4KICAjIFJhaWx3YXkgbW91bnRzIHZvbHVtZXMgYXMgcm9vdDogaGFuZCB0aGUgdm9sdW1lIHRvIHRoZSBqZW5raW5zIHVzZXIsIHRoZW4gZHJvcCByb290LgogIFsgIiQoc3RhdCAtYyAldSAiJEgiKSIgPSAxMDAwIF0gfHwgY2hvd24gLVIgMTAwMDoxMDAwICIkSCIKICBleGVjIHNldHByaXYgLS1yZXVpZD0xMDAwIC0tcmVnaWQ9MTAwMCAtLWluaXQtZ3JvdXBzIHNoICIkMCIgIiRAIgpmaQpleHBvcnQgSE9NRT0iJEgiIFVTRVI9amVua2lucwp0b3VjaCAiJEgvLnciIDI+L2Rldi9udWxsIHx8IHsgZWNobyAiRVJST1I6ICRIIGlzIG5vdCB3cml0YWJsZS4gU2V0IFJBSUxXQVlfUlVOX1VJRD0wIG9uIHRoaXMgc2VydmljZS4iID4mMjsgZXhpdCAxOyB9CnJtIC1mICIkSC8udyIKWyAtbiAiJHtKRU5LSU5TX0FETUlOX1BBU1NXT1JEOi19IiBdIHx8IHsgZWNobyAiRVJST1I6IHNldCBKRU5LSU5TX0FETUlOX1BBU1NXT1JELiIgPiYyOyBleGl0IDE7IH0KbWtkaXIgLXAgIiRIL2Nhc2MiICIkSC9wbHVnaW5zIgppZiBbICEgLWYgIiRILy5yYWlsd2F5LXBsdWdpbnMtaW5zdGFsbGVkIiBdOyB0aGVuCiAgZWNobyAiRmlyc3Qgc3RhcnQ6IGluc3RhbGxpbmcgdGhlIHN1Z2dlc3RlZCBwbHVnaW5zIGFuZCBDb25maWd1cmF0aW9uIGFzIENvZGUuLi4iCiAgamVua2lucy1wbHVnaW4tY2xpIC0tcGx1Z2luLWRvd25sb2FkLWRpcmVjdG9yeSAiJEgvcGx1Z2lucyIgLS1wbHVnaW5zIGNvbmZpZ3VyYXRpb24tYXMtY29kZSBcCiAgICBjbG91ZGJlZXMtZm9sZGVyIGFudGlzYW15LW1hcmt1cC1mb3JtYXR0ZXIgYnVpbGQtdGltZW91dCBjcmVkZW50aWFscy1iaW5kaW5nIHRpbWVzdGFtcGVyIHdzLWNsZWFudXAgXAogICAgYW50IGdyYWRsZSB3b3JrZmxvdy1hZ2dyZWdhdG9yIGdpdGh1Yi1icmFuY2gtc291cmNlIHBpcGVsaW5lLWdpdGh1Yi1saWIgcGlwZWxpbmUtZ3JhcGgtdmlldyBnaXQgXAogICAgc3NoLXNsYXZlcyBtYXRyaXgtYXV0aCBsZGFwIGVtYWlsLWV4dCBtYWlsZXIgZGFyay10aGVtZQogIHRvdWNoICIkSC8ucmFpbHdheS1wbHVnaW5zLWluc3RhbGxlZCIKZmkKQz0iJEgvY29uZmlnLnhtbCIKIyBKZW5raW5zIGNvbmZpZ3VyYXRpb24gYXMgY29kZSwgd3JpdHRlbiBvbiBldmVyeSBzdGFydC4KSj0kKCB7CiAgaWYgWyAhIC1mICIkQyIgXSB8fCAhIGdyZXAgLXEgJzxzZWN1cml0eVJlYWxtJyAiJEMiIHx8IGdyZXAgLXFFICdIdWRzb25Qcml2YXRlU2VjdXJpdHlSZWFsbXxTZWN1cml0eVJlYWxtXCROb25lJyAiJEMiOyB0aGVuCiAgICAjIEplbmtpbnMnIG93biB1c2VyIGRhdGFiYXNlOiB0aGUgYWRtaW4gbG9naW4gY29tZXMgZnJvbSB0aGUgc2VydmljZSB2YXJpYWJsZXMsIHNpZ24tdXAgc3RheXMgb2ZmLgogICAgIyBTa2lwcGVkIGlmIHlvdSBzd2l0Y2ggdG8gYW5vdGhlciByZWFsbSAoTERBUCwgLi4uKSBpbiB0aGUgVUkuCiAgICBlY2hvICcgIHNlY3VyaXR5UmVhbG06JwogICAgZWNobyAnICAgIGxvY2FsOicKICAgIGVjaG8gJyAgICAgIGFsbG93c1NpZ251cDogZmFsc2UnCiAgICBlY2hvICcgICAgICB1c2VyczonCiAgICBlY2hvICcgICAgICAgIC0gaWQ6ICIke0pFTktJTlNfQURNSU5fVVNFUjotYWRtaW59IicKICAgIGVjaG8gJyAgICAgICAgICBwYXNzd29yZDogIiR7SkVOS0lOU19BRE1JTl9QQVNTV09SRH0iJwogIGZpCiAgaWYgWyAhIC1mICIkQyIgXSB8fCAhIGdyZXAgLXEgJzxhdXRob3JpemF0aW9uU3RyYXRlZ3knICIkQyIgfHwgZ3JlcCAtcUYgJ0F1dGhvcml6YXRpb25TdHJhdGVneSRVbnNlY3VyZWQnICIkQyI7IHRoZW4KICAgICMgT25seSB3aGlsZSBubyBhY2Nlc3MgY29udHJvbCBpcyBzZXQgKGZpcnN0IHN0YXJ0KSwgc28gbGF0ZXIgY2hhbmdlcyBtYWRlIGluIHRoZSBVSSBhcmUga2VwdC4KICAgIGVjaG8gJyAgYXV0aG9yaXphdGlvblN0cmF0ZWd5OicKICAgIGVjaG8gJyAgICBsb2dnZWRJblVzZXJzQ2FuRG9Bbnl0aGluZzonCiAgICBlY2hvICcgICAgICBhbGxvd0Fub255bW91c1JlYWQ6IGZhbHNlJwogIGZpCn0gKQp7CiAgWyAteiAiJEoiIF0gfHwgcHJpbnRmICdqZW5raW5zOlxuJXNcbicgIiRKIgogIGlmIFsgLW4gIiR7UkFJTFdBWV9QVUJMSUNfRE9NQUlOOi19IiBdOyB0aGVuCiAgICBlY2hvICd1bmNsYXNzaWZpZWQ6JwogICAgZWNobyAnICBsb2NhdGlvbjonCiAgICBlY2hvICcgICAgdXJsOiAiaHR0cHM6Ly8ke1JBSUxXQVlfUFVCTElDX0RPTUFJTn0vIicKICBmaQp9ID4gIiRIL2Nhc2MvcmFpbHdheS55YW1sIgojIFNhZmV0eSBuZXQ6IG5ldmVyIHNlcnZlIGEgSmVua2lucyB3aXRob3V0IGxvZ2luIChlLmcuIGlmIGEgcGx1Z2luIGZhaWxlZCB0byBsb2FkKS4KbWtkaXIgLXAgIiRIL2luaXQuZ3Jvb3Z5LmQiCmNhdCA+ICIkSC9pbml0Lmdyb292eS5kL3JhaWx3YXktcmVxdWlyZS1zZWN1cml0eS5ncm9vdnkiIDw8J0cnCmltcG9ydCBodWRzb24uc2VjdXJpdHkuKgpkZWYgaiA9IGplbmtpbnMubW9kZWwuSmVua2lucy5nZXQoKQppZiAoai5zZWN1cml0eVJlYWxtID09IFNlY3VyaXR5UmVhbG0uTk9fQVVUSEVOVElDQVRJT04gfHwgai5hdXRob3JpemF0aW9uU3RyYXRlZ3kgaW5zdGFuY2VvZiBBdXRob3JpemF0aW9uU3RyYXRlZ3kuVW5zZWN1cmVkKSB7CiAgcHJpbnRsbiAiUmFpbHdheSB0ZW1wbGF0ZTogSmVua2lucyBoYXMgbm8gbG9naW4gY29uZmlndXJlZCwgc3RvcHBpbmcgaW5zdGVhZCBvZiBydW5uaW5nIG9wZW4uIgogIFN5c3RlbS5leGl0KDEpCn0KRwpleHBvcnQgQ0FTQ19KRU5LSU5TX0NPTkZJRz0iJEgvY2FzYy9yYWlsd2F5LnlhbWwiCmV4cG9ydCBKQVZBX09QVFM9Ii1EamVua2lucy5pbnN0YWxsLnJ1blNldHVwV2l6YXJkPWZhbHNlICR7SkFWQV9PUFRTOi19IgpleHBvcnQgSkVOS0lOU19PUFRTPSItLWh0dHBQb3J0PTgwODAgJHtKRU5LSU5TX09QVFM6LX0iCmV4ZWMgL3Vzci9iaW4vdGluaSAtcyAtLSAvdXNyL2xvY2FsL2Jpbi9qZW5raW5zLnNoCg== | base64 -d > /tmp/railway-start.sh && exec sh /tmp/railway-start.sh'`
- **Health check:** /login
- **Public domain:** Yes

## Documentation

# Deploy and Host Jenkins on Railway

Jenkins is an open-source automation server for continuous integration and delivery. You define jobs or pipelines (as a `Jenkinsfile` or in the web UI) that check out code, build it, run tests, and deploy it. Hundreds of plugins connect it to Git hosts, build tools, chat, and cloud services.

## About Hosting Jenkins

This template runs the official `jenkins/jenkins` LTS image (2.580.2, JDK 21), pinned by digest, as one service with a volume at `/var/jenkins_home` for jobs, build history, plugins, and credentials. On the first start it installs the plugins the setup wizard suggests, plus Configuration as Code, so the wizard is skipped. The admin account comes from a generated password, sign-up is off, and anonymous users see nothing. Jenkins runs as the `jenkins` user, not root. Builds run on the built-in node with two executors. Railway handles HTTPS on the public domain.

## Common Use Cases

* Build and test every push and pull request from GitHub, GitLab, or Bitbucket with a `Jenkinsfile`
* Run scheduled jobs: nightly builds, backups, reports, or scripts on a cron
* Deploy apps from a pipeline by calling CLIs or APIs (Railway, cloud providers, SSH to servers)

## Dependencies for Jenkins Hosting

* A Railway volume for `JENKINS_HOME` at `/var/jenkins_home` (included)
* Internet access on the first start to download the plugins from the Jenkins update center

### Deployment Dependencies

* [Jenkins Docker installation guide](https://www.jenkins.io/doc/book/installing/docker/)
* [Jenkins LTS changelog, 2.580.2](https://www.jenkins.io/changelog-stable/#v2.580.2)
* [Image `jenkins/jenkins` on Docker Hub](https://hub.docker.com/r/jenkins/jenkins)
* [Configuration as Code plugin](https://plugins.jenkins.io/configuration-as-code/)
* [Jenkins source](https://github.com/jenkinsci/jenkins)

### Implementation Details

**Log in:** open your Railway domain and sign in as `admin` with the password in the service's Variables tab (`JENKINS_ADMIN_PASSWORD`). The first start takes about a minute while the plugins download.

**What the start command does on every start:** it applies `JENKINS_ADMIN_USER` (default `admin`) and `JENKINS_ADMIN_PASSWORD` to Jenkins' own user database, keeps sign-up off, and sets the Jenkins URL to your Railway domain. To change the admin password, change the variable and redeploy. A password changed in the UI is reset at the next start. Other users you create in the UI are kept. The rule "logged-in users can do anything" is only set while no access control exists, so a change you make later (for example to matrix-based security) is kept. If Jenkins ever starts without a login configured, it stops instead of running open.

**What kinds of jobs work:** builds run inside the Jenkins container on the built-in node, as the `jenkins` user, with JDK 21, Git, and a POSIX shell. That covers shell steps, Git checkouts, Java builds with the Gradle or Maven wrapper (`./gradlew`, `./mvnw`), and tools Jenkins can download for you under Manage Jenkins → Tools (Maven, Gradle, Ant). Railway has no Docker daemon, so `docker build`, `agent { docker … }`, and Docker-in-Docker don't work, and there is no root for `apt-get`. For those, connect your own agent machine as an inbound agent in WebSocket mode, which works over the public HTTPS domain (the TCP agent port 50000 isn't exposed).

**Plugins:** update them from Manage Jenkins → Plugins as usual. They live on the volume, so updates survive redeploys.

## Why Deploy Jenkins on Railway?


Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Jenkins on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.



## Similar templates

- [N8N Main + Worker](https://railway.com/deploy/n8n-main-worker) — Deploy and Host N8N with Inactive worker.
- [Evolution API with n8n](https://railway.com/deploy/evolution-api-with-n8n) — Automate WhatsApp workflows with Evolution API, n8n, and Postgres.
- [Postgres Backup](https://railway.com/deploy/postgres-s3-backups) — Cron-based PostgreSQL backup to bucket storage

Open this page in a browser: https://railway.com/deploy/jenkins-2
