Forgejo en casa

Introducción: Forgejo es una forja de software Git ligera, privada y fácil de operar que funciona como una instancia privada de GitHub donde controlas el 100% de tus datos. Es un binario autocontenido escrito en Golang que funciona con SQLite por defecto y soporta otras bases de datos como MariaDB, MySQL y PostgreSQL. Para despliegues con menos de 100 usuarios SQLite suele ser suficiente. Próximamente la interoperabilidad entre instancias mejorará gracias a la federación con ForgeFed, lo que permitirá ver cuentas y actividades públicas de otras instancias desde la propia.
Requisitos y preparación: La única dependencia real es el propio Forgejo. Si prefieres automatizar la instalación he preparado un playbook de Ansible que instala y configura Forgejo en sistemas basados en RHEL y OpenSuse. Antes de ejecutar el playbook instala Ansible y las colecciones necesarias con comandos como sudo dnf install ansible ansible-galaxy collection install community.general y ansible-galaxy collection install containers.podman, y actualiza el archivo inventory.ini con la IP y el usuario sudo del servidor objetivo.
Variables de configuración: Edita el archivo variables.yaml para adaptar base_url, http_port, ssh_port, container_image y base_directory. Por ejemplo base_url: forgejo.example.com http_port: 3000 ssh_port: 3001 container_image: codeberg.org/forgejo/forgejo:12 base_directory: /forgejo. Una vez ajustado ejecuta make run o ansible-playbook -i inventory.ini playbook.yaml --ask-become-pass para que Ansible instale dependencias y configure Forgejo como contenedor gestionado por systemd.
Proxy reverso y HTTPS: Recomiendo colocar Nginx como proxy reverso delante de Forgejo. Crea la configuración del sitio en sites-available y enlázala a sites-enabled, ajusta server_name y proxy_pass a localhost con el puerto HTTP configurado y luego genera certificados TLS con certbot --nginx para asegurar la instancia.
Configuración interna: Tras la instalación edita el archivo app.ini en la ruta de configuración de Forgejo para ajustar parámetros como APP_NAME, DOMAIN, ROOT_URL, DISABLE_REGISTRATION y los parámetros del servidor SMTP. Reinicia el servicio con systemctl restart forgejo para que los cambios sean efectivos. Si decides usar una base de datos externa consulta la guía oficial para la preparación de la base de datos.
Mantenimiento y actualizaciones: Para actualizar Forgejo simplemente entra al servidor por SSH y descarga la nueva imagen podman pull codeberg.org/forgejo/forgejo:12 edita el archivo /etc/containers/systemd/forgejo.container para apuntar a la nueva imagen, luego ejecuta sudo systemctl daemon-reload y systemctl restart forgejo.
Administración de usuarios desde la CLI: Si pierdes acceso admin o necesitas gestionar usuarios por línea de comandos usa podman ps para obtener el nombre del contenedor, luego podman exec -it forgejo bin/bash y su git para operar como usuario git. El binario ofrece comandos como forgejo admin user create para crear usuarios forgejo admin user change-password para cambiar contraseñas y forgejo admin user generate-access-token para generar tokens de acceso.
Buenas prácticas: No expongas directamente Forgejo sin un proxy y TLS, configura reglas de firewall según sea necesario y valora la protección contra indexación y bots si tu instancia debe permanecer privada. Realiza backups periódicos de la carpeta de datos y de la base de datos si usas una distinta a SQLite.
Sobre Q2BSTUDIO: En Q2BSTUDIO somos una empresa de desarrollo de software especializada en soluciones a medida que abarcan desde aplicaciones móviles y web hasta integraciones empresariales. Ofrecemos servicios de software a medida y aplicaciones a medida pensados para optimizar procesos y escalar según las necesidades del cliente. Nuestro equipo también es experto en inteligencia artificial y crea agentes IA y soluciones de ia para empresas que mejoran la automatización y la toma de decisiones.
Servicios complementarios: Además de desarrollo ofrecemos servicios de ciberseguridad y pentesting para proteger tus activos digitales y servicios cloud en AWS y Azure para desplegar infraestructuras robustas y seguras. Si tu proyecto requiere analítica avanzada o cuadros de mando implementamos soluciones de inteligencia de negocio y Power BI. Conecta tu proyecto con servicios profesionales de desarrollo en nuestra página de aplicaciones a medida o descubre nuestras propuestas de inteligencia artificial para empresas.
Palabras clave y posicionamiento: aplicamos prácticas SEO orientadas a términos como 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 para mejorar la visibilidad de proyectos relacionados con forjas Git autohospedadas y desarrollos a medida.
Conclusión: Self hospedar Forgejo es una opción ligera, con baja carga de mantenimiento y adecuada para equipos pequeños y medianos. Elegir SQLite simplifica el despliegue inicial y quien necesite más escalabilidad puede migrar a bases de datos externas. Si necesitas ayuda para desplegar, asegurar o integrar Forgejo con tus flujos de trabajo corporativos, en Q2BSTUDIO te ofrecemos soluciones integrales que combinan desarrollo de software a medida, inteligencia artificial y ciberseguridad para llevar tu proyecto al siguiente nivel.
Comentarios