caddy-ui
A modern web UI for managing Caddy server — edit configs, manage routes, tail logs, and configure logging. Built with React + Node.js.
Ficha actualizada 22 sept 2026, 18:42 · upstream 22 sept 2026, 18:39 · release v1.22.0
Qué es caddy-ui
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
caddy/ui is a self-hosted management interface for Caddy. It runs as two Docker containers alongside your existing Caddy instance and communicates with Caddy's built-in admin API. Your Caddyfile remains the source of truth — the UI reads from it, writes to it, and never takes ownership away from you.
The dashboard provides live server status, TLS state overview, and server block summaries. The route manager lets you view all reverse proxy routes across server blocks with upstream health checks and uptime tracking. TLS certificate management includes expiry monitoring, orphaned cert detection, and root CA download. Access logs are streamed via SSE for real-time tailing with keyword filtering.
Additional features include log configuration from the UI, metrics collection powered by Caddy's Prometheus endpoint, notification push via ntfy or custom webhooks, dark/light themes, URL-based navigation with history support, and optional authentication through JWT tokens. The architecture separates concerns: the frontend runs in a separate container that proxies to the backend (Node.js + Express), which communicates directly with Caddy on port 2019.
- Manage your Caddy server configuration without editing raw files
- Monitor upstream health and route availability in real time
- Track TLS certificate expiry dates and manage renewals automatically
- View access logs with filtering for errors, warnings, or specific keywords
- Configure log levels directly from the UI interface
- Set up automated alerts via ntfy, Discord, Slack, or custom webhooks
- Runs as two Docker containers alongside your Caddy instance with a clean separation of concerns
- Provides real-time access logs streamed via SSE for immediate visibility into server activity
- Supports live validation and formatting of the Caddyfile directly in the editor
- Includes per-route notes that can be edited inline without modifying the source file
- Offers a comprehensive dashboard with upstream health, uptime statistics, and process information
- Supports authentication via JWT tokens to protect sensitive management endpoints
- Authentication is optional by default; requires manual configuration of CADDY_UI_USER, CADDY_UI_PASSWORD, and JWT_SECRET for full protection
- TLS certificate detection may not catch all edge cases or misconfigured certificates depending on Caddy version compatibility
- The UI does not include a built-in form builder or template engine (e.g., Jinja2) — custom templates must be provided separately
- Route notes are stored in JSON files rather than being embedded directly into the Caddyfile, which may cause sync issues if the file is moved or deleted
- The frontend uses Nginx as a reverse proxy and does not include its own web server capabilities
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Requires Docker and Docker Compose with at least two services: caddy (admin API) and caddy-ui-backend/frontend,Ensure Caddy is running on port 2019 with admin enabled, then configure the UI to connect to that URL,Set environment variables for JWT_SECRET before deploying; omitting it disables authentication entirely,The backend image copies the Caddy binary at build time — ensure a compatible version exists in your container registry or use the default latest,For production, consider using Docker Compose with volume mounts to persist logs and configuration files across restarts,Enable HTTPS on both containers by configuring SSL certificates for port 443 on Caddy and exposing the appropriate ports on the UI services
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.