Instalación de GitLab CE con Docker y Docker Compose: Una guía paso a paso

Si alguna vez has tenido curiosidad por configurar un servidor GitLab Community Edition (CE) con Docker y Docker Compose, estás en el lugar adecuado. Esta guía te llevará paso a paso por todo lo necesario para crear un entorno GitLab eficiente y listo para usar. Pero primero, demos un paso atrás: ¿qué hace que GitLab y Docker sean una combinación ganadora?

¿Por qué GitLab y Docker?

GitLab CE es mucho más que una simple plataforma de gestión de código fuente: ofrece funciones avanzadas como pipelines de CI/CD, gestión de incidencias y repositorios Git. La Community Edition, gratuita y de código abierto, es ideal para quienes desean un control total sobre sus proyectos sin costes adicionales.

Añade Docker y Docker Compose a la ecuación y obtendrás una configuración modular, fácilmente replicable y sencilla de mantener. Por eso esta combinación es una de las más populares entre desarrolladores y equipos DevOps.

Lo que necesitas para empezar

  • Docker y Docker Compose: si no los tienes, instálalos con:sudo apt update && sudo apt install docker.io docker-compose -y
  • Un servidor con al menos 4 GB de RAM y espacio suficiente para almacenar repositorios y registros.
  • Permisos de administrador para gestionar archivos y contenedores.

Creando la base: estructura de directorios

mkdir -p /srv/gitlab/{config,logs,data}

El núcleo: docker-compose.yml

nano /srv/gitlab/docker-compose.yml

Inserta el siguiente contenido:

version: '3.8'

services:
  gitlab:
    image: gitlab/gitlab-ce:latest
    container_name: gitlab
    restart: always
    hostname: 'gitlab.example.com'
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
    volumes:
      - /srv/gitlab/config:/etc/gitlab
      - /srv/gitlab/logs:/var/log/gitlab
      - /srv/gitlab/data:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://gitlab.example.com' # Replace with your domain or IP

Configurando los permisos

sudo chown -R 1000:1000 /srv/gitlab

Iniciando GitLab

cd /srv/gitlab
sudo docker-compose up -d

En pocos minutos tu servidor GitLab estará en funcionamiento. Accede a él desde el navegador en http://<server_IP> o http://gitlab.example.com. En el primer inicio de sesión, se te pedirá que establezcas la contraseña de administrador para el usuario root.

HTTPS: habilitando la seguridad

  1. Obtén un certificado SSL (p. ej. con Let’s Encrypt).
  2. Actualiza docker-compose.yml, cambiando la variable external_url:external_url 'https://gitlab.example.com'
  3. Coloca los certificados SSL en /srv/gitlab/config/ssl/.

Comandos útiles para gestionar el contenedor

  • Iniciar: sudo docker-compose up -d
  • Detener: sudo docker-compose down
  • Ver registros: sudo docker-compose logs -f
  • Actualizar GitLab: sudo docker-compose pull && sudo docker-compose up -d

Ahora es tu turno

Con esta guía tienes todo lo necesario para configurar un servidor GitLab CE usando Docker y Docker Compose. Dispondrás de un sistema robusto y escalable que puede ampliarse fácilmente para satisfacer las necesidades de tu equipo.