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>
OpenGist como alternativa autoalojada a GitHub Gists con autenticación
OIDC delegada a Authentik.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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>
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>
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>
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>
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>
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>
- 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>
- 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>
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>
- 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>
- 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>
- 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>
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>
- Nextcloud: ajustes en docker-compose.yml y stack.env
- Paperless-ngx: ajustes en docker-compose.yml y stack.env
(ambos stacks comparten integración via WebDAV para sincronizar bandeja)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- create-auth-app.sh: script interactivo para crear providers y
aplicaciones en Authentik vía API, automatizando la integración SSO
- docker-compose.yml y stack.env: ajustes del stack
- README.md: documentación actualizada
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- adguard-cert-sync.service / .timer: unidades systemd para renovar
automáticamente el certificado TLS de AdGuard cuando Traefik lo renueva
- sync-adguard-cert.sh: script que copia cert desde /opt/traefik/certs
y reinicia AdGuard vía API
- docker-compose.yml y stack.env: ajustes menores
- README.md: documentación actualizada con instrucciones de instalación
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- docker-compose.yml y stack.env: ajustes generales del stack
- traefik-dashboard.yml: nueva config dinámica para exponer el dashboard
vía Traefik con autenticación Authentik
- README.md: documentación actualizada
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- .gitignore: añadir reglas para .env, *.live.yaml, .codex, .vscode, certs
- README.md y COOLIFY-TEMPLATE.md: actualizados con nuevos stacks
- NUEVA-APP.md: guía para añadir nuevas apps al homelab
- PROMPT-SSO-ISSUE.md: contexto de debugging SSO/Authentik
- .github/copilot-instructions.md: instrucciones de arquitectura para Copilot
- docker-compose.yml raíz: ajustes al stack de Portainer
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Data was in /opt/adguard/{work,conf} and /opt/authentik/{postgres,redis}
all along. Previous commit used named volumes which would ignore this data.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Gotcha 1: dynamic config dir is /opt/traefik/dynamic, NOT /data/coolify/proxy/dynamic
- Gotcha 2: entrypoints are http/https (not web/websecure); coolify.yaml fix location
- Gotcha 3: env vars in bind mount paths become named volumes in Coolify
- Gotcha 4: SSH MaxSessions must be >= 10 for parallel deploy sessions
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>