Un GitHub local en 5 minutos con Gogs


Anteriormente les había traído la instalación de un servidor Git pequeño para Windows que se llama Bonobo, ahora les traigo otro que tiene casi todo lo que ofrece GitHub pero con una instalación bastante sencilla y gratis, estamos hablando de Gogs. Un proyecto de Google realizado con su lenguaje de programación Go, que puede ser utilizado en Windows, Mac, Linux y ARM.

Realmente su instalación es tan sencilla que en 5 minutos gozaras de tu propio github cuando deseas tener una solución sencilla dentro de tus servidores y red propia.

Esta instalación la hice en:

  • Debian 9 64 bits
  • 1024 GB RAM
  • 1 Core
  • 10 GB HDD

Nota: La instalación te permite usar una base de datos a tu gusto como Mysql, Postgresql o Sqlite (para hacer la instalación realmente sencilla use Sqlite pero si va a tener una gran concurrencia es mejor optar por otra)

Así que instalaremos lo que necesitaremos

# apt-get install git sqlite3

Creamos un usuario

# useradd gogs

Descargamos el paquete de Gogs compilado de acuerdo a nuestra arquitectura, en este ejemplo Linux 64 bits

Captura de pantalla 2018-08-03 a la(s) 6.51.19 a. m.

Lo descargue en la carpeta de /opt/

# wget -c https://github.com/gogs/gogs/releases/download/v0.11.53/linux_amd64.tar.gz

Descomprimimos

# tar -xvf gogs_0.11.53_linux_amd64.tar.gz

Creamos dos carpetas, una para la base de datos Sqlite y otra para guardar los repositorios, esto es dónde uds quieran yo lo deje en /opt/

# mkdir /opt/data
# mkdir /opt/gogs-repositories
# chown gogs:gogs /opt/data
# chown gogs:gogs /opt/gogs-repositories
# chown gogs:gogs -R /opt/gogs

Ahora ejecutamos el servidor de gogs con este sencillo comando

# su - gogs
gogs@gogs:/opt/gogs$ ./gogs web

Captura de pantalla 2018-08-03 a la(s) 7.00.26 a. m.

Y solo llenamos el formulario con la información pertinente y listo.

 

El pase de diapositivas requiere JavaScript.

Ahora creamos el servicio para que se auto-inicie

# nano /etc/systemd/system/gogs.service

Pegamos lo siguiente:


[Unit]
Description=Gogs git server

[Service]
User=gogs
Group=gogs
ExecStart=/opt/gogs/gogs web
WorkingDirectory=/opt/gogs

[Install]
WantedBy=multi-user.target

Ahora activamos y ejecutamos el servicio y listo:

# systemctl enable gogs

#systemctl start gogs

Captura de pantalla 2018-08-03 a la(s) 7.10.39 a. m.
Esta es una muy buena alternativa cuando no contamos con demasiada infraestructura o tiempo necesario para configurar un GitLab, o simplemente dónde trabajamos no desean invertir en algo tan necesario como un repositorio.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.