2017-11-27 05:44:32 +08:00
---
date: "2017-07-21T12:00:00+02:00"
title: "Run as service in Linux"
slug: "linux-service"
2023-04-04 21:47:31 +08:00
weight: 40
2020-12-09 14:47:06 +08:00
toc: false
2017-11-27 05:44:32 +08:00
draft: false
menu:
sidebar:
parent: "installation"
name: "Linux service"
2023-04-04 21:47:31 +08:00
weight: 40
2017-11-27 05:44:32 +08:00
identifier: "linux-service"
---
2020-01-09 00:33:13 +08:00
### Run Gitea as Linux service
2017-11-27 05:44:32 +08:00
2020-01-09 00:33:13 +08: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-09 06:48:42 +08:00
2020-01-09 00:33:13 +08:00
#### Using systemd
2017-11-27 05:44:32 +08:00
2021-12-24 11:56:57 +08: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-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
Uncomment any service that needs to be enabled on this host, such as MySQL.
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08: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-27 05:44:32 +08:00
2019-03-10 05:15:45 +08:00
Enable and start Gitea at boot:
2022-07-28 09:22:47 +08:00
2017-11-27 05:44:32 +08:00
```
2018-01-09 06:48:42 +08:00
sudo systemctl enable gitea
2017-11-27 05:44:32 +08:00
sudo systemctl start gitea
```
2020-01-09 00:33:13 +08:00
If you have systemd version 220 or later, you can enable and immediately start Gitea at once by:
2022-07-28 09:22:47 +08:00
2020-01-09 00:33:13 +08:00
```
sudo systemctl enable gitea --now
```
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
#### Using supervisor
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
Install supervisor by running below command in terminal:
2022-07-28 09:22:47 +08:00
2017-11-27 05:44:32 +08:00
```
sudo apt install supervisor
2018-01-09 06:48:42 +08:00
```
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
Create a log dir for the supervisor logs:
2022-07-28 09:22:47 +08:00
2017-11-27 05:44:32 +08:00
```
2019-03-10 05:15:45 +08:00
# assuming Gitea is installed in /home/git/gitea/
2017-11-27 05:44:32 +08:00
mkdir /home/git/gitea/log/supervisor
2018-01-09 06:48:42 +08:00
```
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
Append the configuration from the sample
2021-12-24 11:56:57 +08:00
[supervisord config ](https://github.com/go-gitea/gitea/blob/main/contrib/supervisor/gitea ) to `/etc/supervisor/supervisord.conf` .
2017-11-27 05:44:32 +08:00
2021-12-24 11:56:57 +08:00
Using your favorite editor, change the user (`git`) and home
(`/home/git`) settings to match the deployment environment. Change the PORT
2020-01-09 00:33:13 +08:00
or remove the -p flag if default port is used.
2017-11-27 05:44:32 +08:00
2018-01-09 06:48:42 +08:00
Lastly enable and start supervisor at boot:
2022-07-28 09:22:47 +08:00
2017-11-27 05:44:32 +08:00
```
2018-01-09 06:48:42 +08:00
sudo systemctl enable supervisor
2017-11-27 05:44:32 +08:00
sudo systemctl start supervisor
```
2020-01-09 00:33:13 +08:00
If you have systemd version 220 or later, you can enable and immediately start supervisor by:
2022-07-28 09:22:47 +08:00
2020-01-09 00:33:13 +08:00
```
sudo systemctl enable supervisor --now
```