# pagepiper cloud environment — copy to .env and fill in secrets # Used by: docker compose -f compose.cloud.yml -p pagepiper-cloud ... # Data directories (host paths, bind-mounted into the api container) PAGEPIPER_DATA_DIR=/devl/pagepiper-cloud-data PAGEPIPER_BOOKS_DIR=/devl/pagepiper-cloud-data/books # BYOK gate — set to enable hybrid search and RAG chat (BSL feature) # Leave blank to run BM25-only mode (MIT, no Ollama required) PAGEPIPER_OLLAMA_URL= # Embedding and chat model selection (only used when PAGEPIPER_OLLAMA_URL is set) # mxbai-embed-large (1024-dim) is recommended; nomic-embed-text uses 768-dim PAGEPIPER_EMBED_MODEL=mxbai-embed-large PAGEPIPER_EMBED_DIMS=1024 PAGEPIPER_CHAT_MODEL=mistral:7b # Heimdall license server (optional — for per-user tier validation) HEIMDALL_URL=https://license.circuitforge.tech HEIMDALL_ADMIN_TOKEN= # cf-orch streaming proxy — coordinator product key # Must match COORDINATOR_PRODUCT_KEYS["pagepiper"] in cf-orch.env on the coordinator COORDINATOR_PAGEPIPER_KEY= # cf-orch coordinator URL — routes chat/embed calls through managed GPU allocation # CF_LICENSE_KEY is the auth token sent to the coordinator (same value as COORDINATOR_PAGEPIPER_KEY) # Leave CF_ORCH_URL blank to skip allocation and hit PAGEPIPER_OLLAMA_URL directly CF_ORCH_URL= CF_LICENSE_KEY= CF_APP_NAME=pagepiper # Forgejo API token — enables in-app feedback button (files issues to Circuit-Forge/pagepiper) FORGEJO_API_TOKEN= # Enable thumbs up/down on chat answers (stores retrieval quality signals locally) # Off by default — opt in when you want to collect correction data # PAGEPIPER_CHAT_FEEDBACK=true