church-website/infra/ansible/inventory/production.yml
Benno Tielen cb6e811c52
Some checks failed
Deploy / deploy (push) Has been cancelled
feature: infra
2026-08-17 15:48:55 +02:00

66 lines
1.8 KiB
YAML

all:
hosts:
production-vps:
ansible_host: 217.154.211.139
ansible_user: root
ansible_ssh_private_key_file: ~/.ssh/id_ed25519
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 / 8 GB shared with the Next.js app and on-server builds
postgres_server_args: >-
-c max_connections=40
-c shared_buffers=512MB
-c effective_cache_size=2GB
-c work_mem=16MB
-c maintenance_work_mem=128MB
-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
# 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