Initial commit: LinkVault – KI-gestützte Link-Sammlung

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>
This commit is contained in:
Erik Thiele
2026-07-13 22:07:05 +02:00
parent ff8c9f5141
commit 47685f0d34
22 changed files with 1035 additions and 0 deletions

47
docker-compose.yml Normal file
View File

@@ -0,0 +1,47 @@
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: