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
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
Y solo llenamos el formulario con la información pertinente y listo.
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
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.