Skip to content

Add authenticated management API and automatic stack updates#973

Draft
RF1705 wants to merge 1 commit into
louislam:masterfrom
RF1705:feature/home-assistant-rest-api
Draft

Add authenticated management API and automatic stack updates#973
RF1705 wants to merge 1 commit into
louislam:masterfrom
RF1705:feature/home-assistant-rest-api

Conversation

@RF1705

@RF1705 RF1705 commented Jun 21, 2026

Copy link
Copy Markdown

⚠️⚠️⚠️ Since we do not accept all types of pull requests and do not want to waste your time. Please be sure that you have read pull request rules:
https://github.com/louislam/dockge/blob/master/CONTRIBUTING.md

Tick the checkbox if you understand [x]:

  • I have read and understand the pull request rules.

Description

This draft adds an authenticated management API intended for local integrations such as Home Assistant, together with image update detection and optional automatic stack updates.

The implementation is a clean port/rewrite of functionality proven in the finder39/dockge fork, adapted to the current louislam/dockge master instead of merging the fork history. It also includes OCI image version support contributed in RF1705/dockge.

Because this is a large new feature, the PR is intentionally opened as a draft for design discussion before being considered merge-ready.

Main changes

  • API key management in Settings > Integrations
  • Generate, enter, copy, replace, and revoke a key
  • Existing stored keys are never returned to the browser
  • DOCKGE_API_KEY remains available as a fallback
  • Sensitive settings are redacted from debug logging
  • Timing-safe X-API-Key authentication
  • Local and multi-agent REST endpoints for agents, stacks, status, start, stop, restart, update, update checks, auto-update settings, bulk updates, scheduler, history, and system prune
  • Server-level agent connections that remain available without an open browser session
  • Image update detection using local Docker digests and remote skopeo inspection
  • Optional OCI org.opencontainers.image.version exposure as imageVersion
  • Per-stack auto-update switch in the stack UI
  • Cron-based update scheduler with manual trigger
  • Persisted update history and UI
  • Server-Sent Events endpoint for integration refresh notifications
  • Database migration for stack settings and update history

Scope note

Finder39's self-update sidecar/deployment mechanism is intentionally not included here. Updating the Dockge stack that is currently hosting the API has different failure and recovery semantics and should be reviewed as a separate change.

Type of change

  • User interface (UI)
  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

Checklist

  • My code follows the style guidelines of this project
  • I ran ESLint and other linters for modified files
  • I have performed a self-review of my own code and tested it
  • My changes generate no new warnings
  • Automated integration tests still need to be added for Docker and registry interactions

Verification

  • tsc --noEmit
  • ESLint for all modified TypeScript/Vue files
  • Full frontend production build with Vite
  • git diff --check

Related projects

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant