Zum Inhalt springen

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.

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.

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.

Die Seite antwortet auf ihrem direkten Port, http://<host>:<port>. Sobald der Proxy eingerichtet ist, auch unter https://<projekt>.<basis> - siehe Domains und HTTPS.