Skip to main content

Instalar Gitea en Ubuntu

Fuente https://www.vultr.com/docs/how-to-install-gitea-on-ubuntu-18-04

Prerequisitos

  • Instancia Ubuntu 18.04 con al menos 2 CPU cores y 1 GB RAM
  • Non-root user with sudo privileges.
  • Nginx
  • Git
  • MariaDB

Crear usuario git que usará Gitea

sudo adduser \
   --system \
   --shell /bin/bash \
   --gecos 'Git Version Control' \
   --group \
   --disabled-password \
   --home /home/git \
   git

Crear la estructura de directorios requerida

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

Descargar el binario de Gitea

sudo#sudo wget -O gitea https://dl.gitea.io/gitea/1.5.0/gitea-1.5.0-linux-amd64 
sudo wget -O gitea https://github.com/go-gitea/gitea/releases/download/v1.9.1/gitea-1.9.1-linux-amd64
sudo chmod +x gitea

Copiar binario a la ubicación global

sudo cp gitea /usr/local/bin/gitea

Crear archivo de servicio para iniciar Gitea automáticamente

# Crear archivo linux de servicio 
sudo nano /etc/systemd/system/gitea.service

Insertar la siguiente información en el archivo creado en el paso anterior

[Unit]
Description=Gitea (Git with a cup of tea)
After=syslog.target
After=network.target
#After=mysqld.service
#After=postgresql.service
#After=memcached.service
#After=redis.service

[Service]
# Modify these two values and uncomment them if you have
# repos with lots of files and get an HTTP error 500 because
# of that
###
#LimitMEMLOCK=infinity
#LimitNOFILE=65535
RestartSec=2s
Type=simple
User=git
Group=git
WorkingDirectory=/var/lib/gitea/
ExecStart=/usr/local/bin/gitea web -c /etc/gitea/app.ini
Restart=always
Environment=USER=git HOME=/home/git GITEA_WORK_DIR=/var/lib/gitea
# If you want to bind Gitea to a port below 1024 uncomment
# the two values below
###
#CapabilityBoundingSet=CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

Habilitar e iniciar Gitea al inicio

sudo systemctl daemon-reload
sudo systemctl enable gitea
sudo systemctl start gitea

Correr el comando de status, para validar el servicio

sudo systemctl status gitea

● gitea.service - Gitea (Git with a cup of tea)
  Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: en
  Active: active (running) since Wed 2018-10-10 14:15:28 CDT; 19ms ago
 Main PID: 17769 (gitea)
   Tasks: 4 (limit: 2321)
  CGroup: /system.slice/gitea.service
       ├─17769 /usr/local/bin/gitea web -c /etc/gitea/app.ini
       └─17774 /usr/local/bin/gitea web -c /etc/gitea/app.ini

Además de lo anterior se debe haber configurado nginx para que se pueda acceder a localhost:3000 que es donde corre y Gitea, y también tener una base de datos disponible