Repository navigation
Expand file tree
/
Copy pathdocker-compose.example.yml
More file actions
62 lines (56 loc) · 2.53 KB
/
Copy pathdocker-compose.example.yml
File metadata and controls
62 lines (56 loc) · 2.53 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
# PageKeeper - Example Docker Compose Configuration
#
# All settings are configured via the web dashboard at http://localhost:4477/settings
# No environment variables are required beyond TZ.
#
# See README.md for detailed configuration instructions.
services:
pagekeeper:
image: ghcr.io/serabi/pagekeeper:latest
container_name: pagekeeper
restart: unless-stopped
environment:
- TZ=America/New_York
# - LOG_LEVEL=INFO
# - KOSYNC_PORT=5758 # Enable Split-Port Mode (Safe for Internet Exposure)
# Encrypts API secrets at rest in the database. Strongly recommended.
# Generate with:
# python -c "import secrets; print(secrets.token_urlsafe(32))"
# Losing this key means stored secret values must be re-entered in Settings.
# If unset, the persistent Flask secret in /data is used as a fallback.
# On first run a pre-encryption DB backup
# (database.db.pre-settings-encryption-*) is created before the one-way
# migration, giving an upgrade recovery path.
# - PAGEKEEPER_SETTINGS_ENCRYPTION_KEY=replace-with-a-strong-random-secret
# For key rotation, keep the old value here while setting a new key above:
# - PAGEKEEPER_SETTINGS_ENCRYPTION_KEY_PREVIOUS=previous-secret
volumes:
# === REQUIRED ===
- ./data:/data # App data (database, cache)
# === OPTIONAL ===
# - /path/to/ebooks:/books:ro # Only needed for cross-format sync without Grimmory/CWA
# === STORYTELLER (OPTIONAL) ===
# - /path/to/storyteller/processing:/storyteller-data:ro # Storyteller's processing dir (for word-level alignment)
# - /path/to/storyteller/import:/storyteller-import:rw # Storyteller's import dir (for submitting books)
ports:
- "4477:4477" # Admin Dashboard (Keep Internal/LAN)
# - "5758:5758" # Sync Protocol (Enable if KOSync Port is set)
networks:
- your-network
# ============================================
# RESOURCE LIMITS & GPU (OPTIONAL)
# ============================================
# deploy:
# resources:
# limits:
# memory: 512M # Bump to 2G+ if using local Whisper transcription
# # NVIDIA GPU acceleration for Whisper (requires nvidia-container-toolkit)
# # See: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
networks:
your-network:
external: true