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