this is the existing python atlasserver, replacement to docsend
Find a file
despiegk a8942611a2 Merge branch 'main' of https://forge.ourworld.tf/lhumina_research/atlasserver
* 'main' of https://forge.ourworld.tf/lhumina_research/atlasserver:
  fix: use persistent volume for git content clone
  fix: delete and re-clone repo when git update fails
  fix: clean up stale git index.lock before git operations
  fix: add git-lfs to Docker image for LFS-tracked files
  fix: add git lfs pull to fetch LFS-tracked files (PDFs, images)
  fix: handle corrupted PDF cache when server returns 304
  fix: return JSON errors from PDF data endpoints instead of HTML
2025-12-20 17:24:08 +01:00
.claude ... 2025-12-08 16:54:18 +01:00
cfg_template chore: use ${HOME} instead of ~ for sites_dir path 2025-12-08 21:34:53 +01:00
content ... 2025-12-08 16:54:18 +01:00
docker fix: add git-lfs to Docker image for LFS-tracked files 2025-12-17 17:37:21 +01:00
docs init 2025-12-08 14:12:32 +01:00
filewidget init 2025-12-08 14:12:32 +01:00
specs init 2025-12-08 14:12:32 +01:00
src fix: use persistent volume for git content clone 2025-12-17 17:46:43 +01:00
static fix: handle corrupted PDF cache when server returns 304 2025-12-17 17:11:47 +01:00
templates ... 2025-12-11 09:30:08 +01:00
.dockerignore docker 2025-12-08 16:01:03 +01:00
.gitattributes Add Git LFS tracking for documents and images 2025-12-08 14:10:26 +01:00
.gitignore ... 2025-12-08 16:54:18 +01:00
install.sh ... 2025-12-08 18:03:43 +01:00
pipenv.sh ... 2025-12-11 08:43:54 +01:00
pyproject.toml ... 2025-12-08 16:54:18 +01:00
README.md ... 2025-12-11 08:43:54 +01:00
start_server.sh ... 2025-12-11 08:43:54 +01:00
start_server_debug.sh ... 2025-12-11 08:43:54 +01:00
uv.lock ... 2025-12-08 16:54:18 +01:00

knowledgecenter

Installation & Setup

to test as docker

docker run -p 9922:9922 -v /path/to/content:/content -e ATLAS_CONTENT_PATH=/content atlasserver:latest

to run natively

export ATLAS_CONTENT_PATH="${HOME}/code/forge.ourworld.tf/forge.ourworld.tf/ourworld/atlas_ourworld"
${HOME}/code/forge.ourworld.tf/lhumina_research/atlasserver/start_server_debug.sh

First Time Setup

./install.sh

This will:

  • Install uv if not present
  • Create a Python virtual environment
  • Install all dependencies from pyproject.toml
  • Use local herolib if available at ~/code/forge.ourworld.tf/lhumina_research/herolib_python

Force Update herolib

If you need to update to the latest herolib from git (e.g., after upstream changes):

./install.sh --force

This forces a clean reinstall of herolib from the git repository, bypassing the cache.

Starting the Server

Production mode:

./start_server.sh

Server runs on port 9922 at http://localhost:9922

Development mode:

./start_server_debug.sh

Runs with debug mode enabled and auto-reload on code changes.

ngrok

to be able to test on own environment

ngrok login
ngrok http 9022

it lets me expose a local development server to the internet, which is useful for testing webhooks and other integrations.

example url https://e68c72dd903a.ngrok-free.app = ngrok url

then go e.g. to https://e68c72dd903a.ngrok-free.app/info/welcome

now we can test the registration flow

now put your ngrok URL in cfg/dev.toml

to start in development mode do start_server_debug.sh

python tips

import pudb; pudb.set_trace()