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>
26 lines
844 B
Bash
26 lines
844 B
Bash
# Copy to docker/env/librarian.env and fill in.
|
|
|
|
CONJURER_LIBRARIAN_HOST=0.0.0.0
|
|
CONJURER_LIBRARIAN_PORT=5001
|
|
|
|
# Same shared secret as the bot (empty = auth disabled).
|
|
CONJURER_API_KEY=
|
|
|
|
# Where to POST search results back to (the bot's comm layer).
|
|
CONJURER_MAIN_BOT=http://BOT_VM_IP:5000
|
|
|
|
# Crossref polite-pool contact (or put credentials in netrc under "crossref").
|
|
CONJURER_CROSSREF_MAILTO=you@example.com
|
|
|
|
# Local DOI chunk database (mounted volume): expects 0_chunk.txt .. N_chunk.txt
|
|
CONJURER_LIBRARIAN_DB_PATH=/doi/
|
|
CONJURER_LIBRARIAN_MAXTHREADS=41
|
|
CONJURER_LIBRARIAN_CHUNK=_chunk.txt
|
|
|
|
# Runtime JSON state dir (mounted, persistent): cr_results/rr_results/
|
|
# not_in_db/s_results are seeded here on first run.
|
|
CONJURER_LIBRARIAN_STATE_DIR=/lib_temp_files
|
|
|
|
# Optional netrc (for Crossref credentials)
|
|
CONJURER_NETRC_FILE=/secrets/.netrc
|