
En la era de la nube, confiamos nuestro código a plataformas de terceros como GitHub o GitLab. Sin embargo, cada vez más usuarios valoran la privacidad, el control total sobre sus datos y la independencia de servicios externos. ¿Qué pasa si GitHub cambia sus términos de servicio? ¿O si tu cuenta se ve comprometida? Alojar tu propio servidor Git en tu NAS o Raspberry Pi te ofrece: Si estás buscando una solución ligera, rápida y fácil de mantener, Gitea es probablemente tu mejor opción. Gitea es un servicio de Git autoalojado escrito en Go, diseñado para ser ligero, rápido y multiplataforma. Nace como un fork de Gogs con el objetivo de ofrecer un desarrollo más abierto y una comunidad más activa. La principal ventaja de Gitea es que consigue ofrecer una experiencia similar a GitHub o GitLab pero con un consumo de recursos mínimo. Mientras que GitLab puede requerir 4GB de RAM solo para funcionar, Gitea corre perfectamente con 512MB, haciéndolo ideal para: Gitea no es solo un servidor Git básico. Incluye la mayoría de funcionalidades que necesitas para gestionar proyectos de software: Creación ilimitada de repositorios públicos y privados, con soporte para forks, mirrors, y migración desde GitHub/GitLab. Flujo de trabajo completo con PRs, comentarios en líneas específicas de código, aprobaciones requeridas y protección de ramas. Sistema de seguimiento de incidencias con etiquetas, milestones, asignaciones y tableros tipo Kanban para gestión ágil. Cada repositorio puede tener su propia wiki basada en Markdown, perfecta para documentación. Desde la versión 1.19, Gitea incluye Actions, un sistema de integración continua compatible con los workflows de GitHub Actions. Puedes ejecutar tests, compilar aplicaciones o desplegar automáticamente usando runners autoalojados. ¿Cuándo elegir cada uno? Una de las grandes ventajas de Gitea es que funciona prácticamente en cualquier hardware: Esto significa que puedes ejecutar Gitea en: La forma más sencilla de instalar Gitea es usando Docker Compose. A continuación te presento una configuración completa con PostgreSQL como base de datos (más robusta que SQLite para uso en producción): Notas importantes: Abre tu navegador y accede a Si usas Synology con Synology Proxy o Nginx Proxy Manager, configura un proxy inverso para acceder por HTTPS: Para poder usar los comandos Edita o crea el archivo Ahora puedes clonar repositorios así: O si prefieres sin configurar el config: Gitea Actions te permite automatizar tareas cuando ocurren eventos en tus repositorios (push, PRs, etc.). Aquí tienes un ejemplo básico que ejecuta tests en Python: Crea el archivo Para que funcione, necesitas registrar un runner: La sintaxis es 100% compatible con GitHub Actions, así que puedes reutilizar workflows existentes. Existen varias soluciones de Git autoalojado disponibles. GitLab CE es la más completa pero consume muchos recursos (mínimo 4GB RAM). Gogs es ligero pero su desarrollo se ha estancado. Gitea nació como fork de Gogs, manteniendo su ligereza pero con desarrollo activo y una comunidad vibrante. Gitea consume aproximadamente 200MB de RAM en reposo, frente a los 2-4GB de GitLab. Para un NAS doméstico o un homelab modesto, esta diferencia es crítica. Además, Gitea incluye CI/CD integrado mediante Gitea Actions (compatible con GitHub Actions), lo que lo convierte en una plataforma DevOps completa. Otra ventaja significativa es la velocidad: Gitea responde prácticamente al instante incluso en hardware modesto, mientras que GitLab puede tardar varios segundos en cargar páginas en hardware limitado. Si tu prioridad es hosting de código ligero con funcionalidades modernas, Gitea es la elección acertada. Gitea Actions te permite automatizar builds, tests y despliegues directamente desde tu repositorio. Los workflows son compatibles con la sintaxis de GitHub Actions, lo que facilita migrar pipelines existentes. Puedes configurar runners locales que se ejecuten en tu mismo NAS o en máquinas dedicadas de tu homelab. Un ejemplo práctico: configura un workflow que compile automáticamente tu blog estático, ejecute tests de linting, y despliegue los cambios a tu servidor web cada vez que hagas push a la rama principal. Todo esto sin depender de servicios externos y con total privacidad de tu código fuente. Si te interesa ampliar tu homelab, te recomendamos también nuestras guías sobre GitOps en tu NAS, mejores aplicaciones Docker para NAS, estrategia de backup 3-2-1. Si te interesa ampliar tu homelab, te recomendamos también nuestras guías sobre GitOps en tu NAS, mejores aplicaciones Docker para NAS, estrategia de backup 3-2-1. Gitea es la solución perfecta si buscas un servidor Git autoalojado que no consuma todos los recursos de tu NAS o Raspberry Pi. Con características como PRs, issues, wiki y CI/CD integrado, ofrece todo lo necesario para gestionar proyectos personales o pequeños equipos. Su facilidad de instalación mediante Docker Compose y sus bajos requisitos de hardware lo convierten en una excelente opción para cualquier homelab. Si aún no tienes un NAS donde hospedar Gitea, aquí tienes algunas recomendaciones según presupuesto: ¿Tienes dudas sobre la instalación? Déjame un comentario y te ayudo. ¡Happy coding! 🚀 Para ampliar tu conocimiento sobre homelab y NAS, consulta estas guías complementarias que profundizan en herramientas esenciales y configuraciones avanzadas:¿Por qué Git Self-Hosted?
¿Qué es Gitea?
Características Principales
Repositorios Git
Pull Requests y Code Review
Issues y Kanban
Wiki integrada
Gitea Actions (CI/CD)
Otras características
Gitea vs GitLab vs Gogs
Característica Gitea GitLab CE Gogs RAM mínima 512 MB 4 GB 512 MB CI/CD integrado ✅ Actions ✅ GitLab CI ❌ Container Registry ✅ ✅ ❌ Actividad desarrollo Alta Muy alta Baja Fácil de instalar ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐⭐⭐ Comunidad Grande Muy grande Pequeña Requisitos del Sistema
Mínimos (funcional)
Recomendados (cómodo)
Docker Compose: Instalación Completa
version: "3.8"
services:
db:
image: postgres:16-alpine
container_name: gitea-db
restart: unless-stopped
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=tu_password_segura_aqui
- POSTGRES_DB=gitea
volumes:
- ./postgres-data:/var/lib/postgresql/data
networks:
- gitea-net
gitea:
image: gitea/gitea:1.22-rootless
container_name: gitea
restart: unless-stopped
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=tu_password_segura_aqui
- GITEA__server__DOMAIN=gitea.tudominio.com
- GITEA__server__ROOT_URL=https://gitea.tudominio.com/
- GITEA__server__SSH_DOMAIN=gitea.tudominio.com
- GITEA__server__SSH_PORT=2222
- GITEA__server__SSH_LISTEN_PORT=2222
- GITEA__actions__ENABLED=true
ports:
- "3000:3000"
- "2222:2222"
volumes:
- ./gitea-data:/var/lib/gitea
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
networks:
- gitea-net
depends_on:
- db
networks:
gitea-net:
driver: bridgerootless por seguridad (no ejecuta como root).tu_password_segura_aqui por una contraseña fuerte.Guía de Instalación Paso a Paso
Paso 1: Crear directorio de trabajo
mkdir ~/gitea && cd ~/giteaPaso 2: Guardar el docker-compose.yml
nano docker-compose.yml
# Pega el contenido anterior, guarda (Ctrl+O) y sal (Ctrl+X)Paso 3: Iniciar los contenedores
docker compose up -dPaso 4: Configuración inicial
http://tu-ip:3000. Verás el asistente de instalación:Paso 5: Configurar reverse proxy (opcional pero recomendado)
gitea.tudominio.comhttptu-ip-local3000Configuración SSH para Git
git clone git@... o hacer push por SSH, necesitas configurar tu cliente:En tu máquina local
~/.ssh/config:Host gitea
HostName gitea.tudominio.com
Port 2222
User git
IdentityFile ~/.ssh/id_ed25519git clone git@gitea:usuario/mi-repo.gitgit clone ssh://git@gitea.tudominio.com:2222/usuario/mi-repo.gitAñadir tu clave SSH a Gitea
cat ~/.ssh/id_ed25519.pubCI/CD con Gitea Actions
.gitea/workflows/test.yml en tu repositorio:name: Tests
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install pytest
- name: Run tests
run: pytestGitea vs Alternativas: ¿Por Qué Elegir Gitea?
Integración con CI/CD
Conclusión
¿Te animas a probarlo?
Recursos Relacionados para tu Homelab
Precios y especificaciones sujetos a cambio. Verificar en web oficial del fabricante. Este artículo contiene enlaces de afiliado — si compras a través de ellos, nos ayudas a mantener el blog sin coste adicional para ti.
Dejar una contestacion