Skip to content

jersonmartinez/gitea-docker-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Monta tu propio servidor Git con Gitea y Docker

Este documento está basado en este artículo: Monta tu propio servidor de Git con Gitea y Docker

Monta tu propio servidor de Git con Gitea y Docker

¿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).

Instalación de Gitea por medio de contenedores Docker

La instalación se lleva a cabo por medio de 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.

imagen

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.

imagen

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.

imagen

Migrar un repositorio de GitHub a Gitea

Es posible migrar repostorios que estén en diferentes espacios. En este ejemplo estoy usando este mismo repositorio.

imagen

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.

imagen

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. 

$ docker-compose down --volumes
[+] Running 3/3
 - Container gitea                      Removed                                                                                               1.4s
 - Container gitea-docker-compose-db-1  Removed                                                                                               1.5s
 - Network gitea-docker-compose_gitea   Removed

Esta última instrucción termina con los contenedores que habían sido levantados.