GitLab: Raspberry Pi 4

Imagen destacada de GitLab: Raspberry Pi 4

La instalación de gitlab en raspberry pi 4 no difiere mucho de la otra que realice en este post, siempre que se haga en RaspberryPi OS. Las diferencias con aquel serán de las que escriba aquí.

En cuanto su rendimiento he de decir que con esta configuración se mueve muy bien en un entorno domestico, por lo que para mí y mis proyectos estoy muy contento.

Instalación en Raspberry:

sudo apt-get install curl openssh-server ca-certificates apt-transport-https perl postfix

A las preguntas de postfix en caso de duda responder ‘sitio de internet’.

sudo curl -sS https://packages.gitlab.com/install/repositories/gitlab/raspberry-pi2/script.deb.sh | sudo bash

Si vamos a utilizar certificados auto-firmados no instalamos con la variable ‘EXTERNAL_URL’.

sudo EXTERNAL_URL="https://gitlab.example.com" apt-get install gitlab-ce

Realizar los pasos de la documentación para reducir procesos, editando

nano /etc/gitlab/gitlab.rb
  • Reducir procesos:
# Reduce the number of running workers to the minimum in order to reduce memory usage
puma['worker_processes'] = 2
sidekiq['concurrency'] = 9
# Turn off monitoring to reduce idle cpu and disk usage
prometheus_monitoring['enable'] = false
  • Utilizar un disco externo en lugar de la micro-sd, para ello buscamos la siguiente sección:
### For setting up different data storing directory
###! Docs: https://docs.gitlab.com/omnibus/settings/configuration.html#storing-git-data-in-an-alternative-directory
###! **If you want to use a single non-default directory to store git data use a
###!   path that doesn't contain symlinks.**
# git_data_dirs({
#   "default" => {
#     "path" => "/mnt/nfs-01/git-data"
#    }
# })
  • Configurar y aumentar la swap:
sudo dphys-swapfile swapoff
sudo nano /etc/dphys-swapfile
# UBICACIÓN DEL FICHERO
#CONF_SWAPFILE=/var/swap

# TAMAÑO
CONF_SWAPSIZE=100
sudo dphys-swapfile setup && sudo dphys-swapfile swapon
  • El ultimo punto seria el de externalizar servicios, como el de la base de datos, desde la siguiente sección:
# Disable the built-in Postgres
postgresql['enable'] = false

# Fill in the connection details for database.yml
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '127.0.0.1'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_username'] = 'USERNAME'
gitlab_rails['db_password'] = 'PASSWORD'

Después de las configuraciones ya podremos ejecutar:

sudo gitlab-ctl reconfigure