POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Forgejo Autoalojado

Guía completa para autoalojar Forgejo: instalación, configuración, federación y mantenimiento

Publicado el 08/09/2025

Hola a todos, en este artículo explico cómo autoalojar Forgejo y cómo realizar las operaciones de mantenimiento más comunes traducido y adaptado al español para facilitar su implementación.

Introducción: Forgejo es una forja Git ligera, privada y fácil de operar que funciona como una instancia privada de GitHub en la que controlas el 100 por ciento de tus datos. Es un binario autónomo escrito en Golang que funciona por sí solo y, por defecto, usa SQLite aunque también soporta MariaDB, MySQL y PostgreSQL. Para despliegues de menos de 100 usuarios SQLite suele ser suficiente.

Federación: una limitación actual es la interacción entre usuarios en distintas instancias, problema que se soluciona con la federación. El protocolo ForgeFed es el estándar en desarrollo para permitir que distintas instancias compartan cuentas, actividades públicas e interacciones desde cada propia instancia.

Requisitos y preparación: la forma más sencilla de automatizar la instalación es mediante un playbook Ansible. El playbook puede ejecutarse en distribuciones basadas en RHEL como Fedora, RockyLinux, CentOS o AlmaLinux y en OpenSuse. Instala Ansible y colecciones necesarias como community.general y containers.podman, y luego actualiza el archivo inventory.ini con la IP del servidor y el usuario sudo con el que Ansible se conectará por SSH.

Configuración de variables: edita variables.yaml para ajustar base_url, puertos HTTP y SSH, imagen de contenedor y base_directory. Por ejemplo puedes usar la imagen codeberg.org/forgejo/forgejo:12 y un directorio base como /forgejo. Después ejecuta make run o ansible-playbook -i inventory.ini playbook.yaml --ask-become-pass para desplegar.

Ejecución y contenedores: Forgejo puede ejecutarse en un contenedor gestionado por systemd como quadlet o mediante Podman. Asegúrate de que el servicio systemd queda correctamente definido y habilitado para iniciar en el arranque.

Exponer la aplicación: para poner Forgejo en Internet se recomienda un proxy inverso Nginx. Configura un bloque de servidor que haga proxy_pass a https://localhost:3000 y ajusta client_max_body_size para permitir subidas de repositorios grandes. Genera certificados TLS con certbot --nginx o con cualquier ACME compatible para habilitar HTTPS y redirecciones a 443.

Configuración interna: edita el archivo app.ini ubicado en /forgejo/gitea/conf para ajustar parámetros como APP_NAME, RUN_MODE, WORK_PATH y las secciones server, service y mailer. Desactiva el registro público si no quieres permitir que cualquiera cree cuentas, y configura el servidor SMTP para notificaciones. Después de editar app.ini reinicia el servicio con systemctl restart forgejo para que los cambios se apliquen.

Base de datos: si planeas migrar de SQLite a una base de datos dedicada consulta la guía de preparación de bases de datos de Forgejo para crear usuarios y esquemas antes de conectar la aplicación.

Mantenimiento y actualizaciones: para actualizar Forgejo baja la nueva imagen con podman pull codeberg.org/forgejo/forgejo:12, actualiza la referencia de imagen en la definición del contenedor systemd y ejecuta sudo systemctl daemon-reload seguido de systemctl restart forgejo. Verifica el arranque y los logs para confirmar que la nueva versión funciona correctamente.

Administración por línea de comandos: si necesitas gestionar usuarios sin acceso a la interfaz web puedes usar la utilidad administrativa incluida. En el contenedor o en el entorno de ejecución ejecuta comandos como forgejo admin user create para crear usuarios, forgejo admin user change-password para cambiar contraseñas o forgejo admin user generate-access-token para generar tokens. Para acceder al shell del contenedor usa podman ps para identificar el contenedor y podman exec -it nombre_contenedor bash y luego ejecuta los comandos como el usuario git si es necesario.

Operaciones comunes: sincronización de releases con tags, regeneración de archivos específicos, gestión de proveedores de autenticación externa y envío de mensajes a usuarios son tareas que se pueden automatizar con los comandos que proporciona la herramienta administrativa interna.

Seguridad y buenas prácticas: no expongas Forgejo directamente sin un proxy y TLS, limita el acceso SSH y considera proteger la instancia frente a indexación y bots. Implementa backups regulares de la base de datos y del directorio de datos, y controla los permisos de archivos. Si buscas reforzar la seguridad y auditoría puedes apoyarte en servicios profesionales de ciberseguridad y pentesting.

Sobre Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad, servicios cloud AWS y Azure, y soluciones de inteligencia de negocio. Podemos ayudarte a integrar Forgejo dentro de una arquitectura gestionada, ofrecer automatización de despliegues y diseñar integraciones con pipelines CI CD a medida. Con nuestro enfoque en ia para empresas y agentes IA optimizamos flujos de trabajo y automatizamos tareas repetitivas.

Servicios recomendados: si tu objetivo es crear repositorios privados integrados en procesos empresariales podemos desarrollar soluciones personalizadas y multiplataforma adaptadas a tus necesidades consultando nuestras soluciones de software a medida o desplegar la infraestructura en la nube con soporte para AWS y Azure mediante nuestros servicios cloud AWS y Azure. Además ofrecemos servicios de inteligencia de negocio y Power BI para explotar los datos de desarrollo y operación y servicios de ciberseguridad para proteger tu código y pipelines.

Conclusión: Forgejo es una opción excelente para equipos que necesitan control total sobre su código con bajos requisitos de recursos y mantenimiento. Su compatibilidad con SQLite facilita despliegues pequeños, mientras que la posibilidad de usar bases de datos externas y federación con ForgeFed lo hace escalable. Si necesitas apoyo en el diseño, despliegue o aseguramiento de tu instancia podemos ayudarte en Q2BSTUDIO con proyectos de integración, automatización y seguridad adaptados a tu organización.

Gracias por leer, si quieres que gestionemos o implementemos tu instancia de Forgejo o cualquier solución de software a medida contacta con Q2BSTUDIO para una consultoría personalizada.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio