1.7 KiB
1.7 KiB
Getting started
Docker is the recommended way to develop and deploy ContentDB.
-
Install
dockeranddocker-compose.Debian/Ubuntu:
sudo apt install docker-ce docker-compose -
Copy
config.example.cfgtoconfig.cfg.- Set
SECRET_KEYandWTF_CSRF_SECRET_KEYto different random values.
- Set
-
(Optional) Set up mail in config.cfg. Make sure to set
USER_ENABLE_EMAILto True. -
(Optional) Set up GitHub integration
- Make a GitHub OAuth Client at https://github.com/settings/developers:
- Homepage URL -
http://localhost:5123/ - Authorization callback URL -
http://localhost:5123/user/github/callback/ - Put client id and client secret in
GITHUB_CLIENT_IDandGITHUB_CLIENT_SECRETin config.cfg.
-
Create config.env:
POSTGRES_USER=contentdb POSTGRES_PASSWORD=password POSTGRES_DB=contentdb FLASK_DEBUG=1 -
Start docker images:
docker-compose up --build -
Setup database:
./utils/run_migrations.sh -
Create initial data
./utils/bash.sh- Either
python utils/setup.py -torpython utils/setup.py -o:-ocreates just the admin, and static data like tags, and licenses.-twill do-oand also create test packages. (Recommended)
-
Make uploads writable:
sudo chown $(whoami):5123 -R data/uploads -
View at http://localhost:5123. The admin username is
rubenwardyand the password istuckfrump.
In the future, starting CDB is as simple as:
docker-compose up --build
To hot/live update CDB whilst it is running, use:
./utils/reload.sh
This will only work with python code and templates, it won't update tasks or config.
Now consider reading the Developer Introduction.