feat: watchtower tracking, dev environment, security logs page
Deploy Dashboard (Dev) / deploy-dev (push) Successful in 1m54s

- watchtower: docker-compose with label filtering, email notifications
- watchtower labels on navidrome, openclaw, immich services
- dev env: docker-compose.dev.yml (port 4001), deploy-dev.yml CI workflow
- dev.nas.jimmygan.com Caddy site block with Authelia forward_auth
- security page: backend router parsing Authelia/Caddy container logs
- security page: frontend with stats cards, timeline, top IPs, event log
- wired security route into App.svelte and Sidebar
This commit is contained in:
Gan, Jimmy
2026-03-01 00:40:14 +08:00
parent 44aafe7ea5
commit 4b32929dcc
13 changed files with 475 additions and 1 deletions
+6
View File
@@ -3,6 +3,8 @@ services:
image: ghcr.io/immich-app/immich-server:${IMMICH_VERSION:-release}
container_name: immich-server
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
ports:
- "127.0.0.1:2283:2283"
volumes:
@@ -37,6 +39,8 @@ services:
image: redis:7-alpine
container_name: immich-redis
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
healthcheck:
test: redis-cli ping || exit 1
networks:
@@ -51,6 +55,8 @@ services:
image: tensorchord/pgvecto-rs:pg16-v0.2.0
container_name: immich-db
restart: unless-stopped
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
POSTGRES_USER: ${DB_USERNAME}
POSTGRES_PASSWORD: ${DB_PASSWORD}