Remove SSH key mounts and require HTTPS repository bootstrap
This commit is contained in:
@@ -25,15 +25,10 @@ Eine optionale Sammlung mit sechs Beispielen liegt in `beispiel-prompts.json` un
|
||||
/mnt/user/appdata/CasaDePrompt/
|
||||
├── bootstrap/
|
||||
│ └── Startpunkt.sh
|
||||
├── ssh/
|
||||
│ ├── athena_key
|
||||
│ └── known_hosts
|
||||
└── data/ # wird dauerhaft gespeichert
|
||||
```
|
||||
|
||||
`Startpunkt.sh` aus diesem Repository nach `bootstrap/` kopieren. Den SSH-Key `athena_key` und eine **bereits geprüfte** `known_hosts` mit dem Eintrag für `[192.168.1.2]:33` nach `ssh/` kopieren. Auf dem Entwicklungsrechner ist dieser Host bereits bekannt. Private Schlüssel niemals ins Repository committen. Für den dauerhaften Betrieb reicht ein eigener, nur lesender Deploy-Key für dieses Repository; er kann unter dem gleichen Dateinamen gemountet werden.
|
||||
|
||||
Die SSH-Dateien sollten nur root zugänglich sein (`chmod 700 ssh`, `chmod 600 ssh/athena_key ssh/known_hosts`). Das Skript prüft den Hostschlüssel strikt; es akzeptiert keine fremden Schlüssel automatisch. Passwortgeschützte Keys benötigen einen Agent und werden von diesem einfachen Bootstrap nicht unterstützt.
|
||||
`Startpunkt.sh` aus diesem Repository nach `bootstrap/` kopieren. Der Download erfolgt ausschließlich über HTTPS aus dem öffentlich lesbaren Repository. Keine SSH-Keys oder anderen Git-Zugangsdaten mounten oder kopieren.
|
||||
|
||||
### 2. Unraid-Vorlage einspielen
|
||||
|
||||
@@ -52,12 +47,12 @@ Vorbelegt sind:
|
||||
| Image | `python:3.13-alpine` |
|
||||
| Netzwerk | `bridge` (normales Unraid-Netz über Portfreigabe) |
|
||||
| Web-Port | Host `8765` → Container `8000` |
|
||||
| Repository | `ssh://git@192.168.1.2:33/michael/CasaDePrompt.git` |
|
||||
| Repository | `https://git.casaderoll.de/michael/CasaDePrompt.git` |
|
||||
| Branch | `main` |
|
||||
| Startbefehl / Post Arguments | `/bin/sh /bootstrap/Startpunkt.sh` |
|
||||
| App-Benutzer | `99:100` |
|
||||
|
||||
Beim Start installiert das Skript Git/SSH und Python-Pakete, lädt den gewählten Branch bzw. Tag und startet die Anwendung ohne root-Rechte. Dafür benötigt es Zugriff auf dein Git, Alpine-Paketserver und PyPI. Ein Neustart lädt den aktuellen Stand erneut. Bei Download-/Installationsfehlern stoppt es mit einer Meldung, statt eine halb installierte App zu starten. Für reproduzierbare Updates einen Release-Tag in `APP_REF` verwenden.
|
||||
Beim Start installiert das Skript Git und Python-Pakete, lädt den gewählten Branch bzw. Tag und startet die Anwendung ohne root-Rechte. Dafür benötigt es Zugriff auf dein Git, Alpine-Paketserver und PyPI. Ein Neustart lädt den aktuellen Stand erneut. Bei Download-/Installationsfehlern stoppt es mit einer Meldung, statt eine halb installierte App zu starten. Für reproduzierbare Updates einen Release-Tag in `APP_REF` verwenden.
|
||||
|
||||
### 3. Anmelden
|
||||
|
||||
|
||||
Reference in New Issue
Block a user