new-site/infra/ansible/inventory/group_vars/all.yml
justin a04ecf7df3 chore(email): decommission SMTP2GO references — local MTA only
SMTP2GO is no longer used: Listmonk relays through the local Postfix MTA
(172.18.0.1:25 from the Docker network), which DKIM-signs and delivers
direct-to-recipient-MX; transactional mail goes through Carbonio. Verified
zero smtp2go in any live container env + postfix has no external relayhost.

Removed the stale references so a rebuild/new dev can't re-introduce it:
- api/src/config.ts: SMTP_HOST default mail.smtp2go.com -> co.carrierone.com
- scripts/workers/crypto_payment_worker.py: same default fix
- infra/ansible all.yml: listmonk_smtp_* now 172.18.0.1:25, no auth (+comment)
- app.env.j2 / email.ts / crm.md / go-live-todo.md / architecture.svg: docs
2026-06-17 22:46:59 -05:00

123 lines
5.6 KiB
YAML

---
# Performance West — Global Ansible Variables
# ── Domains ───────────────────────────────────────────────────────────────────
domain: performancewest.net
api_domain: api.performancewest.net
portal_domain: portal.performancewest.net
crm_domain: crm.performancewest.net
analytics_domain: analytics.performancewest.net
listmonk_domain: lists.performancewest.net
dev_domain: dev.performancewest.net
dev_api_domain: api.dev.performancewest.net
shkeeper_domain: pay.performancewest.net
shkeeper_admin_domain: crypto.performancewest.net
minio_domain: minio.performancewest.net
minio_console_domain: minio-console.performancewest.net
monitoring_domain: monitoring.performancewest.net
# Windows DocServer VM (connects to MinIO externally for DOCX→PDF conversion)
docserver_ip: 108.181.102.34
# mautic retired — replaced by Listmonk; kept so old templates don't break
mautic_domain: mail.performancewest.net
deploy_user: deploy
ssh_port: 22022
project_dir: /opt/performancewest
dev_project_dir: /opt/performancewest-dev
# ── Ports (internal — host-bound by Docker or k3s) ───────────────────────────
site_port: 4322
api_port: 3001
erpnext_port: 8080
listmonk_port: 9100 # Docker maps 9100→9000 inside container
umami_port: 3100
minio_port: 9000
minio_console_port: 9001
shkeeper_port: 5000 # SHKeeper web UI (k3s NodePort)
dev_site_port: 4323
dev_api_port: 3002
# ── Let's Encrypt ─────────────────────────────────────────────────────────────
certbot_email: info@performancewest.net
certbot_webroot: /var/www/certbot
# ── PostgreSQL (API DB) ───────────────────────────────────────────────────────
pg_database: performancewest
pg_user: pw
pg_password: "{{ vault_db_password }}"
pg_backup_dir: /opt/backups/postgresql
pg_backup_retention_days: 30
# Backwards-compat aliases used by some roles
db_name: "{{ pg_database }}"
db_user: "{{ pg_user }}"
db_password: "{{ pg_password }}"
# ── ERPNext ───────────────────────────────────────────────────────────────────
erpnext_db_password: "{{ vault_erpnext_db_password }}"
erpnext_admin_password: "{{ vault_erpnext_admin_password }}"
# ── Umami ─────────────────────────────────────────────────────────────────────
umami_db_password: "{{ vault_umami_db_password }}"
umami_app_secret: "{{ vault_umami_app_secret }}"
# ── MinIO ─────────────────────────────────────────────────────────────────────
minio_access_key: "{{ vault_minio_access_key }}"
minio_secret_key: "{{ vault_minio_secret_key }}"
minio_bucket: performancewest
# ── Ollama ────────────────────────────────────────────────────────────────────
ollama_model: "{{ vault_ollama_model | default('qwen2.5:7b') }}"
# ── Transactional email (Carbonio — co.carrierone.com) ────────────────────────
# Used by: API (nodemailer), Python workers (smtplib), ERPNext notifications
# NOT used by Listmonk — Listmonk has its own SMTP configured in its admin UI
smtp_host: co.carrierone.com
smtp_port: 587
smtp_user: noreply@performancewest.net
smtp_pass: "{{ vault_smtp_pass }}"
smtp_from: "Performance West <noreply@performancewest.net>"
smtp_admin_email: ops@performancewest.net
# ── Listmonk (mass-mail via the LOCAL MTA) ───────────────────────────────────
# Listmonk SMTP is configured via its web admin UI, not env vars. Listmonk relays
# through the host Postfix (172.18.0.1:25 from inside the Docker network), which
# DKIM-signs and delivers direct-to-recipient-MX. We no longer use any external
# relay (SMTP2GO was decommissioned). These vars are kept here for documentation
# and manual reference.
listmonk_smtp_host: 172.18.0.1
listmonk_smtp_port: 25
# The local Postfix relay requires no auth (auth_protocol: none, tls_type: none).
listmonk_smtp_user: ""
listmonk_smtp_pass: ""
listmonk_admin_user: "{{ vault_listmonk_admin_user }}"
listmonk_admin_password: "{{ vault_listmonk_admin_password }}"
# Listmonk draft source campaigns cloned by scripts.build_trucking_campaigns
# for daily trucking deficiency-flag sends.
trucking_campaign_for_hire_id: 309
trucking_campaign_irp_ifta_id: 310
trucking_campaign_intrastate_id: 271
trucking_campaign_weight_tax_id: 272
trucking_campaign_emissions_id: 273
trucking_campaign_hazmat_id: 274
# ── Common packages ───────────────────────────────────────────────────────────
common_packages:
- curl
- wget
- git
- htop
- unzip
- jq
- rsync
- ufw
- fail2ban
- chrony
- unattended-upgrades
- apt-transport-https
- ca-certificates
- gnupg
- python3
- python3-pip