Aprende cómo montar tu propio servidor de Git con Gitea usando contenedores Docker y empieza a desplegar tus proyectos en equipo desde tu entorno privado y sin costos.
¿Qué es Gitea?
Es un servidor de Git autohospedado, rápido y fácil de usar. Similar a la interfaz gráfica de GitHub y con muchas funcionalidades que comparten con BitBucket y GitLab. Este se encuentra escrito en Go. Es una aplicación ligera y se puede instalar en sistemas de baja potencia, así que, si estás buscando una alternativa a alguno de los sistemas de gestión de Git en la nube antes mencionados, Gitea es una gran opción.
El objetivo de este proyecto es proporcionar la forma más fácil de establecer un servicio de Git autohospedado (que puedes instalar y gestionar desde tu propia infraestructura).
Características de Gitea
Gitea es una aplicación multiplataforma, que se ejecuta desde cualquier sistema operativo, como Windows, MacOS, GNU/Linux, ARM, ect. Además, es fácil de instalar, logrando el cometido desde los mismos binarios hasta utilizar contenedores Docker. El paquete es liviano, por lo que no necesitará de muchos recursos, incluso este puede ejecutarse en una Raspberry Pi económica. El ser de código abierto es lo que lo convierte en un software de mucho potencial, ya que la comunidad está en constante crecimiento.
También, algunas funcionalidades que tiene son las siguientes:
Instalación de Gitea por medio de contenedores Docker
La instalación se lleva a cabo por medio de Docker Compose. Este recurso puedes encontrarlo también en el repositorio Gitea-Docker-Compose. Igualmente, en la documentación de Gitea, puede encontrar otras formas y alternativas al gestor de base de datos.
version: "3"
networks:
gitea:
external: false
services:
server:
image: gitea/gitea:1.17.3
container_name: gitea
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=mysql
- GITEA__database__HOST=db:3306
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
restart: always
networks:
- gitea
volumes:
- ./gitea:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: mysql:8
restart: always
environment:
- MYSQL_ROOT_PASSWORD=gitea
- MYSQL_USER=gitea
- MYSQL_PASSWORD=gitea
- MYSQL_DATABASE=gitea
networks:
- gitea
volumes:
- ./mysql:/var/lib/mysql
Ejecutas el Docker Compose mediante la siguiente instrucción: docker-compose up -d. Donde instalará los paquetes en los contenedores necesarios.
$ docker-compose up -d
[+] Running 21/21
- server Pulled 45.0s
- 213ec9aee27d Pull complete 1.4s
- 3b125bd762f1 Pull complete 10.5s
- db Pulling
- 6e6c408eba18 Pull complete 10.5s
- 3b125bd762f1 Pull complete 10.5s
[+] Running 3/3
- Network gitea-docker-compose_gitea Created 0.0s
- Container gitea-docker-compose-db-1 Started 0.8s
- Container gitea Started 0.9s
Se levantan dos contenedores, la cual uno es el servidor de Gitea y el otro es el servidor donde se encuentra el sistema gestor de base de datos MySQL; corriendo en los puertos correspondientes.
$ docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
gitea "/usr/bin/entrypoint…" server running 0.0.0.0:3000->3000/tcp, 0.0.0.0:222->22/tcp
gitea-docker-compose-db-1 "docker-entrypoint.s…" db running 3306/tcp, 33060/tcp
Primeros pasos con Gitea
Para llegar a la interfaz gráfica web de Gitea, es tan sencillo como abrir en su navegador la ruta: https://127.0.0.1:3000. Este le llevará a la configuración inicial, donde señala el tipo de base de datos, servidor, nombre de usuario, contraseña y demás credenciales.
Aplicar una configuración inicial es muy importante, en este caso, establecer credenciales de acceso, como una cuenta personal. Los datos escritos en las screenshots, son de ejemplo.
Después de registrarse, tanto que esto hubiese sido desde la configuración inicial, como desde el panel de registro en el inicio de sesión, lo que faltaría es acceder a tu cuenta para contemplar las bondades que te trae Gitea.
Migrar un repositorio de GitHub a Gitea
Es posible migrar repostorios que estén en diferentes espacios. En este ejemplo estoy usando el repositorio Gitea-Docker-Compose almacenado en GitHub.
Esta es la forma en que se observa un repositorio en Gitea; y es fácil de ver que se parece mucho a la interfaz de GitHub.
Con esto ya estás listo para trabajar en un entorno local, para instalar tu propio servidor de Git con interfaz gráfica; trabajar en equipo y poder llevar este proyecto a la nube, a tu propia infraestructura.
With supporting text below as a natural lead-in to additional content.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled.