How to install Gitea (Self-Hosted Git Service) on Ubuntu
Quickloss3
Update Server: apt update && apt upgrade -y
Set hostname: hostnamectl set-hostname ex.example.com
Install Docker & docker compose:
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
i'm replacing angled bracket with square bracket
echo
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list ] /dev/null
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Verify that the Docker Engine & Compose: sudo docker run hello-world docker compose version
Creating the Git user: sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' --group --disabled-password --home /home/git git
Installing the Gitea Docker Image: mkdir ~/gitea cd ~/gitea nano docker-compose.yml paste version: "3"
networks: gitea: external: false
services: server: image: gitea/gitea:1.16.5 container_name: gitea environment: - USER_UID=UID_from_step_1 - USER_GID=GID_from_step_1 restart: always networks: - gitea volumes: - ./gitea:/data - /home/git/.ssh/:/data/git/.ssh - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro ports: - "127.0.0.1:3000:3000" - "127.0.0.1:2222:22"
docker-compose up -d
Installing Nginx as a Reverse Proxy: sudo apt update sudo apt install nginx sudo ufw allow "Nginx Full" sudo nano /etc/nginx/sites-available/gitea paste server { # Listen for requests on your domain/IP address. server_name ex.example.com;
root /var/www/html;
location / {
# Proxy all requests to Gitea running on port 3000
proxy_pass http://localhost:3000;
# Pass on information about the requests to the proxied service using headers
proxy_set_header HOST $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
sudo ln -s /etc/nginx/sites-available/gitea /etc/nginx/sites-enabled/gitea sudo nginx -t sudo systemctl restart nginx
Installing Certbot: sudo apt install certbot python3-certbot-nginx sudo certbot --nginx -d ex.example.com
Configuring Gitea: https://ex.example.com ... https://www.youtube.com/watch?v=BmgTjdCOFh0
26782233 Bytes