Files
2026-08-06 10:08:28 +00:00

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 `-`.