# -------------------------------------------------------------- # General # -------------------------------------------------------------- public_ipv4: "15.204.117.53" matrix_domain1: "matrix.fpov.space" site_domain: "org.fpov.space" teamspeak_domain: "ts.fpov.space" turn_domain: "turn.fpov.space" matrix_email: "boxswappers@gmail.com" # -------------------------------------------------------------- # Ports # -------------------------------------------------------------- traefik_http_port: 80 traefik_https_port: 443 # --- TURN ------------------------------------------------------- turn_listen_port: 3478 turn_tls_port: 5349 turn_secret: "7A9F2C4E1B8D6035A2F7E9C1B4D68053" turn_static_secret: "fordeathyoudietoday" # --- Synapse ---------------------------------------------------- synapse_http_port: 8008 synapse_api_port: 8448 # --- Matrix ------------------------------------------------------ registration_shared_secret: "1KFs@=d&l6BGPD0GAwa55ePu+bF7Vgtk@~x#l3tQyKl#_q0etp" macaroon_secret_key: "5GongrU~_kQ9L1-f.nU21sdiz~e63+Wwq;iS7XdPA2giDqZ#xH" form_secret: "Ubwo=AThaygGi0iySK*H4i9xUOORCQM#eDMd@E,DqW3DcfqYJG" matrix_container_name: "synapse" # --- Teamspeak --------------------------------------------------- teamspeak_image: "docker.io/teamspeak:3.13.7" teamspeak_container_name: teamspeak teamspeak_udp_port: 9987 # voice (UDP) – exposed directly on the host teamspeak_tcp_port: 10011 # query (TCP) – will be routed via Traefik teamspeak_file_port: 30033 # file‑transfer (TCP) – optional, expose directly #----Postgres----------------------------------------------------- postgres_db: synapse postgres_user: mMwHLfdO6tz5N postgres_pw: 9mKeSFE7tH2eY # -------------------------------------------------------------- # Container images # -------------------------------------------------------------- db_image: "docker.io/postgres:16-alpine" traefik_image: "docker.io/traefik:v3.6.11" turn_image: "docker.io/coturn/coturn:4.9.0" synapse_image: "docker.io/matrixdotorg/synapse:latest" nginx_image: "docker.io/nginx:alpine" npm_image: "docker.io/jc21/nginx-proxy-manager:latest" # -------------------------------------------------------------- # Podman names & volumes # -------------------------------------------------------------- podman_network: matrix_net vol_traefik: traefik_data vol_synapse: synapse_config vol_media: synapse_media vol_turn: turn_data vol_nginx: nginx_html vol_teamspeak: teamspeak_data npm_data: npm_data npm_letsencrypt: letsencrypt vol_db: postgres_db # -------------------------------------------------------------- # Paths on the target host (temporary files) # -------------------------------------------------------------- static_traefik_path: "/tmp/traefik_static.toml" dynamic_traefik_path: "/tmp/traefik_dynamic.yml" turn_conf_path: "/tmp/turnserver.conf" synapse_cfg_path: "/tmp/homeserver.yaml" nginx_html_path: "/tmp/index.html" synapse_secret_key_path: "/tmp/matrix.fpov.space.signing.key" synapse_log_config: "/tmp/matrix.fpov.space.log.config" # ----------------------------------------------------------------- # NEW – Google OAuth2 (OpenID Connect) credentials # ----------------------------------------------------------------- google_oidc_client_id: "YOUR_GOOGLE_CLIENT_ID" google_oidc_client_secret: "YOUR_GOOGLE_CLIENT_SECRET" # Optional – the scopes you want to request (the default works for most cases) google_oidc_scopes: - openid - email - profile # -------------------------------------------------------------- # Landing page HTML # -------------------------------------------------------------- matrix_domain: "matrix.example.com" landing_title: "Welcome to {{ matrix_domain }}" # you can embed other vars here landing_tagline: "Matrix + Traefik + Teamspeak – all in one stack" landing_message: | This host runs a Matrix homeserver (Synapse), a reverse-proxy (Traefik) with automatic Let’s Encrypt certificates, a TURN server for voice/video, and a simple landing page.