Gitea is a lightweight, self-hosted Git service written in Go. It provides a GitHub-like interface with repositories, issues, pull requests, and actions CI/CD, but runs on minimal hardware. This guide installs Gitea on Ubuntu 26.04 LTS with Nginx and a PostgreSQL database.

Tested and valid on:

  • Ubuntu 26.04 LTS

Prerequisites

  • Ubuntu 26.04 LTS with Nginx and PostgreSQL installed
  • A domain name or server IP
  • A user with sudo privileges

Step 1 – Create a Gitea System User

sudo adduser --system --group --disabled-password --home /home/gitea gitea

Step 2 – Create Directories

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

Step 3 – Download Gitea Binary

GITEA_VERSION=$(curl -s https://api.github.com/repos/go-gitea/gitea/releases/latest | grep -Po '"tag_name": "vK[^"]*')
wget -O /tmp/gitea https://dl.gitea.io/gitea/${GITEA_VERSION}/gitea-${GITEA_VERSION}-linux-amd64
sudo mv /tmp/gitea /usr/local/bin/gitea
sudo chmod +x /usr/local/bin/gitea

Step 4 – Create PostgreSQL Database

sudo -u postgres psql << 'EOF'
CREATE USER gitea WITH PASSWORD 'GiteaPass2026!';
CREATE DATABASE giteadb OWNER gitea;
EOF

Step 5 – Create systemd Service

sudo nano /etc/systemd/system/gitea.service

Add:

[Unit]
Description=Gitea Git Service
After=network.target postgresql.service

[Service]
Type=simple
User=gitea
Group=gitea
WorkingDirectory=/var/lib/gitea/
Environment=USER=gitea HOME=/home/gitea GITEA_WORK_DIR=/var/lib/gitea
ExecStart=/usr/local/bin/gitea web --config /etc/gitea/app.ini
Restart=always

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start gitea
sudo systemctl enable gitea

Step 6 – Configure Nginx

sudo nano /etc/nginx/sites-available/gitea

Add:

server {
    listen 80;
    server_name git.example.com;
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d git.example.com

Step 7 – Complete Web Installation

Visit https://git.example.com. Fill in the installer form with your database credentials and admin account details.

Conclusion

Gitea is installed on Ubuntu 26.04 LTS. It provides a lightweight alternative to GitHub/GitLab with minimal resource usage. Enable Gitea Actions to add CI/CD pipelines to your repositories.