diff --git a/README.md b/README.md index 24f105d..13f1916 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Connected Papers (Local) +# Linked Papers -A lightweight, self-hosted web app for exploring academic paper reference graphs. Search for a paper and see an interactive graph of the papers it cites. Dot size is proportional to citation count. +A lightweight, self-hosted web app for exploring academic paper reference graphs. Search for a paper and see an interactive graph of the papers it cites. Node size is proportional to citation count. ## Features @@ -12,7 +12,7 @@ A lightweight, self-hosted web app for exploring academic paper reference graphs - Works offline for previously cached graphs - Uses OpenAlex for all paper data - Shows only outgoing references (papers the seed paper cites) -- Dockerized and ready to plug into your existing Caddy reverse proxy +- Dockerized ## Data Source @@ -23,7 +23,9 @@ OpenAlex is free. Anonymous usage has rate limits; if you hit them often, get a ## Quick Start ```bash -cd /root/connected-papers +# (Optional) Add your OpenAlex API key +cp .env.example .env +# edit .env with your OA_API_KEY and OA_EMAIL # Build and run docker-compose up -d --build @@ -32,25 +34,6 @@ docker-compose up -d --build # http://127.0.0.1:5000 ``` -## Caddy Integration - -Add a new site block to `/root/caddy/Caddyfile` (adjust the subdomain to your preference): - -```caddy -papers.ahlgrim.bzh { - reverse_proxy connected-papers:5000 -} -``` - -Then reload Caddy: - -```bash -cd /root/caddy -docker-compose exec caddy caddy reload --config /etc/caddy/Caddyfile -``` - -The container is already attached to the `caddy_mesh` Docker network, so Caddy can reach it by the service name `connected-papers`. - ## Configuration Edit `docker-compose.yml` to tune these environment variables: @@ -60,14 +43,14 @@ Edit `docker-compose.yml` to tune these environment variables: | `CACHE_TTL_DAYS` | 30 | Days before cached graph is refreshed | | `SEARCH_LIMIT` | 20 | Number of search results, sorted by citation count | | `REFERENCE_LIMIT` | 100 | Top N papers cited by the seed paper (outgoing) | -| `OA_API_KEY` | (none) | OpenAlex API key (higher rate limits) | -| `OA_EMAIL` | (none) | Email for OpenAlex polite pool (recommended) | +| `OA_API_KEY` | (from `.env`) | OpenAlex API key (higher rate limits) | +| `OA_EMAIL` | (from `.env`) | Email for OpenAlex polite pool (recommended) | ### Getting an API key (optional but recommended) - **OpenAlex:** https://openalex.org/rest-api -Copy `.env.example` to `.env`, add your key, and restart: +Set it in `.env` and restart: ```bash cp .env.example .env