Gitea es buena cosa. Mucha gente solamente conoce gitlab como alternativa a github y desconocen esta maravilla.
Dejo los pasos que se pueden dar para instalar la última versión hasta la fecha (versión stable a fecha del 1 de Diciembre del 2020). En mi caso sobre una Debian 10.
INSTALACIÓN DE GITEA
Lo primero es actualizar el sistema y luego proceder a descargar el binario de instalación de gitea.
apt update && apt upgrade -y
wget -q -O /root/gitea https://dl.gitea.io/gitea/1.12.6/gitea-1.12.6-linux-amd64
wget -O /root/gitea.asc https://dl.gitea.io/gitea/1.12.6/gitea-1.12.6-linux-amd64.asc
chmod +x /root/gitea
Una vez descargado el binario de instalación es bueno comprobar que no está corrupto o alterado.
apt install gpg
gpg --keyserver keys.openpgp.org --recv 7C9E68152594688862D62AF62D9AE806EC1592E2
gpg --verify /root/gitea.asc /root/gitea
Ahora necesitamos instalar git en el sistema y comprobar que lo tenemos instalado
apt install git
git --version
Creamos el usuario git que será el que ejecutará gitea
adduser --system --shell /bin/bash --gecos "Git Version Control" --group --disabled-password --home /home/git git
Creamos la estructura de directorios que vamos a necesitar y le damos permisos
mkdir -p /var/lib/gitea/{custom,data,log,repositories}
mkdir /etc/gitea
chown -R git:git /var/lib/gitea/
chown root:git /etc/gitea
chmod -R 750 /var/lib/gitea/
chmod 770 /etc/gitea
Copiamos el archivo binario gitea a /usr/local/bin/
cp -pRv /root/gitea /usr/local/bin/gitea
gitea --version
Ahora necesitamos hacer que gitea se pueda ejecutar como un servicio linux
wget -q -O /etc/systemd/system/gitea.service "https://raw.githubusercontent.com/go-gitea/gitea/master/contrib/systemd/gitea.service"
systemctl enable gitea
systemctl start gitea
systemctl status gitea
GITEA CON BASE DE DATOS
Es posible utilizar Gitea sin base de datos pero es recomendable disponer de una para un mejor funcionamiento. En este caso yo he optado por MariaDB (mysql).
El primer paso es instalarlo. Yo voy a instalarlo en la misma máquina que gitea aunque podría hacerlo en otra separada.
apt install mariadb-server
Luego accedemos como root a la consola de MariaDB y creamos la base de datos y un usuario que pueda acceder a ella.
mysql -u root
CREATE DATABASE gitea;
CREATE USER 'usergitea'@'localhost' IDENTIFIED BY 'lapasswordgitea';
GRANT ALL PRIVILEGES ON gitea.* TO 'usergitea'@'localhost';
CONFIGURACIÓN PARA GITEA
Y la configuración ya es cosa de cada cual. En este caso en el archivo /etc/gitea/app.ini es donde tendremos que colocar los datos de la base de datos así como el puerto y muchas otras variables.
Una hoja de variables para configurar se puede encontrar aquí: docs.gitea.io/en-us/config-cheat-sheet/
Lo ideal es una vez se instala gitea acceder vía navegador web al puerto 3000 . Desde allí configurar los datos de la base de datos así como el usuario administrador.
Y luego ya se pueden tocar más configuraciones en el archivo manualmente.
Si se desea colocar un proxy-pass se puede usar nginx para que esté escuchando en el puerto 80 o 443.
Ejemplo: www.scaleway.com/en/docs/configure-gitea-code-hosting-solution/
Y eso es más o menos lo base para montar gitea.
Saludos cordiales.