A folder that Bindery made hid a missing volume mount. The books went to a folder inside the container, and CWA never saw them. A missing folder is now an error in the log at the start, and each upload fails with a message that names the mount.
45 lines
2.1 KiB
YAML
45 lines
2.1 KiB
YAML
services:
|
|
bindery:
|
|
build: .
|
|
image: bindery:latest
|
|
# The user and group that own ./config and can write CWA's ingest folder. Usually the same as CWA's.
|
|
user: "1000:1000"
|
|
environment:
|
|
# Omit this and its volume mount to keep uploads paused.
|
|
INGEST_DIR: /cwa-book-ingest
|
|
# The address of CWA, as the Bindery container reaches it, and the CWA account that Bindery uses.
|
|
CWA_URL: http://calibre-web-automated:8083
|
|
CWA_USERNAME: bindery
|
|
CWA_PASSWORD: change-me
|
|
# none, local (one Bindery account), cwa (CWA accounts), or proxy (a trusted user header)
|
|
AUTH_METHOD: cwa
|
|
# For local logins, put these values in .env. See "Local login" in the README.
|
|
# BINDERY_USERNAME: ${BINDERY_USERNAME:-}
|
|
# BINDERY_PASSWORD_HASH: ${BINDERY_PASSWORD_HASH:-}
|
|
# Optional and independent. app.db is for logins, metadata.db is for book IDs.
|
|
# CWA_DB_PATH: /cwa-config/app.db
|
|
# CALIBRE_DB_PATH: /calibre-library/metadata.db
|
|
# URL_BASE: /bindery
|
|
# true only if clients reach Bindery through a reverse proxy alone. The login lockout then uses X-Forwarded-For.
|
|
# TRUST_PROXY: "true"
|
|
# BINDERY_API_KEY: a-long-random-string
|
|
ports:
|
|
- 8085:8085
|
|
restart: unless-stopped
|
|
# /api/health needs no login, and works with and without URL_BASE.
|
|
healthcheck:
|
|
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8085/api/health', timeout=5)"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
start_period: 30s
|
|
retries: 3
|
|
volumes:
|
|
# CWA's ingest folder. New stories and updates go here. Bindery does not make the folder.
|
|
- /path/to/cwa/ingest:/cwa-book-ingest
|
|
# The story database and personal.ini. Create the folder before the first start.
|
|
- ./config:/config
|
|
# Optional read-only folders. Include SQLite journal files beside each database.
|
|
# Mount the library that receives the ingest files, not a copy or another library.
|
|
# - /path/to/cwa/config:/cwa-config:ro
|
|
# - /path/to/calibre/library:/calibre-library:ro
|