Context-Snapshot · other · abgelöst durch 0007-mittwald-staging-live.html
SOLCOM Mittwald Managed Hosting (mStudio)
TL;DR — Das Drupal-2.0-System läuft auf Mittwald als Managed-PHP-Hosting (kein Self-Hosting, kein Azure-App-Service, kein Kubernetes). Verwaltung über mStudio. Stand 2026-05-04: Greenfield-Setup — staging-App existiert, sonst alles leer. Dieser Snapshot ist abgelöst durch 0007-mittwald-staging-live.html.
Quell-Pointer
- mStudio-Project (Name "Main")
- https://studio.mittwald.de/app/projects/6709341f-37af-4ea7-a988-475dc49cecae
- mStudio-App-Detail (staging)
- App-Detail-Link
- Mittwald-Project-UUID
6709341f-37af-4ea7-a988-475dc49cecae- Mittwald-Project-Short-ID
a-q7fxvm- Mittwald-App-UUID (staging)
61284ca9-0a65-495d-bda9-2edfe8bf26a1
Live-Befund staging (Stand 2026-05-04)
| Aspekt | Wert |
|---|---|
| Project-Name | Main |
| App-Name | staging (einzige App im Project — keine Production existiert) |
| App-Installationsverzeichnis | /html/staging |
| PHP-Version | 8.4.18 |
| PHP-Konfigurationsdatei | ~/.config/php/php.ini |
| SSH-Hostname | ssh.altgemeinde.project.host |
| SSH-User-Pattern | <email>@a-q7fxvm |
| Project-Domain (Mittwald-Default) | p-nxm58l.project.space — kein Ziel zugewiesen |
| Datenbanken angelegt | keine (weder MySQL/MariaDB noch Redis) |
| Drupal-Code deployed | unbekannt (nicht via mStudio-Frontend ersichtlich) |
!
Das Mittwald-Project ist aktuell leer bis auf die staging-App selbst. Die erste Pipeline muss zuerst die Staging-Umgebung initialisieren. — Aktueller Stand: Siehe 0007-mittwald-staging-live.html.
Mittwald-Eigenheiten (für die Pipeline relevant)
PHP 8.4 — Kompatibilität prüfen composer.json
PHP 8.4 ist deutlich vorne — Drupal 11 / Drupal CMS unterstützt PHP 8.3+. composer.json und phpstan.neon sollten daraufhin geprüft werden.
IaC-Optionen REST-API / mw CLI
Mittwald hat offizielle IaC-Optionen: REST-API, GitHub Action, Terraform-Provider. Für Azure-DevOps-Pipelines: API-Token + mw CLI sind der primäre Hebel.
mw CLI — Sub-Kommandos
Installation: brew tap mittwald/cli && brew install mw (macOS) oder npm install -g @mittwald/cli. Auth via MITTWALD_API_TOKEN-Environment-Variable (kein interaktives Login).
mw app list— Apps im Projectmw app get <INSTALLATION-ID>— Details einer Appmw app upload <INSTALLATION-ID>— Lokales Verzeichnis via rsync hochladenmw app exec <CMD>— Befehl in der App via SSH non-interaktiv ausführenmw app ssh <INSTALLATION-ID>— Interaktive SSH-Session
Was Mittwald (managed) impliziert
- PHP-Stack
- Von Mittwald gemanaged — PHP-Version, Memory-Limits, OPcache, FastCGI-Worker werden im mStudio gesetzt, nicht im Repo.
- Datenbank
- MariaDB / MySQL als Managed-Datenbank, ebenfalls über mStudio konfiguriert.
- Cloudflare
- Als Edge-/CDN-Layer vorgelagert — die Origin-URL (Mittwald-Hostname) ist nicht der Production-Hostname für Endnutzer.
Bezug zum Repo
- Deploy-Target für Azure-DevOps-Pipelines
- Eine Build-Pipeline auf Azure DevOps muss nach Mittwald deployen (nicht in Azure-eigene Services). Empfohlen:
mw app upload+mw app exec(Mittwald-API-Token als Pipeline-Secret). Alternativ SSH-Deploy-Job oder Terraform-Provider für DB-/Container-Bootstrap. - settings.php / settings.local.php
- Mittwald-DB-Credentials werden über Environment-Variables nach
settings.phpinjiziert, nicht im Repo. - Drush-Sequenz nach Deploy
drush updatedb,drush config:import,drush cache:rebuild— siehe Skilldrupal-config-workflow.
Offene Fragen (TBD)
- Memory-Limit, OPcache-Settings
- Noch nicht erfasst (PHP 8.4.18 ist bekannt, aber Limits fehlen).
- Production-App
- Muss noch angelegt werden. Production-Hostname und welche öffentlichen Domains via Cloudflare auf Mittwald zeigen sollen — aktuell nichts gemappt.
- Backup-/Snapshot-Strategie
- mStudio-Backups vs. eigene Drush-Sql-Dumps — noch nicht inventarisiert.
- Account-Inventur
- Wer hat Schreibrechte im mStudio-Project — vollständige Liste nicht erfasst.
Re-Sync
- Aktueller Stand
- Dieser Eintrag ist durch 0007-mittwald-staging-live.html abgelöst. Hier nur noch als historisches Greenfield-Dokument.
- Nächster Sync
- Login: https://studio.mittwald.de → App-Detail-Link (siehe
source-Meta oben). Bei Re-Sync prüfen ob PHP-/MariaDB-Versionen sich geändert haben. Wenn ja: neuer Snapshot mit höherer Nummer undsupersedes-Pointer.