Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
How to Install Gitea Code Hosting Platform with HTTPS on Debian 10
Gitea is a code hosting web application written in Go and forked from Gogs. As its name suggests, it is designed to be used with the popular source control program Git, similarly to Gitlab and Github. This guide will explain how to install Gitea on Debian 10 behind an HTTPS reverse proxy (Nginx).
Requirements
- A Debian 10 system on which you have root privileges.
- A registered domain name pointing to your server.
- The $EDITOR environment variable should be set.
- Access to an SMTP server for email notifications (optional).
Step 1: Preparing the system
Start by updating your package index and install any available updates:
apt update
apt upgrade -y
reboot
Then create the directory structure for Gitea:
mkdir -p /var/lib/gitea/{data,log} /etc/gitea /run/gitea
And set ownerships and permissions as follows:
chown -R gitea:gitea /var/lib/gitea chown -R gitea:gitea /run/gitea chown -R root:gitea /etc/gitea chmod -R 750 /var/lib/gitea chmod 770 /etc/gitea
The permissions on /etc/gitea are temporary and will be tightened after running the web installer.
Step 2: Database Setup
Make sure Postgres is enabled and running:
systemctl enable --now postgresql@11-main.service
Then create a user role and database to be used by Gitea:
sudo -u postgres psql postgres=# CREATE ROLE gitea LOGIN ENCRYPTED PASSWORD 'your_password'; postgres=# CREATE DATABASE gitea; postgres=# GRANT ALL PRIVILEGES ON DATABASE gitea TO gitea; postgres=# exit;
Step 3: Installing Gitea
Download the latest linux-amd64 binary from Gitea's download page. For example:
For this setup, several software packages are required:
- Git, a dependency of Gitea.
- PostgreSQL, as Gitea requires a database.
- Nginx, which will be used as a reverse proxy.
- Certbot, a utility for obtaining Let's Encrypt SSL certificates.
- Sudo, to run commands as the postgres system user.
Install them as follows:
apt install -y git nginx certbot postgresql sudo
Next, create a user to run Gitea:
adduser --system --disabled-password --group --shell /bin/bash --home /home/gitea gitea