Migrar de GitHub a Forgejo: infraestructura autoalojada con Podman y Systemd

Fuentes: A deep dive into my Forgejo setup

El ingeniero Alexander Fortin relata en detalle cómo abandonó GitHub por la degradación del servicio y montó su propia instancia de Forgejo en un VPS económico, replicando la experiencia de la plataforma de Microsoft con software libre. El artículo funciona como guía práctica y didáctica para quien considere la migración.

Fortin eligió Forgejo, el proyecto impulsado por Codeberg, por su compatibilidad con la API de GitHub, su interfaz casi idéntica, su desarrollo en Go y la estabilidad de su ciclo de lanzamientos. Su stack se compone de un VPS Debian Trixie de OVH (4 vCPU, 8 GB de RAM, 75 GB de almacenamiento, unos 60 € anuales), Podman con Quadlets gestionados por Systemd, Caddy como proxy inverso con TLS automático, Forgejo Runner para CI/CD, Webhook, Ansible y OpenTofu para la configuración declarativa, Renovate para actualizar dependencias, Restic para copias de seguridad diarias y Axiom con Vector para la observabilidad.

El autor ejecuta todos los contenedores en modo rootless y administra los servicios con los comandos habituales de Systemd. Una unidad Quadlet de ejemplo muestra cómo define el contenedor de Forgejo, con Image=codeberg.org/forgejo/forgejo:16, publicación de puertos y volumen persistente. La pieza también enumera los paquetes complementarios que necesita Podman (uidmap, passt, fuse-overlaysfs, aardvark-dns, buildah y crun) y compara tiempos de CI: una build con Podman que tardaba 20 minutos 54 segundos en GitHub se completa en 3 minutos 19 segundos en su Runner. El texto queda truncado antes de abordar las tareas recurrentes, la migración de repositorios y la gestión de IaC mediante GitOps, temas que el autor promete desarrollar más adelante.