Pablo Samuel García-Zarandieta Martínez
← Volver a proyectos

Self-hosted platform (Homelab)

Plataforma self-hosted con SSO, reverse proxy, CI/CD y agentes IA para un flujo de desarrollo reproducible y multiusuario.

2023–presentPlatform / DevOps (owner)Public / Internal-safe

TL;DR

He construido un homelab self-hosted en Fedora Server con Podman/Podman-Compose, Nginx reverse proxy y Tailscale para acceso remoto seguro (HTTPS con certificados Tailscale), y Authentik como proveedor de identidad (SSO). Sobre esa base desplegué suites de uso real (familia/pareja) y productividad: Nextcloud/Collabora, Forgejo + runners + registry, Firefly III + Metabase, y una app propia (Finance ETL Console). Además, integré agentes LLM en Forgejo (plan/exec/review/patch) para automatizar PRs con control humano y guardrails.

Role & Scope

Rol: Platform / DevOps (owner)
Periodo: 2023–present
Scope: arquitectura de plataforma, SSO/seguridad, contenedores y despliegue, operación diaria, CI/CD y automatización de workflows.

AI-assisted disclaimer (honesto):

  • Yo defino objetivos, alcance, riesgos y criterios de aceptación.
  • La IA implementa cambios a partir de specs bien definidos.
  • Yo valido end-to-end, reviso diffs críticos y verifico logs/comportamiento.
  • Control de calidad vía PRs, revisiones y rollback si hace falta.

Profile relevance

  • Primary: DevOps / Platform (infra, CI/CD, automation)
  • Secondary: Data (ETL + dashboards de finanzas)

Context

Quería una infraestructura propia (privacidad + control) con acceso remoto seguro, SSO y permisos multiusuario, y apps self-hosted con enfoque producto (documentación, reproducibilidad y roadmap). Además, buscaba automatizar el desarrollo con CI/CD y agentes integrados en el workflow.

Deep dives

Deep dive — Platform infra (runtime + proxy + acceso)

Lo implementado

  • Fedora Server + Podman/Compose como runtime.
  • Reverse proxy Nginx con TLS (Tailscale certs).
  • Rutas por subpath, DNS local con Pi-hole.
  • Estructura infra/ + data/ separando stacks y persistencia.

Tradeoffs / decisiones

  • Subpaths vs subdominios (menos fricción inicial, más complejidad en algunas apps).
  • Autostart parcial (pendiente systemd/quadlets).

Architecture diagram Infra flow

Deep dive — Identity & access (SSO)

  • Authentik como IdP central.
  • OIDC/SAML/Forward Auth según la app.
  • Objetivo: reducir fricción y asegurar trazabilidad por usuario/grupo.

Deep dive — AI agents in CI (Dev workflow)

Go to standalone case study: AI agents in CI →

Cómo funciona

  • Bots en Forgejo (sabaris-ai-bot, sabaris-review-bot).
  • Comandos en issues: run/plan, run/exec, run/review, run/patch.
  • Runners dedicados: implementador vs revisor (principio de mínimo privilegio).

Resultados y límites

  • Iteraciones más rápidas con control humano final.
  • Gap actual: bug en contador de iteraciones → riesgo de coste.

Agent flow

Deep dive — Finance ETL Console (producto propio)

Go to standalone case study: Finance ETL Console →

Aplicación web para automatizar importaciones en Firefly:

  • UI Jinja2/HTMX + API FastAPI.
  • OIDC con Authentik.
  • Dedupe local + dedupe contra Firefly API.
  • Parsers por banco (CSV/PDF).

ETL flow

Deep dive — Service suite (alto nivel)

  • Office: Nextcloud + Collabora, Joplin (SSO pendiente).
  • DevTools: Forgejo + runners + registry, code-server.
  • Finance: Firefly III + Metabase + Finance ETL Console.

Service map

Outcomes & Impact

  • Plataforma self-hosted operativa con SSO multiusuario.
  • Workflows de desarrollo automatizados con guardrails.
  • App de finanzas desplegada y en uso.

Roadmap (honesto)

  • P0: backups MVP + restore test documentado, cerrar puertos directos y pasar todo por Nginx, estándar de redes Podman.
  • P1: autostart systemd/quadlets, unificación de secrets/vars, hardening de runners, guardrails de coste para agentes.

Learnings

  • SSO cambia el juego en adopción multiusuario.
  • Agents + PRs encajan perfecto en workflows humanos.
  • Publicar infra es un proyecto en sí (sanitizado, documentación, reproducibilidad).

Media / Evidence

  • Diagramas: arquitectura, infra flow, agentes, mapa de servicios, ETL flow.
  • Links de contexto:
    • https://tailscale.com/
    • https://podman.io/
    • https://goauthentik.io/