Files
kaffeekasse-saas/DEPLOY.md
T

1.8 KiB

Deployment auf Netcup Webspace

Zielbild

  • Code unter einem Release-Pfad wie /apps/kaffeekasse/current
  • Document Root in Plesk auf /apps/kaffeekasse/current/public
  • .env ausserhalb des Webroots oder direkt im Projektverzeichnis ohne Webzugriff
  • Migrationen ueber bin/migrate.php
  • zyklische Aufgaben ueber bin/cron.php

Erstinstallation

  1. Neue Domain oder Subdomain im Netcup WCP/Plesk anlegen.
  2. Document Root auf das Verzeichnis public/ des Releases zeigen lassen.
  3. MySQL-Datenbank und separaten User anlegen.
  4. Projekt per FTPES oder SFTP hochladen.
  5. Installer unter /install aufrufen oder .env manuell setzen.
  6. Alternativ oder zusaetzlich: /usr/local/php83/bin/php /apps/kaffeekasse/current/bin/migrate.php
  7. Plattform-Admin einloggen und ersten Mandanten registrieren.

Scheduled Tasks

  • Alle 5 Minuten: /usr/local/php83/bin/php /apps/kaffeekasse/current/bin/cron.php
  • Optional Healthcheck: /usr/local/php83/bin/php /apps/kaffeekasse/current/bin/healthcheck.php

Release-Prozess

  1. scripts/build-release.sh erzeugt ein auslieferbares Paket.
  2. Paket hochladen und entpacken.
  3. .env und persistente storage/-Pfade sichern.
  4. bin/migrate.php ausfuehren.
  5. Healthcheck und Login pruefen.

Sicherheitshinweise

  • public/ bleibt der einzige Webroot.
  • .env, Dumps, Backups und .git duerfen nicht oeffentlich erreichbar sein.
  • Fuer produktive Domains HTTPS erzwingen.
  • Session-Cookies sind auf HttpOnly, SameSite=Lax und Secure ausgelegt.
  • Tenant-Daten werden serverseitig ueber Session und Memberships zugeordnet.

Git-Remote vorbereiten

Beispiel fuer spaeteres Pushen auf git.ctb-it.de:

git remote add origin ssh://git@git.ctb-it.de/namespace/kaffeekasse-saas.git
git push -u origin main

Die genaue URL haengt von eurem Namespace und dem Zielsystem ab.