Zum Inhalt springen

Voraussetzungen

Kurz: ein Linux-Rechner mit einem halbwegs aktuellen Docker. Ausführlich sieht das so aus.

Du brauchst Linux mit Docker Engine 24 oder neuer (Docker-API 1.43 oder neuer). Unraid 6.12 und 7.x laufen, jede andere Distribution genauso. Die CPU darf x86_64 oder arm64 sein - ein Raspberry Pi 4 oder 5, ein Ampere- oder Graviton-Server oder Apple Silicon unter Linux gehen alle, weil jedes Envoryx-Image für beide Architekturen gebaut wird.

Mit Docker spricht Envoryx über den Docker-Socket (/var/run/docker.sock). Darüber startet und stoppt es deine Projekt-Container. Es fasst nur an, was es selbst markiert hat (envoryx.managed=true) - die anderen Container auf dem Rechner bleiben also deine.

Wie viel CPU und Arbeitsspeicher du brauchst, hängt kaum an Envoryx selbst, das ist ein kleines Go-Programm. Es hängt an deinen Projekten, denn jedes bringt seinen eigenen Webserver, seine Runtime, Datenbank und Dienste mit. Soll ein einzelnes Projekt nicht den ganzen Rechner belegen, setzt du Ressourcenlimits.

Envoryx arbeitet mit zwei Ordnern, ein dritter ist optional:

Im Container Was dort liegt
/config Der eigene Zustand von Envoryx: SQLite-Datenbank, erzeugte Konfiguration, Zertifikate, SSH-Schlüssel, Caches, Logs.
/projects Deine Projekte, eines pro Ordner.
/backups Optional. Hängst du ihn ein, landen die Projekt-Backups hier statt in /config/backups.

/config muss auf einem lokalen Dateisystem liegen. Auf NFS oder SMB kann SQLite seine Datenbank kaputtmachen, ohne dass es jemand merkt - deshalb startet Envoryx dort gar nicht erst.

Ein Detail erklärt den roten Hinweis, der manchmal oben auf dem Dashboard auftaucht. Die Projekt-Container bekommen deine Dateien per Docker-Bind-Mount, und Docker löst diese Pfade auf dem Host auf, nicht im Envoryx-Container. Envoryx schaut sich deshalb seinen eigenen Container an, um herauszufinden, welche Host-Ordner hinter /projects und /config stecken. Klappt das einmal nicht, sagt dir dieser Hinweis Bescheid, und du trägst die Host-Pfade selbst in ENVORYX_PROJECTS_HOST_PATH und ENVORYX_CONFIG_HOST_PATH ein.

Port Wofür
8787 Weboberfläche und API.
80 / 443 Der eingebaute Reverse Proxy, damit Projekte Namen wie https://shop.test bekommen. Optional; jeder freie Host-Port geht.
2222 Der eingebaute SSH-Server für Remote-Interpreter der IDE und SFTP. Optional.
20000-20999 Projekt-Ports: Webserver, Anwendungsserver, Datenbank-Ports und so weiter.

Die Projekt-Ports mappst du nicht am Envoryx-Container - die veröffentlichen die Projekt-Container selbst. Kommt der Bereich etwas anderem in die Quere, verschiebst du ihn mit ENVORYX_PORT_RANGE_START und ENVORYX_PORT_RANGE_END.