90 lines
2.1 KiB
Markdown
90 lines
2.1 KiB
Markdown
# Hackathon-Server
|
|
|
|
## 1. Temporären SSH-Key holen
|
|
|
|
Öffne den separat geteilten, ablaufenden Proton-Pass-Link zum Eintrag
|
|
`Hackathon 24h team SSH`. Speichere den **Private Key** lokal, teile ihn nicht
|
|
weiter und lösche ihn nach dem Hackathon.
|
|
|
|
```sh
|
|
mkdir -p ~/.ssh
|
|
chmod 700 ~/.ssh
|
|
mv ~/Downloads/<KEY-DATEI> ~/.ssh/hackathon-pi-team
|
|
chmod 600 ~/.ssh/hackathon-pi-team
|
|
```
|
|
|
|
Erwarteter Key-Fingerprint: `SHA256:DtI3AaMTlQt8NzDMjmn+Gch/X4JG7MqKXoxbfnm/gUk`
|
|
|
|
## 2. SSH konfigurieren
|
|
|
|
In `~/.ssh/config` eintragen:
|
|
|
|
```sshconfig
|
|
Host hackathon-pi
|
|
HostName 168.119.180.99
|
|
User tmk241
|
|
IdentityFile ~/.ssh/hackathon-pi-team
|
|
IdentitiesOnly yes
|
|
ServerAliveInterval 30
|
|
SetEnv HACKATHON_PERSON=<dein-name>
|
|
```
|
|
|
|
Beim ersten Connect muss der Server-Fingerprint exakt
|
|
`SHA256:ItRfASHytjrky06PM0oUlygSzELmMBhcxwRmdUWoi6Q` sein.
|
|
|
|
```sh
|
|
ssh hackathon-pi
|
|
```
|
|
|
|
## 3. Mit Herdr arbeiten
|
|
|
|
Herdr lokal installieren und direkt mit dem Remote-Workspace verbinden:
|
|
|
|
```sh
|
|
curl -fsSL https://herdr.dev/install.sh | sh
|
|
herdr --remote hackathon-pi
|
|
```
|
|
|
|
Neue Shells starten automatisch in `~/hackathon`; dort einfach `pi` ausführen.
|
|
Herdr-Prefix ist `Ctrl+B`, danach z. B. `n` für einen neuen Workspace oder `c`
|
|
für einen neuen Tab.
|
|
|
|
## 4. Lokalen `hwt`-Helper einrichten
|
|
|
|
Diesen Helper auf dem **eigenen Rechner** in `~/.zshrc` eintragen:
|
|
|
|
```zsh
|
|
hwt() {
|
|
local task="${1:-}"
|
|
local name_re='^[a-z0-9][a-z0-9._-]*$'
|
|
if [[ -z "$task" || ! "$task" =~ $name_re ]]; then
|
|
print -u2 'usage: hwt <task> # lowercase, digits, dot, underscore, hyphen'
|
|
return 2
|
|
fi
|
|
ssh hackathon-pi "HWT_TASK=$task zsh -lic 'hwt \"\$HWT_TASK\"'"
|
|
}
|
|
```
|
|
|
|
Danach lokal neu laden:
|
|
|
|
```sh
|
|
source ~/.zshrc
|
|
type hwt
|
|
```
|
|
|
|
Nun wird der Befehl auf dem lokalen Rechner ausgeführt:
|
|
|
|
```sh
|
|
hwt frontend-rework
|
|
```
|
|
|
|
Der lokale Helper ruft per SSH den vorbereiteten Remote-Helper auf.
|
|
`HACKATHON_PERSON` aus der SSH-Konfiguration wird als Branch-Präfix verwendet.
|
|
Das erzeugt und öffnet automatisch:
|
|
|
|
- Branch: `<dein-name>/frontend-rework`
|
|
- Pfad: `~/hackathon-worktrees/<dein-name>-frontend-rework`
|
|
- Herdr-Label: `<dein-name>-frontend-rework`
|
|
|
|
Erlaubt sind Kleinbuchstaben, Zahlen, `.`, `_` und `-`.
|