A fork of the original contentdb, codenamed "Okapi".
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.6 KiB

Getting started

Docker is the recommended way to develop and deploy ContentDB.

  1. Install docker and docker-compose.


     sudo apt install docker-ce docker-compose
  2. Copy config.example.cfg to config.cfg.

    1. Set SECRET_KEY and WTF_CSRF_SECRET_KEY to different random values.
  3. (Optional) Set up mail in config.cfg. Make sure to set USER_ENABLE_EMAIL to True.

  4. (Optional) Set up GitHub integration

    1. Make a Github OAuth Client at https://github.com/settings/developers:
    2. Homepage URL - http://localhost:5123/
    3. Authorization callback URL - http://localhost:5123/user/github/callback/
    4. Put client id and client secret in GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET in config.cfg.
  5. Create config.env:

  6. Start docker images:

     docker-compose up --build
  7. Setup database:

  8. Create initial data

    1. ./utils/bash.sh
    2. Either python utils/setup.py -t or python utils/setup.py -o:
      1. -o creates just the admin, and static data like tags, and licenses.
      2. -t will do -o and also create test packages. (Recommended)
  9. View at http://localhost:5123. The admin username is rubenwardy and the password is tuckfrump.

In the future, starting CDB is as simple as:

docker-compose up --build

To hot/live update CDB whilst it is running, use:


This will only work with python code and templates, it won't update tasks or config.

Now consider reading the Developer Introduction.