d8a2cab90f
## Summary Docker onboarding was broken — no way to add first SSH user without `docker attach` to TUI. Now reads SSH public keys from two sources on startup: - `UPTOP_ADMIN_KEY` env var — single key for quick single-user setup - `UPTOP_KEYS` file path — authorized_keys format for team setup Dockerfile already sets `UPTOP_KEYS=/data/authorized_keys` and compose mounts `./data:/data`, so the flow is: ``` echo "ssh-ed25519 AAAA... me@host" > ./data/authorized_keys docker compose up -d ssh -p 23234 localhost ``` ### Behavior - Skips keys already in DB (idempotent across restarts) - All seeded users get admin role - Username parsed from key comment (e.g. `tyler@macbook` → `tyler`) - Comments and blank lines in keys file are ignored ### Tested - UPTOP_ADMIN_KEY seeds single admin user - UPTOP_KEYS file seeds multiple users with correct usernames - Second startup skips existing keys (no duplicates) - Build and all tests pass Reviewed-on: lerko/uptop#31
21 lines
532 B
YAML
21 lines
532 B
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
container_name: uptop
|
|
restart: unless-stopped
|
|
ports:
|
|
- "23234:23234"
|
|
- "8080:8080"
|
|
environment:
|
|
- UPTOP_DB_TYPE=sqlite
|
|
- UPTOP_DB_DSN=/data/uptop.db
|
|
- UPTOP_HTTP_PORT=8080
|
|
- UPTOP_STATUS_ENABLED=true
|
|
- UPTOP_STATUS_TITLE=System Status
|
|
# SSH access: add your public key via env var or authorized_keys file
|
|
# - UPTOP_ADMIN_KEY=ssh-ed25519 AAAA... you@host
|
|
volumes:
|
|
- ./data:/data
|