Reading the repo
Opening the box…
Reading the repo
Opening the box…
How to install on Linux
One webpage for every book ever published!
Fresh setup, read just now
Will it work on Linux?
Heads-upIt also needs PostgreSQL and Memcached.
The maintainers included scripts/install_nginx.sh. Run it from the cloned folder after reading it.
bash scripts/install_nginx.sh
Also: scripts/install_nodejs.sh
Then run bash setup.sh. It stops at the first error and is safe to run again. Servers and tests aren't started; it lists them at the end. Read it first.
The repo uses git submodules, so the clone fetches them too.
git clone --recurse-submodules https://github.com/internetarchive/openlibrary.git cd openlibrary
Node.js ^24.0.0, Python >=3.14.5,<3.14.6
# needs nvm: https://github.com/nvm-sh/nvm nvm install 24 sudo apt install python3 python3.14 python3-venv # Debian/Ubuntu
Needs: PostgreSQL, Memcached
# needs Docker Engine: https://docs.docker.com/engine/install/ docker compose -f compose.yaml up -d
npm ci python -m venv .venv source .venv/bin/activate pip install -r requirements.txt
npm run serve
npm test pytest
Please read the Contributing guide thoroughly before contributing. It covers community norms, contribution standards, and how to work respectfully with other contributors.
Then follow the Quick Start to set up your environment and make your first contribution.
For full developer documentation, see docs.openlibrary.org.
To volunteer in non-development roles, visit openlibrary.org/volunteer.
No reports for Linux yet.
GitManual AI Agent reads the 15 key files and writes a step-by-step guide for Linux. Once written, it's saved for everyone.