FastAPI + HTMX Web-App zum Speichern von Links mit automatischer KI-Kategorisierung, Zusammenfassung und semantischer Suche (OpenAI). Mehrbenutzer mit Login, SQLite-Persistenz, Docker/Docker-Compose-Setup. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
48 lines
1.3 KiB
YAML
48 lines
1.3 KiB
YAML
services:
|
|
web:
|
|
build: .
|
|
image: linkvault
|
|
container_name: linkvault
|
|
restart: unless-stopped
|
|
ports:
|
|
- "8000:8000"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# Erzwingt die SQLite-Datei im persistenten Volume (überschreibt .env).
|
|
DATABASE_URL: sqlite:////data/linkvault.db
|
|
volumes:
|
|
- linkvault-data:/data
|
|
|
|
volumes:
|
|
linkvault-data:
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Optional: PostgreSQL statt SQLite verwenden.
|
|
# 1. Den "db"-Service unten einkommentieren.
|
|
# 2. Bei "web" die environment-Zeile DATABASE_URL ersetzen durch:
|
|
# DATABASE_URL: postgresql+psycopg://linkvault:linkvault@db:5432/linkvault
|
|
# 3. "psycopg[binary]" zu requirements.txt hinzufügen und Image neu bauen.
|
|
# 4. depends_on ergänzen:
|
|
# depends_on:
|
|
# db:
|
|
# condition: service_healthy
|
|
# ---------------------------------------------------------------------------
|
|
# db:
|
|
# image: postgres:16
|
|
# restart: unless-stopped
|
|
# environment:
|
|
# POSTGRES_USER: linkvault
|
|
# POSTGRES_PASSWORD: linkvault
|
|
# POSTGRES_DB: linkvault
|
|
# volumes:
|
|
# - linkvault-pg:/var/lib/postgresql/data
|
|
# healthcheck:
|
|
# test: ["CMD-SHELL", "pg_isready -U linkvault"]
|
|
# interval: 10s
|
|
# timeout: 5s
|
|
# retries: 5
|
|
#
|
|
# (unter "volumes:" ergänzen)
|
|
# linkvault-pg:
|