# CannaManage — Launch Checklist ## Pre-Launch (before going live) ### Infrastructure - [ ] IONOS VPS SSH access configured - [ ] Docker + Docker Compose installed on VPS - [ ] Nginx installed + cannamanage.conf symlinked - [ ] Let's Encrypt TLS certificate for cannamanage.plate-software.de - [ ] .env production secrets generated (JWT, NextAuth, DB passwords) - [ ] GPG backup key generated - [ ] Cron job for daily backup configured - [ ] Gitea Actions secrets configured (SSH_USER, SSH_PRIVATE_KEY) - [ ] DNS A record: cannamanage.plate-software.de → VPS IP ### Stripe - [ ] Stripe account created + verified - [ ] Products created: Starter (€19/mo), Pro (€49/mo) - [ ] SEPA + PayPal + Card payment methods enabled - [ ] Webhook endpoint registered: https://cannamanage.plate-software.de/api/v1/webhooks/stripe - [ ] Test payment successful (SEPA + Card) - [ ] AVV (Auftragsverarbeitungsvertrag) signed with Stripe ### Legal - [ ] Impressum page created - [ ] Datenschutzerklärung (privacy policy) published - [ ] AGB (Terms of Service) published - [ ] DSGVO consent text reviewed by lawyer (recommended) - [ ] Cookie banner (if analytics added later) ### Security - [ ] Final Snyk scan — no critical/high findings - [ ] HTTPS enforced (HTTP → 301 redirect) - [ ] CSP headers active - [ ] HSTS enabled - [ ] Rate limiting configured (Nginx) - [ ] DB backup tested (restore drill) - [ ] REVOKE DELETE on audit_events applied in production ### Application - [ ] docker compose -f docker-compose.prod.yml up -d — all services healthy - [ ] Flyway migrations V1-V10 applied successfully - [ ] Admin user created (first club onboarding) - [ ] Test distribution flow end-to-end - [ ] PDF report generation works - [ ] Email sending works (SMTP configured) - [ ] WebSocket notifications connect ### Monitoring - [ ] Health check endpoint accessible: /health - [ ] Uptime monitor configured (UptimeRobot, Hetrix, or cron) - [ ] Error alerting (email on 5xx errors) - [ ] Log rotation verified ## Post-Launch (first week) - [ ] First real club onboarded - [ ] First distribution recorded - [ ] Backup restore drill (within first 3 days) - [ ] Performance baseline established (response times) - [ ] Stripe live mode activated (after test verification)