Commit Graph

100 Commits

Author SHA1 Message Date
Eduardo David Paredes Vara 4ab365deda docs(litellm): document deployment and Codex auth 2026-08-16 20:02:23 +00:00
Eduardo David Paredes Vara ac82477aee feat(cloudflare): replace tunnel helper with dns manager 2026-08-09 17:30:14 +00:00
Eduardo David Paredes Vara 587495c195 docs(apps): expand configuration and integration guides 2026-08-09 17:15:58 +00:00
Eduardo David Paredes Vara 4563322851 docs(apps): add missing deployment guides 2026-08-09 17:00:27 +00:00
Eduardo David Paredes Vara 9f7dbaba41 feat(ghost-me): add personal site deployment 2026-08-09 16:56:56 +00:00
Eduardo David Paredes Vara a012c914a8 feat(ghost-me): add personal site theme 2026-08-09 16:56:56 +00:00
Eduardo David Paredes Vara 927d4007f6 feat(ghost): add news publishing service 2026-08-09 16:56:50 +00:00
Eduardo David Paredes Vara 0ccfa73344 feat(n8n): add rss ai digest environment 2026-07-25 19:34:14 +00:00
Eduardo David Paredes Vara 35aa22982b fix(freshrss): protect web while leaving api available 2026-07-25 17:03:39 +00:00
Eduardo David Paredes Vara b6b981328f fix(freshrss): keep rss reader always on 2026-07-25 17:00:28 +00:00
Eduardo David Paredes Vara eee6bf2a76 fix(freshrss): remove sso from mobile-compatible route 2026-07-25 16:58:26 +00:00
Eduardo David Paredes Vara a568d49aa4 fix(freshrss): expose mobile api without sso 2026-07-25 13:34:05 +00:00
Eduardo David Paredes Vara 1911fba582 feat(freshrss): add personal rss reader 2026-07-25 13:25:13 +00:00
Eduardo David Paredes Vara 95a5f11870 fix(ops): protect sablier services from unsafe prune 2026-07-25 13:00:52 +00:00
Eduardo David Paredes Vara 05444afc54 chore(security): remove committed basic auth examples 2026-07-25 12:16:22 +00:00
Eduardo David Paredes Vara 878009b519 fix(observability): accept restricted on-demand endpoints 2026-07-25 11:29:45 +00:00
Eduardo David Paredes Vara b9291b9c99 feat(observability): consolidate ops reports in python 2026-07-25 11:22:37 +00:00
Eduardo David Paredes Vara 10d2a301e0 fix(opencode): retire legacy host route 2026-07-25 11:22:13 +00:00
Eduardo David Paredes Vara aaf50e5af7 feat(ai): update n8n and paperless model stack 2026-07-25 11:21:57 +00:00
Eduardo David Paredes Vara 393a716d57 feat(litellm): add gpt-5.6-sol model 2026-07-25 11:21:40 +00:00
Eduardo David Paredes Vara 6e6971da59 feat: add utility service stacks 2026-07-25 11:21:23 +00:00
Eduardo David Paredes Vara 4536b3a36a refactor(compose): protect services and centralize routing 2026-07-25 11:21:08 +00:00
Eduardo David Paredes Vara 29988f3149 chore(kasm): move stack to deprecated area 2026-07-25 11:20:46 +00:00
Eduardo David Paredes Vara 3b7f2a2fa1 docs: document direct compose workflow 2026-07-25 11:20:27 +00:00
Eduardo David Paredes Vara d64191865b feat(litellm): renombrar modelos DeepSeek a alias thsllm
Cambia los model_name públicos de deepseek-chat/reasoner a thsllm-chat/reasoner
para que las trazas de red hacia el VPS no revelen el proveedor subyacente.
El enrutamiento interno a deepseek/deepseek-* no cambia.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:03:52 +00:00
Eduardo David Paredes Vara c954faa827 fix(openwebui): deshabilitar Ollama y corregir variable de entorno
- ENABLE_OLLAMA_API=false: desactiva Ollama explícitamente (OLLAMA_BASE_URL=""
  no era suficiente para que OpenWebUI dejara de intentar conectar)
- Actualizado stack.env con la nueva variable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 06:00:06 +00:00
Eduardo David Paredes Vara f5a87901d5 docs(openwebui): aclarar que OPENAI_API_KEY es la LITELLM_MASTER_KEY
El nombre del campo es heredado de OpenWebUI; no es una key de OpenAI.
LiteLLM gestiona el auth de Codex internamente vía OAuth tokens.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:54:33 +00:00
Eduardo David Paredes Vara 11f24ff64d feat(openwebui): añadir stack.env con configuración de LiteLLM y Authentik SSO
- OPENAI_API_BASE_URL apunta a http://litellm:4000/v1 (red proxy compartida)
- Modelos descubiertos automáticamente desde /v1/models de LiteLLM
- Login sin formulario: Authentik inyecta email/nombre vía trusted headers
- ENABLE_SIGNUP y ENABLE_LOGIN_FORM desactivados (acceso solo vía SSO)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:53:02 +00:00
Eduardo David Paredes Vara f390ac8828 feat(privatebin): añadir stack de pastebin cifrado end-to-end
PrivateBin como pastebin autohospedado con cifrado en el cliente,
protegido con Authentik SSO.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:55 +00:00
Eduardo David Paredes Vara 66bec9992d feat(openwebui): añadir stack de interfaz web para modelos de IA
Open WebUI conectado al gateway LiteLLM, con autenticación delegada
a Authentik mediante trusted headers (X-Authentik-Email/Name).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:54 +00:00
Eduardo David Paredes Vara da4baf44ab feat(opengist): añadir stack de gists autohospedados con SSO
OpenGist como alternativa autoalojada a GitHub Gists con autenticación
OIDC delegada a Authentik.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:54 +00:00
Eduardo David Paredes Vara d771ea9dd5 feat(opencode): añadir stack del agente de código OpenCode
OpenCode como agente de desarrollo con acceso al filesystem del host,
expuesto vía Traefik con autenticación forward auth de Authentik.
Incluye configuración de systemd para modo web y ejemplos de .env.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:44 +00:00
Eduardo David Paredes Vara c484e502c2 feat(onetimesecret): añadir stack de compartición segura de secretos
OneTimeSecret para compartir contraseñas y datos sensibles mediante
enlaces de un solo uso, con integración OIDC a Authentik.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:44 +00:00
Eduardo David Paredes Vara 975554892a feat(litellm): añadir gateway de IA con proveedor Codex personalizado
Proxy LiteLLM que enruta peticiones a DeepSeek y a los modelos Codex
de OpenAI (gpt-5.5, gpt-5.4, gpt-5.3-codex, gpt-5.4-mini, gpt-5.2)
usando los tokens OAuth del CLI de Codex en lugar de la API estándar.

- codex_provider.py: proveedor CustomLLM que llama a
  chatgpt.com/backend-api/codex/responses con renovación automática
  de tokens JWT
- config.yaml: model_list con prefijo cx- para evitar interceptación
  por litellm.open_ai_chat_completion_models
- docker-compose.yml y stack.env: configuración del stack

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:34 +00:00
Eduardo David Paredes Vara 7b4ed3e05e feat(kasm): añadir stack de workspaces aislados en navegador
Kasm Workspaces para ejecutar aplicaciones de escritorio en contenedores
accesibles desde el navegador, protegido con Authentik SSO.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:12 +00:00
Eduardo David Paredes Vara 26898ac1fe feat(homepage): añadir stack de dashboard del homelab
Dashboard centralizado con widgets de estado de servicios, integración
con Docker para mostrar contenedores y acceso SSO vía Authentik.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:12 +00:00
Eduardo David Paredes Vara 49a4cfd510 feat(guacamole): añadir stack de escritorio remoto vía navegador
Apache Guacamole para acceso RDP/SSH/VNC desde el navegador, protegido
con Authentik SSO. Incluye script de inicialización de base de datos.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:05 +00:00
Eduardo David Paredes Vara 8b16744da8 feat(dozzle): añadir stack de visualización de logs de contenedores
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:49:04 +00:00
Eduardo David Paredes Vara 49a7e16da1 feat(crowdsec): añadir stack de detección de intrusiones con Grafana
- docker-compose.yml: CrowdSec + bouncer de Traefik + Postgres + Grafana
- setup.sh: configuración inicial de colecciones, bouncers y whitelist
- metrics-export.sh: exportación de métricas al endpoint de Prometheus
- traefik-crowdsec-bouncer.yml: config dinámica de Traefik para el bouncer
- stack.env: plantilla con API keys y configuración

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:58 +00:00
Eduardo David Paredes Vara 38587699f9 feat(cloudflared): añadir stack de Cloudflare Tunnel + gestión DNS
- docker-compose.yml: tunnel de Cloudflare para exponer servicios sin
  abrir puertos en el router
- add-domain.sh: script para añadir subdominios al tunnel y crear
  registros DNS en Cloudflare vía API
- stack.env: plantilla con tokens y configuración del tunnel

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:58 +00:00
Eduardo David Paredes Vara 6dd699fcfe feat(bookstack): añadir stack de wiki con integración Authentik SSO
Wiki basada en BookStack con autenticación delegada a Authentik via OIDC.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:47 +00:00
Eduardo David Paredes Vara 2ea6457b8a feat(beszel): añadir stack de monitorización de servidores
Stack ligero para monitorizar recursos del host y contenedores Docker.
Incluye agente local y servidor con interfaz web protegida por Authentik.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:47 +00:00
Eduardo David Paredes Vara 616b20f285 feat(backups): añadir stack de backups cifrados con Kopia + Cloudflare R2
- init-r2-repository.sh: inicializa repositorio Kopia en R2
- run-backup.sh: ejecuta backup de rutas definidas en backup-paths.txt
- pre-backup-dumps.sh: vuelca bases de datos (Postgres, MariaDB) antes del backup
- kopia-common.sh: funciones compartidas de autenticación y configuración
- restore-smoke-test.sh: test de restauración para verificar integridad
- backup-paths.txt / excludes.txt: rutas y exclusiones del backup
- systemd/: unidades kopia-server, kopia-docker-backup (service + timer)
- traefik-kopia.yml: exposición del servidor Kopia vía Traefik
- env.example: plantilla de variables (credenciales R2, contraseña repo)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:38 +00:00
Eduardo David Paredes Vara 6ba696ff2b fix(wireguard): actualizar stack VPN y documentación
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:28 +00:00
Eduardo David Paredes Vara 4644da06c4 feat(karakeep): añadir stack de archivo de enlaces con OCR e IA
- stack.env: plantilla con configuración de modelos de inferencia
  (text, embedding) y parámetros de OCR multilingüe (eng, spa)
- docker-compose.yml: ajustes del stack

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:28 +00:00
Eduardo David Paredes Vara c158569a04 fix(media-server): actualizar documentación del stack multimedia
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:28 +00:00
Eduardo David Paredes Vara e9f35d7154 fix(trilium, vikunja): actualizar stacks de notas y tareas
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:27 +00:00
Eduardo David Paredes Vara faaffc2a3b feat(memos): añadir proxy de reescritura de rutas para Authentik SSO
- proxy/server.js: proxy Node.js que reescribe la ruta del callback OAuth
  de Authentik (/auth/callback → /api/v1/auth/oauth/authentik/callback)
  resolviendo la incompatibilidad entre la URL que Authentik envía y la
  que espera Memos
- docker-compose.yml y stack.env: actualizados para incluir el proxy

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:15 +00:00
Eduardo David Paredes Vara 46d7a28210 feat(n8n-observability): añadir stack de observabilidad con agente IA
Stack de scripts y plantillas para generar reportes diarios del homelab
usando n8n como orquestador y un modelo de IA como redactor:

- scripts/server-summary.sh: métricas del sistema (CPU, RAM, disco)
- scripts/log-digest.sh: resumen de logs de Traefik y contenedores
- scripts/health-results.sh: estado de servicios y checks
- scripts/codex-reauth.sh: reautenticación OAuth del proveedor Codex
- templates/ai-daily-report-prompt.md: prompt para el informe diario
- workflows/workflow-design.md: diseño del workflow de n8n
- config/services.example.json: ejemplo de configuración de servicios

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:07 +00:00
Eduardo David Paredes Vara 6b641981dd fix(n8n): actualizar stack de automatización de workflows
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-25 05:48:07 +00:00