Saltar al contenido

Habilite SSL en GitLab con Docker en Synology NAS

Presta atención ya que en este enunciado vas a encontrar el arreglo que buscas.

Solución:

Con DSM6, los cambios (excepto la generación del certificado) ahora son posibles mediante la interfaz acoplable de dsm:

1) Crea un key/certificado:

mkdir /volume1/docker/gitlab/certs
cd /volume1/docker/gitlab/certs
openssl genrsa -out gitlab.key 2048
openssl req -new -key gitlab.key -out gitlab.csr
openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -out gitlab.crt
openssl dhparam -out dhparam.pem 2048
chmod 400 gitlab.key

2) Configure el entorno docker de gitlab:

configuración de gitlab docker environment vars a través de DSM gui

3) Establezca los enlaces del puerto docker de gitlab:
Establecer enlace de puerto para gitlab

Las instrucciones que me dio Crami me funcionaron con la instalación del paquete (sameersbn/gitlab:7.9.3). Debes:

  1. Siga las instrucciones de la línea de comandos de Crami para generar el certificado:

    mkdir /volume1/docker/gitlab/certs
    cd /volume1/docker/gitlab/certs
    openssl genrsa -out gitlab.key 2048
    openssl req -new -key gitlab.key -out gitlab.csr
    openssl x509 -req -days 3650 -in gitlab.csr -signkey gitlab.key -out gitlab.crt
    openssl dhparam -out dhparam.pem 2048
    chmod 400 gitlab.key
    
  2. Detener el paquete en el Centro de paquetes
  3. Edite el archivo de configuración en
    /usr/syno/etc/packages/Docker/synology_gitlab.config. Es un archivo JSON en lugar de una línea de comandos, pero es fácil ver qué cambiar/agregar. Necesitas agregar:

    
       "key" : "GITLAB_HTTPS",
       "value" : "true"
    ,
    
       "key" : "SSL_SELF_SIGNED",
       "value" : "true"
    ,
    

    así como el enlace del puerto de 80 en lugar de 443 en el mismo archivo:

    
       "container_port" : 443,
       "host_port" : 30000,
       "type" : "tcp"
    ,
    
  4. Inicie el paquete en el Centro de paquetes

En DSM 6.2.1

Acabo de instalar esto y algunas de las respuestas aquí me ayudaron, pero todavía tuve problemas. Así que pensé en compartir mis hallazgos:

Quería usar los certificados de permite cifrar que ya había generado dentro de Synology DSM.

  1. Crear un programador de tareas (script definido por el usuario)

    cp /usr/syno/etc/certificate/system/default/privkey.pem  /volume1/docker/gitlab-ce/gitlab/certs/gitlab.key
    cp /usr/syno/etc/certificate/system/default/fullchain.pem /volume1/docker/gitlab-ce/gitlab/certs/gitlab.crt
    

    ajústese a su nombre/carpeta elegido al instalar gitlab (en mi caso, “gitlab-ce”)

  2. Cree un archivo dhparam.pem en cualquier máquina con SSL abierto

    openssl dhparam -out dhparam.pem 2048
    

    Aconsejo no hacer esto en un NAS, porque será lento (puede aumentar key complejidad a cualquiera que tenga pacientes por esperar)

  3. Copie dhparam.pm en la ubicación de la carpeta de certificados dentro de gitlab

    /volume1/docker/gitlab-ce/gitlab/certs/
    

    ajústese a su nombre/carpeta elegido al instalar gitlab (en mi caso, “gitlab-ce”)

  4. Detener gitlab en el centro de paquetes (detiene todos los contenedores de la ventana acoplable del árbol)

  5. En el contenedor synology_gitlab

    5.1 Añadir las dos variables de entorno

    GITLAB_HTTPS=true  
    SSL_SELF_SIGNED=false
    

    5.2. Cambie el enlace del puerto gitlab (puerto contenedor) de 80 a 443

Este enfoque actualizará automáticamente el certificado SSL generado en un momento determinado (su elección en el script definido por el usuario) si Synology DSM (o usted manualmente) crea uno nuevo. Sin embargo, esta no es una actualización instantánea, pero puede activarla manualmente desde la interfaz del programador de tareas. Aún así, este enfoque es bastante sencillo para las soluciones NAS personales.

Calificaciones y reseñas

Si para ti ha resultado útil este artículo, sería de mucha ayuda si lo compartes con otros desarrolladores de esta forma nos ayudas a dar difusión a nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *