How to Create Custom Service Systemd on Linux

Play this article

As developers, we often want to create a service system that can run on background and then launch a service every system startup. These services can be anything, maybe you have python scripts, bash scripts, or node js scripts, or maybe like this example, we create a custom service for Metabase (

Metabase can be launched from the user terminal by typing java -jar metabase.jar but if every user logout or close the terminal Metabase will stop immediately.


Our goal is simple we want to create services for Metabase and then control it using systemd for example systemctl start metabase.service

Step 1: Goto systemd folder

Find your user-defined services. Ubuntu was at /etc/systemd/system/

Step 2: Create .service files

Create a text file with your favorite text editor name it whatever_you_want.service

Step 3: .service example

Put the following Template to the file whatever_you_want.service

Description=Metabase Daemon


ExecStart=/usr/bin/java -jar -Xmx512m /usr/local/bin/metabase/metabase.jar





  1. Unit: Every service is called a unit and gives a description with a name for this example is Metabase Daemon

  2. PID: process identifier and location is on /run folder.

  3. Working directory: Where your application folder is located

  4. User & Group: user and group your operating system

  5. ExecStart: Command to execute. You must specify the full path to the executable. For example, if our application is running using java my_app.jar you must specify /usr/bin/java. if you are not sure where the executable is located you can run which java on terminal

  6. Standard Output and Standart Error: For logging purposes, every application returned value to the user and every application faces errors

  7. Normally defines a system state where all network services are started up and the system will accept logins, but a local GUI is not started. so for simplicity here is the rule of thumb: Use if your application is not GUI and use if your application is GUI

Did you find this article valuable?

Support Hidayah Ramadlana by becoming a sponsor. Any amount is appreciated!