Add standalone FastAPI server backend (Phase 3)
Some checks failed
Validate / Hassfest (push) Has been cancelled
Some checks failed
Validate / Hassfest (push) Has been cancelled
Build a complete standalone web server for Immich album change notifications, independent of Home Assistant. Uses the shared core library from Phase 1. Server features: - FastAPI with async SQLite (SQLModel + aiosqlite) - Multi-user auth with JWT (admin/user roles, setup wizard) - CRUD APIs: Immich servers, album trackers, message templates, notification targets (Telegram + webhook), user management - APScheduler background polling per tracker - Jinja2 template rendering with live preview - Album browser proxied from Immich API - Event logging and dashboard status endpoint - Docker deployment (single container, SQLite in volume) 39 API routes, 14 integration tests passing. Also adds Phase 6 (Claude AI Telegram bot enhancement) to the primary plan as an optional future phase. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
26
packages/server/Dockerfile
Normal file
26
packages/server/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
||||
FROM python:3.13-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Install core library first (changes less often)
|
||||
COPY packages/core/pyproject.toml packages/core/pyproject.toml
|
||||
COPY packages/core/src/ packages/core/src/
|
||||
RUN pip install --no-cache-dir packages/core/
|
||||
|
||||
# Install server
|
||||
COPY packages/server/pyproject.toml packages/server/pyproject.toml
|
||||
COPY packages/server/src/ packages/server/src/
|
||||
RUN pip install --no-cache-dir packages/server/
|
||||
|
||||
# Create data directory
|
||||
RUN mkdir -p /data
|
||||
|
||||
ENV IMMICH_WATCHER_DATA_DIR=/data
|
||||
ENV IMMICH_WATCHER_HOST=0.0.0.0
|
||||
ENV IMMICH_WATCHER_PORT=8420
|
||||
|
||||
EXPOSE 8420
|
||||
|
||||
VOLUME ["/data"]
|
||||
|
||||
CMD ["immich-watcher"]
|
||||
Reference in New Issue
Block a user