# Docker Manager WebApp centralizada para gestionar instancias Docker (Musify, bot de Discord, etc.) desde un único sitio: recursos, logs, consola. Ver [Plan-DockerManager-WebApp.md](../Plan-DockerManager-WebApp.md) para la arquitectura completa y el roadmap. ## Stack - **Backend:** Go (`chi`, SDK oficial de Docker, `pgx`, `zitadel/oidc`, `coder/websocket`) - **Frontend:** SvelteKit + Tailwind CSS v4 - **Auth:** Zitadel (patrón BFF) - **DB:** PostgreSQL - **Archivos:** SeaweedFS (S3) ## Arrancar en desarrollo ```bash # 1. Infraestructura (Postgres + Zitadel + SeaweedFS) make dev-infra # 2. Backend (puerto 8090 — el 8080 puede estar ocupado por otros servicios) cp backend/.env.example backend/.env make backend # 3. Frontend (puerto 5173) make frontend ``` Backend: http://localhost:8090/healthz · http://localhost:8090/api/containers Frontend: http://localhost:5173 ## Estado (Fase 1) - [x] Estructura del monorepo (`backend/`, `frontend/`, `deploy/`) - [x] Backend Go: router `chi`, config por env vars, healthcheck - [x] `HostConnector` / `LocalConnector`: listado de contenedores del host vía SDK oficial de Docker - [x] Frontend SvelteKit + Tailwind consumiendo `/api/containers` - [x] `docker-compose.dev.yml` con Postgres + Zitadel + SeaweedFS - [x] Migraciones iniciales (`hosts`, `services`, `audit_log`) - [ ] Auth OIDC contra Zitadel (patrón BFF) — siguiente paso - [ ] Persistencia de hosts/services en Postgres vía backend - [ ] Acciones sobre contenedores (start/stop/restart) + logs en vivo