Add Caddy restart detection, auto-recovery, and metrics exposure
- Implemented health monitoring service that detects Caddy restarts/crashes - Automatically reapplies configuration when Caddy restarts - Added metrics settings UI for enabling Prometheus/Grafana monitoring - Caddy metrics exposed on separate port (default: 9090) via reverse proxy - Admin API (port 2019) kept internal-only for security - Updated docker-compose.yml with metrics port documentation 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -21,6 +21,11 @@ export type AuthentikSettings = {
|
||||
authEndpoint?: string;
|
||||
};
|
||||
|
||||
export type MetricsSettings = {
|
||||
enabled: boolean;
|
||||
port?: number; // Port to expose metrics on (default: 9090, separate from admin API)
|
||||
};
|
||||
|
||||
export async function getSetting<T>(key: string): Promise<SettingValue<T>> {
|
||||
const setting = await db.query.settings.findFirst({
|
||||
where: (table, { eq }) => eq(table.key, key)
|
||||
@@ -81,3 +86,11 @@ export async function getAuthentikSettings(): Promise<AuthentikSettings | null>
|
||||
export async function saveAuthentikSettings(settings: AuthentikSettings): Promise<void> {
|
||||
await setSetting("authentik", settings);
|
||||
}
|
||||
|
||||
export async function getMetricsSettings(): Promise<MetricsSettings | null> {
|
||||
return await getSetting<MetricsSettings>("metrics");
|
||||
}
|
||||
|
||||
export async function saveMetricsSettings(settings: MetricsSettings): Promise<void> {
|
||||
await setSetting("metrics", settings);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user