2017-11-26 14:44:32 -07:00
---
date: "2017-07-21T12:00:00+02:00"
title: "Run as service in Linux"
slug: "linux-service"
2023-04-04 07:47:31 -06:00
weight: 40
2020-12-08 23:47:06 -07:00
toc: false
2017-11-26 14:44:32 -07:00
draft: false
menu:
sidebar:
parent: "installation"
name: "Linux service"
2023-04-04 07:47:31 -06:00
weight: 40
2017-11-26 14:44:32 -07:00
identifier: "linux-service"
---
2020-01-08 09:33:13 -07:00
### Run Gitea as Linux service
2017-11-26 14:44:32 -07:00
2020-01-08 09:33:13 -07:00
You can run Gitea as service, using either systemd or supervisor. The steps below tested on Ubuntu 16.04, but those should work on any Linux distributions (with little modification).
2018-01-08 15:48:42 -07:00
2020-01-08 09:33:13 -07:00
#### Using systemd
2017-11-26 14:44:32 -07:00
2021-12-23 20:56:57 -07:00
Copy the sample [gitea.service ](https://github.com/go-gitea/gitea/blob/main/contrib/systemd/gitea.service ) to `/etc/systemd/system/gitea.service` , then edit the file with your favorite editor.
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Uncomment any service that needs to be enabled on this host, such as MySQL.
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Change the user, home directory, and other required startup values. Change the
PORT or remove the -p flag if default port is used.
2017-11-26 14:44:32 -07:00
2019-03-09 14:15:45 -07:00
Enable and start Gitea at boot:
2022-07-27 19:22:47 -06:00
2017-11-26 14:44:32 -07:00
```
2018-01-08 15:48:42 -07:00
sudo systemctl enable gitea
2017-11-26 14:44:32 -07:00
sudo systemctl start gitea
```
2020-01-08 09:33:13 -07:00
If you have systemd version 220 or later, you can enable and immediately start Gitea at once by:
2022-07-27 19:22:47 -06:00
2020-01-08 09:33:13 -07:00
```
sudo systemctl enable gitea --now
```
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
#### Using supervisor
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Install supervisor by running below command in terminal:
2022-07-27 19:22:47 -06:00
2017-11-26 14:44:32 -07:00
```
sudo apt install supervisor
2018-01-08 15:48:42 -07:00
```
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Create a log dir for the supervisor logs:
2022-07-27 19:22:47 -06:00
2017-11-26 14:44:32 -07:00
```
2019-03-09 14:15:45 -07:00
# assuming Gitea is installed in /home/git/gitea/
2017-11-26 14:44:32 -07:00
mkdir /home/git/gitea/log/supervisor
2018-01-08 15:48:42 -07:00
```
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Append the configuration from the sample
2021-12-23 20:56:57 -07:00
[supervisord config ](https://github.com/go-gitea/gitea/blob/main/contrib/supervisor/gitea ) to `/etc/supervisor/supervisord.conf` .
2017-11-26 14:44:32 -07:00
2021-12-23 20:56:57 -07:00
Using your favorite editor, change the user (`git`) and home
(`/home/git`) settings to match the deployment environment. Change the PORT
2020-01-08 09:33:13 -07:00
or remove the -p flag if default port is used.
2017-11-26 14:44:32 -07:00
2018-01-08 15:48:42 -07:00
Lastly enable and start supervisor at boot:
2022-07-27 19:22:47 -06:00
2017-11-26 14:44:32 -07:00
```
2018-01-08 15:48:42 -07:00
sudo systemctl enable supervisor
2017-11-26 14:44:32 -07:00
sudo systemctl start supervisor
```
2020-01-08 09:33:13 -07:00
If you have systemd version 220 or later, you can enable and immediately start supervisor by:
2022-07-27 19:22:47 -06:00
2020-01-08 09:33:13 -07:00
```
sudo systemctl enable supervisor --now
```