-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
82 lines (72 loc) · 4.21 KB
/
Copy path.env.example
File metadata and controls
82 lines (72 loc) · 4.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# ─── Database ────────────────────────────────────────────
# PostgreSQL connection string
DATABASE_URL=postgresql://tanuki:secret@db:5432/tanuki?sslmode=disable
# ─── Cache / Queue ───────────────────────────────────────
# Redis connection string
REDIS_URL=redis://cache:6379
# ─── Paths ───────────────────────────────────────────────
# Directory where media files are stored (mounted volume)
MEDIA_PATH=/media
# Directory where generated thumbnails are stored
THUMBNAILS_PATH=/thumbnails
# Directory where downloads are saved
DOWNLOADS_PATH=/media
# ─── Security ────────────────────────────────────────────
# Secret key for session/JWT signing.
# Leave empty to auto-generate once on first start and persist in /app/config/secret.key.
# Set it manually if you want external secret management.
SECRET_KEY=
# Persistent secret key file path shared by app, worker and downloader
SECRET_KEY_FILE=/app/config/secret.key
# ─── Application ─────────────────────────────────────────
# Port the HTTP server listens on
PORT=8080
# Log level: debug | info | warn | error
LOG_LEVEL=info
# ─── Scanner ─────────────────────────────────────────────
# How often (in seconds) the media directory is auto-scanned
SCAN_INTERVAL=300
# ─── Download Manager ────────────────────────────────────
# Maximum number of concurrent downloads
MAX_CONCURRENT_DOWNLOADS=3
# Delay (in milliseconds) between requests to the same source
RATE_LIMIT_DELAY=1000
# Optional Netscape cookies.txt file for sources that require browser validation
DOWNLOADER_COOKIES_FILE=
# yt-dlp browser impersonation target (for example: chrome, chrome-136, edge-101)
YTDLP_IMPERSONATE=chrome
# Local path to mirrored HDoujinDownloader Lua modules used by the compatibility engine
HDOUJIN_MODULES_PATH=/app/hdoujin/modules/lua
# Enable the first-pass HDoujin Lua compatibility engine
HDOUJIN_MODULES_ENABLED=true
# ─── Auto-Tagging v0.4 ───────────────────────────────────
# SauceNAO API key (leave empty to disable SauceNAO lookups)
# Get your key at: https://saucenao.com/user.php?page=search-api
SAUCENAO_API_KEY=
# Enable IQDB as a fallback when SauceNAO finds no match (true/false)
IQDB_ENABLED=true
# Minimum similarity percentage (0-100) to accept a reverse-image-search match
AUTOTAG_SIMILARITY_THRESHOLD=80
# Automatically queue new items for auto-tagging after a library scan (true/false)
AUTOTAG_ON_SCAN=false
# Minimum delay in milliseconds between external API requests (rate limiting)
# SauceNAO free tier: ~6 req/30s -> use at least 5000 ms
AUTOTAG_RATE_LIMIT_MS=5000
# ─── Duplicate Detection v0.5 ────────────────────────────
# Maximum Hamming distance between two pHashes to consider them duplicates (0-64)
# Lower = stricter matching. Recommended: 8-12
DUPLICATE_THRESHOLD=10
# Compute perceptual hash for every new item during the scan (true/false)
PHASH_ON_SCAN=true
# ─── Authentication v0.6 ──────────────────────────────────
# JWT signing secret – optional, defaults to SECRET_KEY if left empty
JWT_SECRET=
# Token lifetime in hours (default: 24)
JWT_EXPIRY_HOURS=24
# Allow new user registration (set to false to lock down registration)
REGISTRATION_ENABLED=true
# ─── Plugins v1.0 ────────────────────────────────────────
# Directory where community plugin .py files are stored
PLUGINS_PATH=/app/config/plugins
# Enable or disable the plugin system entirely (true/false)
PLUGINS_ENABLED=true