Files
smb-online/playbooks/tier-b-selfhosted.md
T
mivanchenko 319218ce21
Test backoffice (smb-crm) / test (push) Has been cancelled
Remove Google Sheets mirror entirely (#13)
Postgres is now the sole source of truth: delete sheets.py and
import_from_sheets.py, strip mirror_entity/mirror_async/_mirror_worker and
POST /api/sync from app.py, drop the tab/mirror keys from db.py's TABLES.
Re-point n8n/renewal-reminder.json at the CRM's own HTTP API (GET
/api/clients, POST /api/activity_log) instead of the Sheets nodes, and drop
SHEET_ID/GOOGLE_SA_JSON from deploy env/compose and requests from
requirements.txt (PyJWT stays — still used by booking_api.py). Updates
docs/README/playbooks accordingly and closes the old #5 (atomic mirror) as
moot.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 11:29:57 +02:00

2.0 KiB
Raw Blame History

Playbook — Tier B (self-hosted / privacy)

For privacy-sensitive businesses (physio, medical, legal, tax, therapy). Data stays on German-hosted infrastructure. You charge a privacy/hosting premium. Target build time: ~12 days.

When to pick Tier B

  • Handles health, legal or financial personal data → GDPR sensitivity is a selling point.
  • Client explicitly wants control over where data lives / no third-party tracking.

Setup checklist

  1. Landing page — clone templates/landing/demo-tier-b/, rebrand. Keep the privacy band and "Daten in Deutschland" badges. Deploy to a free static host or the homelab behind HTTPS.
  2. Domain + TLS — connect domain; ensure valid certificate (Caddy/Let's Encrypt).
  3. Booking — deploy self-hosted Cal.com (see stacks/selfhosted/docker-compose.yml); create the practice's event types; embed it (replace the demo Cal.com card).
  4. Lead form — self-hosted form endpoint → n8n webhook → CRM. No third-party form service.
  5. Reception — business mailbox; (later) the AI receptionist widget (Phase 6, Claude Haiku 4.5) wired to the booking + FAQ.
  6. Credentials — store all client logins in Vaultwarden; the CRM holds only vault_ref.
  7. CRM — add a Clients row (tier = B, services, monthly_fee, renewal_date, vault_ref).
  8. Backups — ensure the Tier-B services + CRM are in the daily backup job.

Hosting note (NETWAYS boundary)

Keep this as "I host a small website + booking for you," not managed cloud/monitoring. Use cheap shared/managed infra or the homelab for low-traffic client sites — do not position it as a managed-cloud/Kubernetes/monitoring service (that is NETWAYS's lane).

What to charge (suggestion)

  • One-off setup: €6001,500 (self-hosted booking + privacy setup is worth more).
  • Monthly hosting + management: €4090 (covers infra, updates, backups, support).

Recurring tasks

  • Renewal reminder, Cal.com/booking sync to CRM, backup verification, security updates.