Forgejo Autoalojado

Forgejo es una plataforma ligera para alojar repositorios Git privados y autogestionados. Despliega con Ansible, usa contenedores y bases de datos, configura TLS con Nginx y gestiona usuarios desde la CLI. Control total y seguridad para tu equipo.

martes, 16 de septiembre de 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Introducción: Forgejo es una plataforma ligera para alojar repositorios Git privada, fácil de operar y con requisitos de recursos reducidos. Piensa en ella como tu propio GitHub privado donde controlas el 100% de los datos. Forgejo es un binario escrito en Golang y es autosuficiente, viene por defecto con SQLite y soporta bases de datos como MariaDB, MySQL y PostgreSQL. Para despliegues con menos de 100 usuarios SQLite suele ser suficiente.

Federación: Una limitación actual es la interacción entre usuarios de distintas instancias. Si tu vecino aloja su propia instancia y quieres seguirle o dar me gusta a un repositorio necesitas crear una cuenta en su instancia. Esto se está resolviendo con la federación basada en el protocolo ForgeFed que permitirá compartir cuentas, actividades públicas e interacciones entre instancias manteniendo el control desde tu propio servidor.

Autoalojamiento mediante Ansible: Para automatizar el despliegue puede usarse un playbook de Ansible que instala Forgejo como contenedor gestionado por systemd. El playbook descrito originalmente funciona en distribuciones basadas en RHEL y OpenSUSE. Pasos clave: instalar Ansible y colecciones necesarias con comandos como sudo dnf install ansible y ansible-galaxy collection install community.general containers.podman ansible.posix. Actualiza el archivo inventory.ini con la IP y el usuario sudo del servidor destino y ajusta variables en variables.yaml como base_url, http_port, ssh_port, container_image y base_directory. Por ejemplo container_image: codeberg.org/forgejo/forgejo:12 y base_directory: /forgejo. Ejecuta ansible-playbook -i inventory.ini playbook.yaml --ask-become-pass o make run para iniciar la instalación. Ansible conectará por SSH e instalará dependencias, configurará el contenedor y generará las unidades de systemd correspondientes.

Configuración del proxy y HTTPS: Recomiendo colocar Nginx como proxy inverso delante de Forgejo para gestionar TLS y límites de tamaño. Crea un bloque en /etc/nginx/sites-available/forge y enlázalo a sites-enabled apuntando a la dirección local del servicio, por ejemplo proxy_pass https://localhost:3000. Luego usa certbot --nginx para obtener certificados y habilitar HTTPS en el dominio elegido.

Archivos de configuración: Después de la instalación ajusta el archivo de configuración app.ini ubicado en /forgejo/gitea/conf o en la ruta que haya creado el playbook. Parámetros a considerar son DOMAIN, ROOT_URL, SSH_DOMAIN, APP_DATA_PATH, y opciones como DISABLE_REGISTRATION para desactivar el registro público. Configura también los datos de SMTP si deseas que la plataforma envíe notificaciones por correo.

Reinicio y bases de datos: Para que los cambios se apliquen reinicia el servicio con systemctl restart forgejo. Si prefieres usar una base de datos externa sigue la guía oficial para preparar MariaDB, MySQL o PostgreSQL y actualiza la configuración en app.ini.

Mantenimiento y actualizaciones: Actualizar la versión es sencillo. En el servidor host ejecuta podman pull codeberg.org/forgejo/forgejo:12 actualiza la línea Image en /etc/containers/systemd/forgejo.container y luego sudo systemctl daemon-reload y systemctl restart forgejo. De este modo se aplica la nueva imagen sin procedimientos complejos.

Gestión de usuarios desde la CLI: Si necesitas administrar usuarios sin acceso a la interfaz web puedes entrar al contenedor con podman exec -it forgejo bin/bash, cambiar al usuario git con su git y usar la herramienta de CLI integrada forgejo admin. Con forgejo admin user create puedes crear usuarios, con forgejo admin user change-password puedes restablecer contraseñas y con forgejo admin user generate-access-token generar tokens de acceso para integraciones. También existen comandos para regenerar archivos, sincronizar releases y gestionar proveedores de autenticación externa.

Buenas prácticas de seguridad: Protege la instancia limitando el acceso público cuando sea necesario, configura un firewall y utiliza certificados TLS. Considera complementar la protección con soluciones anti-bots y políticas de acceso. Si necesitas pruebas de seguridad o pentesting profesional puedes consultar nuestras soluciones de ciberseguridad para evaluar y reforzar la plataforma.

Servicios y experiencia de Q2BSTUDIO: En Q2BSTUDIO somos una empresa dedicada al desarrollo de software y aplicaciones a medida, especialistas en inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos desarrollo de aplicaciones y software a medida para equipos que necesitan soluciones personalizadas y mantenibles. Si buscas un partner para crear una plataforma de gestión de código o integrar Forgejo en un ecosistema a medida visita nuestra página de desarrollo de aplicaciones y software a medida. Para desplegar con alta disponibilidad y escalabilidad podemos acompañarte con servicios cloud en AWS y Azure, más información en nuestra página de servicios cloud AWS y Azure.

Palabras clave y ventajas: Este enfoque facilta la creación de un entorno privado de control de código y se integra con prácticas modernas como despliegue mediante contenedores, automatización con Ansible y autenticación segura. Q2BSTUDIO puede ayudar a integrar inteligencia artificial en flujos de trabajo de desarrollo, crear agentes IA para automatizar tareas repetitivas, implantar soluciones de inteligencia de negocio y paneles con power bi, y garantizar la ciberseguridad de la plataforma. Palabras clave relevantes para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Conclusión: Autoalojar Forgejo es una opción práctica para equipos y organizaciones que desean control total sobre sus repositorios con una huella de mantenimiento baja. Si necesitas soporte para el despliegue, integración con bases de datos, certificados TLS, automatización o auditoría de seguridad, en Q2BSTUDIO ofrecemos servicios integrales para acompañarte en todo el ciclo de vida del proyecto.

NUESTROS SERVICIOS

Cómo podemos ayudarte

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.