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>
27 lines
614 B
Docker
27 lines
614 B
Docker
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"]
|