church-website/infra/ansible/inventory/production.yml
2026-08-28 14:34:04 +02:00

83 lines
2.7 KiB
YAML

all:
hosts:
production-vps:
ansible_host: 217.154.211.139
ansible_user: root
ansible_ssh_private_key_file: ~/.ssh/id_rsa
vars:
# No Forgejo on production — code is pulled from git.skick.app
install_forgejo: false
# 4 GB swap file: absorbs docker-build peaks on the 8 GB host
swap_size_mb: 4096
# Docker
docker_network: church-website-net
# PostgreSQL
postgres_container_name: postgres
postgres_image: postgis/postgis:16-3.4
postgres_volume: pgdata
# Tuned for 4 vCPU / 4 GB shared with the Next.js app and on-server builds
postgres_server_args: >-
-c max_connections=40
-c shared_buffers=256MB
-c effective_cache_size=1GB
-c work_mem=8MB
-c maintenance_work_mem=64MB
-c checkpoint_completion_target=0.9
-c max_wal_size=1GB
-c random_page_cost=1.1
-c effective_io_concurrency=200
# Databases
databases:
- name: church_website
user: church_website
password: "{{ vault_db_password }}"
# Caddy
caddy_domains:
- domain: hl-mutter-teresa-chemnitz.de
proxy_port: 3001
caddy_redirects:
- from: www.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
# Parish shortcut subdomains (replace the HTTP-only IONOS forwards;
# to_path drops the incoming URI and redirects to a fixed page)
- from: st-antonius.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
to_path: /gemeinde/st-antonius
- from: st-franziskus.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
to_path: /gemeinde/st-franziskus
- from: st-johannes-nepomuk.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
to_path: /gemeinde/st-johannes-nepomuk
- from: st-joseph.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
to_path: /gemeinde/st-joseph
- from: st-marien.hl-mutter-teresa-chemnitz.de
to: hl-mutter-teresa-chemnitz.de
to_path: /gemeinde/st-marien-zschopau
# App environments
app_environments:
- name: production
port: 3001
domain: hl-mutter-teresa-chemnitz.de
db_name: church_website
db_user: church_website
db_password: "{{ vault_db_password }}"
payload_secret: "{{ vault_payload_secret }}"
site_id: chemnitz
google_bucket: "{{ vault_google_bucket }}"
resend_api_key: "{{ vault_resend_api_key }}"
# Repo
repo_dir: /opt/church-website/repo
envs_dir: /opt/church-website/envs
scripts_dir: /opt/church-website/scripts
repo_url: "{{ vault_repo_url }}"
repo_branch: staging