Gitea is a lightweight and self-hosted Git service. In this guide, we will walk you through the steps to install Gitea on Ubuntu 20.04 with Nginx as a reverse proxy and securing it with a free Let's Encrypt SSL certificate. This setup is perfect for a windows vps uk or any other VPS provider.

Prerequisites

Before we begin, ensure you have the following:

  • Ubuntu 20.04 server.
  • A domain name pointing to your server.
  • Root access or a user with sudo privileges.
  • Install Nginx:
sudo apt update
sudo apt install nginx -y

Step 1: Install Gitea

First, download the latest Gitea binary:

wget -O gitea https://dl.gitea.io/gitea/latest/gitea--linux-amd64

Make it executable:

chmod +x gitea

Move it to /usr/local/bin:

sudo mv gitea /usr/local/bin/

Step 2: Create Gitea User and Directories

Create a user for Gitea:

sudo useradd -r -m -U -d /var/lib/gitea -s /bin/bash gitea

Create necessary directories:

sudo mkdir -p /etc/gitea
sudo mkdir -p /var/lib/gitea/{custom,data,indexers,log,public}

Change ownership:

sudo chown -R gitea:gitea /var/lib/gitea/
sudo chown -R gitea:gitea /etc/gitea

Step 3: Configure Gitea

Create a Gitea configuration file:

sudo nano /etc/gitea/app.ini

Add the following configuration (adjust paths and domain):

[server]
DOMAIN = your_domain.com
ROOT_URL = https://your_domain.com
HTTP_PORT = 3000
PROTOCOL = https

Step 4: Configure Nginx

Create a new Nginx configuration file:

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

Add the following content:

server {
    listen 80;
    server_name your_domain.com;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Enable the configuration:

sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/

Step 5: Obtain SSL Certificate

Install Certbot:

sudo apt install certbot python3-certbot-nginx -y

Obtain and install the SSL certificate:

sudo certbot --nginx -d your_domain.com

Step 6: Start Gitea

To start Gitea, run the following command:

sudo -u gitea gitea web

Step 7: Access Gitea

Now you can access Gitea by visiting https://your_domain.com. You will be guided through the setup process.

Conclusion

Congratulations! You have successfully installed Gitea with Nginx and secured it with a free Let's Encrypt SSL certificate on Ubuntu 20.04. If you're looking for a reliable virtual private server hosting windows, consider Windows VPS UK for your hosting needs.

Was this answer helpful? 0 Users Found This Useful (0 Votes)