mirror of
https://github.com/migatu/conjurer.git
synced 2026-07-14 13:34:40 +00:00
fd6427a282
(Re-applied cleanly on top of main: PR #18 was rebase-merged, so the branch that became #19 conflicted on the already-landed commits. This carries ONLY the librarian state fix - the sole content difference between that branch and main - so nothing else is touched or lost.) The worker threads open cr_results/rr_results/not_in_db/s_results.json in place ('r+'), crashing with FileNotFoundError in a fresh container. New conjurer_librarian/lib_paths.py resolves all four under a persistent dir (CONJURER_LIBRARIAN_STATE_DIR, default /lib_temp_files) and seeds missing ones with '{}' on import; shared by conjurer_librarian.py and scrape_bot.py (no circular import). ndb_database/database initialised to {} before load so a corrupt persisted file degrades to empty instead of NameError. search_bot /search_bot2 open the DOI DB 'r' not 'r+' so /doi can stay read-only. Docker: STATE_DIR env + VOLUME, compose mounts /srv/librarian/state:/lib_temp_files. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
25 lines
977 B
YAML
25 lines
977 B
YAML
# Librarian VM. Run from the repository root:
|
|
# cp docker/env/librarian.env.example docker/env/librarian.env # then edit
|
|
# docker compose -f docker/compose.librarian.yaml up -d --build
|
|
services:
|
|
conjurer-librarian:
|
|
build:
|
|
context: ..
|
|
dockerfile: docker/Dockerfile.librarian
|
|
image: conjurer-librarian:latest
|
|
container_name: conjurer-librarian
|
|
restart: unless-stopped
|
|
env_file:
|
|
- env/librarian.env
|
|
ports:
|
|
- "5001:5001"
|
|
volumes:
|
|
# Local DOI chunk database (0_chunk.txt ... N_chunk.txt). Read-only:
|
|
# the search workers only read it (open mode "r").
|
|
- /srv/librarian/doi:/doi:ro
|
|
# Runtime JSON state (cr_results/rr_results/not_in_db/s_results) -
|
|
# seeded on first run, persisted here across restarts.
|
|
- /srv/librarian/state:/lib_temp_files
|
|
# Optional: netrc holding Crossref credentials (or use CONJURER_CROSSREF_MAILTO).
|
|
- /srv/librarian/secrets/.netrc:/secrets/.netrc:ro
|