How To Install Gitea on CentOS 8

Install Gitea on CentOS 8

In this tutorial, we will show you how to install Gitea on CentOS 8. For those of you who didn’t know, Gitea is a free, open-source, and self-hosted version control system alternative to GitHub, GitLab, and BitBucket. Gitea comes with a rich set of features including time tracking, repository branching, issues tracking, file locking, merging, and much more. Gitea can be installed on all popular operating systems like Windows, macOS, Linux, and ARM.

This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo‘ to the commands to get root privileges. I will show you through the step-by-step installation of Gitea on a CentOS 8.


  • A server running one of the following operating systems: CentOS 8.
  • It’s recommended that you use a fresh OS install to prevent any potential issues.
  • A non-root sudo user or access to the root user. We recommend acting as a non-root sudo user, however, as you can harm your system if you’re not careful when acting as the root.

Install Gitea on CentOS 8

Step 1. First, let’s start by ensuring your system is up-to-date.

sudo dnf clean all
sudo dnf update
sudo dnf install sqlite

Step 2. Installing Git.

Run the following command to install Git on the CentOS system:

sudo dnf install git

Verify Git the installation:

git --version

Step 3. Create a Git user.

Create a new system user that will be used later by Gitea. we’ll be calling this user ‘git’, but you can name it anything you prefer:

sudo useradd \
   --system \
   --shell /bin/bash \
   --comment 'Git Version Control' \
   --create-home \
   --home /home/git \

Step 4. Installing Gitea on CentOS 8.

First, you will need to download the latest version of the Gitea binary from the Git repository. At the time of writing, the latest version is 1.12.3:

wget https://dl.gitea.io/gitea/1.12.3/gitea-1.12.3-linux-amd64

Copy the binary to a global location:

sudo mv /tmp/gitea /usr/local/bin

Make the binary executable:

sudo chmod +x /usr/local/bin/gitea

Next, create the directories and set the required permissions and ownership:

sudo mkdir -p /var/lib/gitea/{custom,data,indexers,public,log}
sudo chown git: /var/lib/gitea/{data,indexers,log}
sudo chmod 750 /var/lib/gitea/{data,indexers,log}
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea

Step 5. Create Systemd Service file for Gitea.

You will need to create a systemd service file to manage the Gitea service. Download the file to the /etc/systemd/system/ directory using the following command:

sudo wget https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service -P /etc/systemd/system/

Then, enable and start the Gitea service:

sudo systemctl daemon-reload
sudo systemctl enable --now gitea

Step 6. Configure Firewall.

You’ll need to configure your firewall to enable access to the Gitea web interface:

sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --reload

Step 7. Accessing Gitea Web Interface.

By default, Gitea listens for connections on port 3000 on all network interfaces, Open your browser, type http://your-domain.com:3000/install or http://ip-address:3000/install

Install Gitea on CentOS 8

Congratulations! You have successfully installed Gitea. Thanks for using this tutorial for installing Gitea on CentOS 8 systems. For additional help or useful information, we recommend you to check the official Gitea website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!


r00t is a seasoned Linux system administrator with a wealth of experience in the field. Known for his contributions to idroot.us, r00t has authored numerous tutorials and guides, helping users navigate the complexities of Linux systems. His expertise spans across various Linux distributions, including Ubuntu, CentOS, and Debian. r00t's work is characterized by his ability to simplify complex concepts, making Linux more accessible to users of all skill levels. His dedication to the Linux community and his commitment to sharing knowledge makes him a respected figure in the field.
Back to top button