41 lines
1.5 KiB
Markdown
41 lines
1.5 KiB
Markdown
# 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
|