Phase 4: backups w/ volumes, notifications, settings & users, audit page (0.4.0)
- Backup/restore: per-stack tar.gz incl. named-volume snapshots (helper container), upload restore with rename/overwrite/conflict detection. - Notifications: ntfy/Discord/Slack/Gotify/generic webhooks, per-event subscriptions; wired into the update checker and stack lifecycle. - Settings page: update-check interval, webhook CRUD + test, user management (with last-admin safeguards). - Audit log page (searchable, paginated). - Mobile-responsive sidebar/layout. Multi-host agents and remote backup destinations (SFTP/S3) deferred. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
22d9864436
commit
8d19b09abd
+5
-1
@@ -16,9 +16,11 @@ from docker_client import DockerError
|
||||
from routers import (
|
||||
audit,
|
||||
auth,
|
||||
backups,
|
||||
editor,
|
||||
images,
|
||||
ports,
|
||||
settings as settings_router,
|
||||
stacks,
|
||||
system,
|
||||
templates,
|
||||
@@ -46,7 +48,7 @@ async def lifespan(app: FastAPI):
|
||||
update_task.cancel()
|
||||
|
||||
|
||||
app = FastAPI(title="StackPilot", version="0.3.0", lifespan=lifespan)
|
||||
app = FastAPI(title="StackPilot", version="0.4.0", lifespan=lifespan)
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
@@ -74,6 +76,8 @@ app.include_router(images.router)
|
||||
app.include_router(ports.router)
|
||||
app.include_router(templates.router)
|
||||
app.include_router(audit.router)
|
||||
app.include_router(settings_router.router)
|
||||
app.include_router(backups.router)
|
||||
app.include_router(ws.router)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user