openstax-cms

(β˜… 110)

The OpenStax CMS, built using Wagtail on top of Django.

  • .gitignore
  • .python-version
  • AGENTS.md
  • CLAUDE.md
  • codecov.yml
  • CONTRIBUTING.md
  • docker-compose.override.yml
  • docker-compose.yml
  • Dockerfile
  • LICENSE
  • manage.py
  • pyproject.toml
  • README.md
  • setup.cfg

# Installation Guide

1. Get the code
git clone https://github.com/openstax/openstax-cms

Downloads the entire project code from GitHub to your computer.

cd openstax-cms

Moves into the project folder you just downloaded.

2. Official Install Script

Easy Recommended
Prerequisites
  • Homebrew A package manager for macOS/Linux.
brew install postgresql

Installs the pre-built package via Homebrew β€” no source build required.

brew install python3

Installs the pre-built package via Homebrew β€” no source build required.

βœ… After installing, open a new terminal and run the program's version command (e.g. --version) to confirm it worked.

Pulled directly from this repo's README.

3. Docker

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker-compose up

Runs the command against the services defined in the compose file.

docker-compose exec -e DJANGO_SETTINGS_MODULE=openstax.settings.docker app bash

Runs the command against the services defined in the compose file.

./docker/bash

Type this command into your terminal and run it.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

4. Python

Easy
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Python 3 On Windows, be sure to check 'Add Python to PATH' during installation.
pip3 install -r requirements/dev.txt

Installs the Python libraries listed in requirements.txt (or similar).

βœ… If it runs without errors and prints output in the terminal, it worked.

Pulled directly from this repo's README.

// repository documentation