Guide to Install Jenkins Server Locally


If you’ve ever searched “How to install Jenkins” online, you’ve probably noticed a pattern: most results either point straight to the official documentation or dive into containerized setups using Docker or Kubernetes. While these are powerful methods, what about the basics?
What if you're just starting out and want to set up Jenkins directly on your local Linux machine—no containers, no cloud — just you and your terminal?
That’s exactly what this guide is about.
In this post, I’ll walk you through a simple, local installation of Jenkins on Linux, including setup, configuration, and running it for the first time. Whether you’re a beginner trying to learn Jenkins hands-on, or someone who prefers working outside containers for debugging or development, this post is for you.
When Jenkins finally runs locally without Docker:
Let’s get started!
Prerequisites
Minimum hardware requirements:
256 MB of RAM
1 GB of drive space (although 10 GB is a recommended minimum if running Jenkins as a Docker container)
Recommended hardware configuration for a small team:
4 GB+ of RAM
50 GB+ of drive space
Comprehensive hardware recommendations:
- Hardware: see the Hardware Recommendations page
Software requirements:
Java: see the Java Requirements page
I personally recommend Adoptium Temurin JDK 😉 – though OpenJDK also works just fine.
Web browser: see the Web Browser Compatibility page
For Windows operating system: Windows Support Policy
For Linux operating system: Linux Support Policy
For servlet containers: Servlet Container Support Policy
Debian/Ubuntu
Installation of Java
Jenkins requires Java to run, yet not all Linux distributions include Java by default. Additionally, not all Java versions are compatible with Jenkins.
There are multiple Java implementations which you can use. We will use Adoptium Temurin JDK
(👀 Pro tip: Most pros quietly roll with Adoptium Temurin. Now you know their secret.)
Update the Debian apt repository, install Adoptium Temurin, and check the installation with the commands:
sudo apt update
sudo apt install -y wget apt-transport-https gpg
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor | tee /etc/apt/trusted.gpg.d/adoptium.gpg > /dev/null
echo "deb https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
sudo apt update # update if you haven't already
sudo apt install temurin-21-jdk -y #Install the JDK version you require
java -version
Expected Output:
openjdk 21.0.7 2025-04-15 LTS
OpenJDK Runtime Environment Temurin-21.0.7+6 (build 21.0.7+6-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.7+6 (build 21.0.7+6-LTS, mixed mode, sharing)
If you have multiple Java versions installed:
#You can choose from the different installations of Java if you already have Java installed
sudo update-alternatives --config java
On Debian and Debian-based distributions like Ubuntu you can install Jenkins through the apt
package manager.
You can choose either the Jenkins Long Term Support(LTS) release or the Jenkins weekly release.
LTS: Recommended for stability and production use.
Weekly: Great for developers and contributors who want the latest updates.
If you need something Stable free from bugs for purposes like Production use you should go for LTS version.
sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
Weekly release
A new release is produced weekly to deliver bug fixes and features to users and plugin developers. It can be installed from the debian
apt repository.
sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc \
https://pkg.jenkins.io/debian/jenkins.io-2023.key
echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" \
https://pkg.jenkins.io/debian binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
Let’s go
systemctl --full status jenkins
Expected Output:
systemctl stop jenkins
systemctl --full status jenkins
sudo update-alternatives --config editor
# Select Vim
systemctl edit jenkins
Paste in this configuration:
[Service]
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/var/cache/jenkins/tmp/ -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York -Duser.timeZone=America/New_York"
Environment="JENKINS_OPTS=--pluginroot=/var/cache/jenkins/plugins"
Expected output:
# 🚀 Let's Get Started with Jenkins!
## Stopping Jenkins Service
systemctl stop jenkins
Checking Jenkins Status
systemctl --full status jenkins
Configure Your Editor
sudo update-alternatives --config editor
# Select Vim
Editing Jenkins Configuration
systemctl edit jenkins
Paste in this configuration:
[Service]
Environment="JAVA_OPTS=-Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir=/var/cache/jenkins/tmp/ -Dorg.apache.commons.jelly.tags.fmt.timeZone=America/New_York -Duser.timeZone=America/New_York"
Environment="JENKINS_OPTS=--pluginroot=/var/cache/jenkins/plugins"
🎉 Success Message
Successfully installed edited file '/etc/systemd/system/jenkins.service.d/override.conf'.
ubuntu:~$ mkdir -p /var/cache/jenkins/tmp
ubuntu:~$ chown -R jenkins:jenkins /var/cache/jenkins/tmp
ubuntu:~$ systemd-analyze verify jenkins.service
ubuntu:~$ systemctl start jenkins
ubuntu:~$ systemctl --full status jenkins
Now, you should see Jenkins Service up and running.
Copy the highlighted string like in this picture. This is your password for the local Jenkins instance you have just created.
Once Jenkins is running:
Open your browser.
Go to http://localhost:8080.
Paste the password shown in the terminal
Create your first Admin User
Click Start Using Jenkins
Creating the first administrator user
Finally, after customizing Jenkins with plugins, Jenkins asks you to create your first administrator user.
When the Create First Admin User page appears, specify the details for your administrator user in the respective fields and click Save and Finish.
When the Jenkins is ready page appears, click Start using Jenkins.
Notes:This page may indicate Jenkins is almost ready! instead and if so, click Restart.
If the page does not automatically refresh after a minute, use your web browser to refresh the page manually.
If required, log in to Jenkins with the credentials of the user you just created and you are ready to start using Jenkins!
🎉 That’s it — your Jenkins server is now up and running locally! From here, you’re all set to explore pipelines, plugins, and automation workflows.
Thanks for reading — and happy building with Jenkins!
Subscribe to my newsletter
Read articles from Yash Pal directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Yash Pal
Yash Pal
Hey I am a budding developer who is passionate to learn tech and explore the domains Computer Science has to offer. I also like to contribute to Open Source, help others and also learn from seasoned engineers in the process.