# Phase 5: Auto-Discovery (Docker/Traefik) **Status:** ⬜ Not Started **Parent plan:** [PLAN.md](./PLAN.md) **Domain:** backend ## Tasks - [ ] Task 1: Create `src/lib/server/services/discoveryService.ts` — Docker socket scanning and Traefik API parsing - [ ] Task 2: Create `src/routes/api/admin/discover/+server.ts` — POST triggers discovery scan, returns found services - [ ] Task 3: Create `src/routes/api/admin/discover/approve/+server.ts` — POST approves discovered apps (creates them) - [ ] Task 4: Create `src/lib/components/admin/DiscoveryPanel.svelte` — UI to trigger scan, review results, approve/reject - [ ] Task 5: Add discovery settings to SystemSettings (Docker socket path, Traefik API URL, auto-scan toggle) - [ ] Task 6: Update admin settings page with discovery configuration section - [ ] Task 7: Add env vars: DOCKER_SOCKET_PATH, TRAEFIK_API_URL - [ ] Task 8: Add i18n translations (EN/RU) ## Notes - Docker discovery: read from `/var/run/docker.sock` (or configured path), list containers, extract labels for name/URL - Traefik discovery: query Traefik API `/api/http/routers` and `/api/http/services` - Both are optional — gracefully handle when Docker socket or Traefik API is unavailable ## Handoff to Next Phase