--- # Domains domain_base: ladkau.de domain_cloud: "cloud.{{ domain_base }}" domain_gitea: "gitea.{{ domain_base }}" domain_nextcloud: "nextcloud.{{ domain_base }}" domain_sso: "sso.{{ domain_base }}" domain_mail: "mail.{{ domain_base }}" domain_registry: "cr.{{ domain_base }}" domain_k8s: "k8s.{{ domain_base }}" # Let's Encrypt acme_email: matthias.ladkau@gmail.com # Non-root deploy user created by the base role deploy_user: deploy # System timezone timezone: Europe/Berlin # Docker network shared by all services and Traefik traefik_network: traefik_public # Traefik traefik_version: v3.6 traefik_data_dir: /opt/traefik # Dashboard basic-auth users — plaintext passwords, Ansible generates bcrypt hashes at deploy time # traefik_dashboard_users: # - username: admin # password: "your-password" traefik_dashboard_users: [] # Gitea gitea_version: "1" # major-only tag — always pulls latest 1.x patch gitea_db_version: "16" # PostgreSQL major version gitea_data_dir: /opt/gitea # Secrets — store values in ansible/group_vars/all/vault.yml (Ansible Vault) # gitea_db_password: "" # gitea_secret_key: "" # generate: openssl rand -hex 32 # gitea_internal_token: "" # generate: openssl rand -hex 32 # SSO (Keycloak) keycloak_version: "26.2" keycloak_db_version: "16" sso_data_dir: /opt/sso keycloak_admin_user: admin # Secrets — store values in ansible/group_vars/all/vault.yml (Ansible Vault) # keycloak_db_password: "" # keycloak_admin_password: "" # Nextcloud nextcloud_version: "31-apache" # apache variant includes a working web server nextcloud_db_version: "16" nextcloud_data_dir: /opt/nextcloud nextcloud_admin_user: admin # Secrets — store values in ansible/group_vars/all/vault.yml (Ansible Vault) # nextcloud_db_password: "" # nextcloud_admin_password: "" # Mail (Roundcube + Dovecot IMAP + Fetchmail) roundcube_version: "1.6.x-apache" roundcube_db_version: "16" mail_data_dir: /opt/mail # Dovecot IMAP server — Roundcube always connects to the local Dovecot container dovecot_version: "2.3" # SMTP — outgoing mail server for Roundcube (leave empty if not configured) roundcube_smtp_host: "" roundcube_smtp_port: "587" # Fetchmail — polls external POP3 accounts and delivers to local Dovecot via LMTP # poll_minutes is per-account (default: 10 minutes) # Secrets — store values in ansible/group_vars/all/vault.yml (Ansible Vault) # roundcube_db_password: "" # roundcube_des_key: "" # generate: openssl rand -hex 12 (must be exactly 24 chars) # # Dovecot users — list of {username, password} pairs (plaintext, vault is encrypted) # dovecot_users: # - username: alice # password: "plaintext-password" # # Fetchmail accounts — list of external POP3 sources to poll # fetchmail_accounts: # - server: pop.gmail.com # username: user@gmail.com # password: app-password # local_user: alice # protocol: pop3 # default: pop3 # ssl: true # default: true # keep: true # default: true — set false to delete from source after fetch # Container registry (Docker Registry v2) registry_data_dir: /opt/registry # Registry users — plaintext passwords, Ansible generates bcrypt hashes at deploy time # registry_users: # - username: alice # password: "your-password" # k8s (placeholder) k8s_data_dir: /opt/k8s # Status dashboard (public — cloud.ladkau.de root) dashboard_data_dir: /opt/dashboard