[grade=B] DC-100: Service discovery — auto-detect running containers
GET /api/v1/discover scans running Docker containers, matches images against 20 known patterns (Plex, Jellyfin, Sonarr, Radarr, qBittorrent, Gitea, Nextcloud, Redis, Postgres, etc.), and returns suggested service configs. Marks services already in the dashboard as 'existing'. Returns: container ID, name, image, suggested type/name/port/protocol, port mappings, labels, and existing flag. 5 tests, 1623 total pass.
This commit is contained in:
@@ -61,6 +61,7 @@ const updatesRoutes = require('../routes/updates');
|
||||
const authRoutes = require('../routes/auth');
|
||||
const shareRoutes = require('../routes/share');
|
||||
const i18nRoutes = require('../routes/i18n');
|
||||
const discoverRoutes = require('../routes/discover');
|
||||
const configRoutes = require('../routes/config');
|
||||
const dnsRoutes = require('../routes/dns');
|
||||
const notificationRoutes = require('../routes/notifications');
|
||||
@@ -599,6 +600,13 @@ async function createApp() {
|
||||
|
||||
// DC-077: i18n — language metadata and translations (public, no auth needed)
|
||||
apiRouter.use(i18nRoutes());
|
||||
|
||||
// DC-100: Service discovery — auto-detect running containers
|
||||
apiRouter.use(discoverRoutes({
|
||||
docker: ctx.docker,
|
||||
servicesStateManager: ctx.servicesStateManager,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
}));
|
||||
apiRouter.use(updatesRoutes({
|
||||
updateManager: ctx.updateManager,
|
||||
selfUpdater: ctx.selfUpdater,
|
||||
|
||||
Reference in New Issue
Block a user