Resolves authentik deployment issues by implementing proper Podman Quadlet configuration and fixing networking for external access through Caddy. Core Fixes: • Add missing [Install] sections to container Quadlet files for systemd service generation • Fix pod references from 'systemd-authentik' to 'authentik.pod' for proper Quadlet linking • Remove problematic --userns=host to use proper rootless user namespaces • Configure subuid/subgid ranges for authentik user (200000:65536) • Update networking to bind 0.0.0.0:9000 only (remove unnecessary HTTPS port 9443) • Add AUTHENTIK_LISTEN__HTTP=0.0.0.0:9000 environment configuration • Fix Caddy reverse proxy to use HTTP backend instead of HTTPS Infrastructure Updates: • Enhance PostgreSQL role with Unix socket configuration and user management • Improve Valkey role with proper systemd integration and socket permissions • Add comprehensive service integration documentation • Update deployment playbooks with backup and restore capabilities Security Improvements: • Secure network isolation with Caddy SSL termination • Reduced attack surface by removing direct HTTPS container exposure • Proper rootless container configuration with user namespace mapping Result: authentik now fully operational with external HTTPS access via auth.jnss.me All systemd services (authentik-pod, authentik-server, authentik-worker) running correctly.
74 lines
2.6 KiB
YAML
74 lines
2.6 KiB
YAML
---
|
|
# =================================================================
|
|
# Production Configuration for arch-vps (jnss.me)
|
|
# =================================================================
|
|
|
|
# =================================================================
|
|
# TLS Configuration - Production Setup
|
|
# =================================================================
|
|
caddy_tls_enabled: true
|
|
caddy_domain: "jnss.me"
|
|
caddy_tls_email: "{{ vault_caddy_tls_email }}"
|
|
|
|
# DNS Challenge Configuration (Cloudflare)
|
|
caddy_dns_provider: "cloudflare"
|
|
cloudflare_api_token: "{{ vault_cloudflare_api_token }}"
|
|
|
|
# Production Let's Encrypt CA
|
|
caddy_acme_ca: "https://acme-v02.api.letsencrypt.org/directory"
|
|
|
|
# =================================================================
|
|
# API Service Registration Configuration
|
|
# =================================================================
|
|
# Services now self-register using Caddy's admin API
|
|
caddy_api_enabled: true
|
|
caddy_server_name: "main"
|
|
|
|
# =================================================================
|
|
# Sigvild Gallery Configuration
|
|
# =================================================================
|
|
sigvild_gallery_frontend_domain: "sigvild.no"
|
|
sigvild_gallery_api_domain: "api.sigvild.no"
|
|
|
|
sigvild_gallery_local_project_path: "~/sigvild-gallery/"
|
|
|
|
# Vault-encrypted passwords (create with ansible-vault)
|
|
sigvild_gallery_pb_su_email: "{{ vault_pb_su_email}}"
|
|
sigvild_gallery_pb_su_password: "{{ vault_pb_su_password}}"
|
|
sigvild_gallery_host_password: "{{ vault_sigvild_host_password }}"
|
|
sigvild_gallery_guest_password: "{{ vault_sigvild_guest_password }}"
|
|
|
|
# =================================================================
|
|
# Authentik Configuration
|
|
# =================================================================
|
|
authentik_domain: "auth.jnss.me"
|
|
|
|
# Database configuration
|
|
authentik_db_name: "authentik"
|
|
authentik_db_user: "authentik"
|
|
authentik_db_password: "{{ vault_authentik_db_password }}"
|
|
|
|
# Cache configuration
|
|
authentik_valkey_db: 1
|
|
|
|
# Core configuration
|
|
authentik_secret_key: "{{ vault_authentik_secret_key }}"
|
|
authentik_default_admin_email: "admin@jnss.me"
|
|
authentik_default_admin_password: "{{ vault_authentik_admin_password }}"
|
|
|
|
# Service configuration
|
|
authentik_service_enabled: true
|
|
authentik_service_state: "started"
|
|
|
|
# Infrastructure socket configuration
|
|
postgresql_unix_socket_enabled: true
|
|
postgresql_listen_addresses: "" # Socket-only mode (no TCP)
|
|
valkey_unix_socket_enabled: true
|
|
|
|
# =================================================================
|
|
# Security & Logging
|
|
# =================================================================
|
|
caddy_log_level: "INFO"
|
|
caddy_log_format: "json"
|
|
caddy_systemd_security: true
|