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: