24 lines
1.3 KiB
Markdown
24 lines
1.3 KiB
Markdown
# 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
|
|
<!-- Filled in after completion -->
|