Files
reader/docker-compose.yml
T
hectorqinandClaude Opus 5.5 415a9f5dd3 chore: drop CNB config; Android package is com.htmake.readerpro
- Remove .cnb.yml and CNB references in the Dockerfile and Compose file; the
  Compose default image is hectorqin/reader-pro:latest.
- Rename the Android applicationId/namespace and Kotlin package from
  cool.cnb.reader to com.htmake.readerpro (shortcuts, ProGuard, shell check).
  Installs under the old package are a different app and are not migrated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 02:03:45 +00:00

53 lines
2.1 KiB
YAML

# One command to get running:
#
# docker compose up -d
#
# Then open http://<your-host>:5888 and register the first account, which
# automatically becomes the instance admin.
services:
reader:
# Releases (v* tags) publish x.y.z, x.y, latest and sha-* tags to Docker Hub.
# Pin READER_IMAGE to a release version for repeatable upgrades.
image: ${READER_IMAGE:-hectorqin/reader-pro:latest}
# To build from source instead of pulling the published image. The context is
# the repository root because the image bakes in the H5 client built from
# ./web as well as the server.
# build:
# context: .
# dockerfile: server/Dockerfile
container_name: reader
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
ports:
- "5888:5888"
environment:
# Business settings are managed in the administrator UI and persisted in /data.
LOG_LEVEL: "info"
# Directory holding the built H5 client, served at `/`. Already set in the
# image; only override if you build the client separately.
# WEB_DIR: "/app/web"
volumes:
# --- your books ---
# Use :ro for a browse-only deployment. Use :rw if an administrator
# should upload, rename, move or delete files from the web file manager.
- /path/to/your/books:/books:ro
# Optional media roots, independent of the reading library. After mounting,
# create media libraries in the UI using /media/video, /media/music, etc.
# The application only reads media files; keep these mounts read-only.
# - /path/to/your/videos:/media/video:ro
# - /path/to/your/music:/media/music:ro
# - /path/to/your/audiobooks:/media/audiobook:ro
# --- server-owned writable data ---
# SQLite database, cover cache, scan journal, upload staging and plugins.
- ./data:/data
healthcheck:
test: ["CMD", "node", "-e", "fetch('http://127.0.0.1:5888/api/v1/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"]
interval: 30s
timeout: 5s
retries: 3