-
Notifications
You must be signed in to change notification settings - Fork 0
Datenbank DE
🌐 English · Deutsch
SQLite-Datenbank unter ~/.aniworld/aniworld.db — WAL-Modus, 30 s Busy-Timeout, Verbindungen werden pro Flask-Request gecacht. Ein PID-Lock (~/.aniworld/aniworld.pid) warnt, wenn zwei Instanzen dieselbe DB verwenden.
| Tabelle | Inhalt |
|---|---|
users |
Benutzer: Rolle (admin/user), Passwort-Hash (Werkzeug), SSO-Identität (sso_issuer+sso_subject, unique), UI-Sprache |
app_settings |
Key-Value-Store aller Einstellungen (sensible Werte verschlüsselt, s. u.) |
download_queue |
Download-Aufträge: Episoden-Liste (JSON), Sprache, Provider, Status (queued/running/completed/partial/failed/cancelled), Fortschritt, Fehler (JSON), Statistiken, Captcha-URL, Upscale-Flag |
custom_paths |
Benannte zusätzliche Download-Ziele |
autosync_jobs |
Sync-Jobs: Sprache, Provider, Custom Path, enabled, on_hold, path_unavailable_action, episode_filter (JSON: Staffel-/Episoden-Auswahl), movie_custom_path_id (eigener Pfad für Filme/Specials), filter_dirty (stille Baseline-Neuberechnung nach Filter-Änderung), group_name (optionale manuelle Gruppe), Zähler (episodes_found, local_episodes_found, last_new_count), Fehler/Retry-Stand |
favourites |
Serien-Lesezeichen pro Benutzer |
seerr_hidden |
Pro Benutzer ausgeblendete Seerr-Anfragen |
library_cache |
Gecachter Bibliotheks-Scan pro Pfad (JSON) + Scan-Status |
user_notification_prefs |
Benachrichtigungs-Einstellungen pro Benutzer (Chat-IDs, Event-Schalter) |
push_subscriptions |
Web-Push-Abos (Endpoint + Schlüssel, benutzergebunden) |
tmdb_cache |
TMDB-Lookups (24 h TTL, stündliche Bereinigung) |
browse_cache |
Browse-Listen (neue/beliebte Titel) |
upscale_queue |
Anime4K-Aufträge (auch Mehrdatei-Einträge via JSON-Spalte files) |
mediascan_cache |
Plex/Jellyfin-Bestand (TMDB/IMDB/TVDB-IDs) |
download_history |
Dauerhaftes Episoden-Protokoll: Titel, Staffel/Episode, Quelle, Benutzer, Zielpfad, Größe, Ø-Geschwindigkeit, Dauer, status (completed/failed/cancelled/skipped), error (Fehler- bzw. Skip-Grund), Start-/Endzeit (UTC) |
calendar_media |
Cache des Kalender-Watchers — eine Zeile pro TMDB-Titel: tmdb_id (unique), zweisprachiger Titel (title/title_en), Poster, last_updated
|
calendar_episodes |
Cache des Kalender-Watchers — datierte Episoden/Releases pro Medium: Staffel/Episode (NULL bei Filmen), zweisprachiger Name (name/name_en), air_date, Still |
watch_progress |
Abspielposition pro Datei für den Browser-Player |
Schema-Migrationen laufen automatisch beim Start (ALTER TABLE-Nachrüstungen in den init_*-Funktionen) — Downgrades sind nicht vorgesehen.
Sensible Keys werden mit Fernet verschlüsselt gespeichert (Präfix enc:); der Schlüssel wird aus dem Flask-Secret (~/.aniworld/.flask_secret) abgeleitet. Betroffen sind u. a.:
external_api_key, seerr_api_key, oidc_client_secret, cineinfo_tmdb_api_key, mediaplayer_apikey, mediascan_jf_apikey, notif_telegram_bot_token, notif_pushover_app_token, notif_discord_webhook_url, notif_ntfy_auth_token, notif_ntfy_password, pushover_user_key.
Bestehende Klartext-Werte werden beim Start automatisch migriert.
Backup-Hinweis:
aniworld.dbund.flask_secretimmer zusammen sichern — ohne das Secret sind die verschlüsselten Settings nicht wiederherstellbar.
-
get_setting(key, default)/set_setting(key, value)/delete_setting(key)— zentrale Settings-API (ver-/entschlüsselt transparent). - Queue-Claiming (
claim_next_queued) nutzt eine eigene Verbindung mit atomaremUPDATE … WHERE status='queued', damit nie zwei Worker denselben Auftrag greifen. -
get_encoding_ffmpeg_opts()übersetzt die Encoding-Einstellungen in fertige FFmpeg-Argumente (inkl. Expert-Flag-Parser).
🇬🇧 English
Users
- Installation
- Getting Started
- Configuration
- Web UI
- Download System
- Download History
- AutoSync
- Calendar
- Library
- Authentication
- Notifications
- Integrations
- SyncPlay
- Anime4K Upscaling
- Encoding
- Docker
- Supported Sites
Developers