Statische Seiten
Nicht jedes Projekt braucht eine Runtime. Eine statische Seite ist nur der Webserver des Projekts -
ohne PHP und ohne Node.js-, Python-, Go-, Ruby-, Java- oder .NET-Server dahinter. Wähl im Assistenten Leeres
Projekt und dann Statische Seite. Damit du gleich etwas siehst, legt Envoryx eine Start-index.html an,
außer du klonst ein Repository.
Der Webserver - Caddy, Apache oder Nginx - liefert den Document Root aus. Das ist das
Projektverzeichnis selbst oder ein Ordner darin, etwa dist oder public. Dotfiles wie /.env oder
alles unter /.git/ werden nie ausgeliefert, auch wenn sie im Document Root liegen.
Pfade, die es nicht gibt, liefern wie erwartet einen 404. Single-Page-Apps mit clientseitigem Routing
brauchen etwas anderes: Ein Neuladen auf /settings soll trotzdem die App laden. Schalte in der
Webserver-Karte SPA-Fallback auf index.html ein, dann liefern unbekannte Pfade stattdessen
index.html. Das gilt für jeden unbekannten Pfad, Dateien eingeschlossen: Ein fehlendes /logo.png
antwortet dann mit index.html und Status 200 statt mit 404. Gut zu wissen, wenn ein Bild nicht
auftaucht.
Mit Node.js bauen
Abschnitt betitelt „Mit Node.js bauen“Auch eine statische Seite kann sich von einem Node.js-Container bauen lassen. Schalte Node.js ohne
Dev-Server ein, stell den Document Root auf die Build-Ausgabe - dist bei Vite, out bei einem
statischen Next.js-Export - und führ npm run build im Bereich Aktionen oder im Terminal aus. Schaltest du
den Dev-Server ein, wird er stattdessen zur Anwendung; wie das aussieht, steht bei
Node.js.
Dateien hochladen
Abschnitt betitelt „Dateien hochladen“Eine statische Seite hat keinen Runtime-Container, an ihre Dateien kommst du per SFTP aber trotzdem.
Meld dich mit dem Projekt-Slug als Benutzer, einem API-Token oder deinem SSH-Schlüssel auf Port 2222 an,
und du startest in /var/www/html, dem Projektverzeichnis; scp funktioniert genauso. Der Bereich
IDE des Projekts hat die Werte zum Kopieren parat, so kann PhpStorm oder WebStorm die Seite als
Deployment-Ziel nutzen. Eine Shell bekommst du nicht: ssh und rsync brauchen einen Container, in dem
sie laufen, und der Login sagt dir das stattdessen. Die anderen Wege sind Git oder das
Projektverzeichnis auf dem Docker-Host. Siehe Terminal und SSH.
Erreichbarkeit
Abschnitt betitelt „Erreichbarkeit“Die Seite antwortet auf ihrem direkten Port, http://<host>:<port>. Sobald der Proxy eingerichtet ist,
auch unter https://<projekt>.<basis> - siehe Domains und HTTPS.