mirror of
https://github.com/minetest/contentdb.git
synced 2024-12-22 22:12:24 +01:00
1.7 KiB
1.7 KiB
Getting started
Docker is the recommended way to develop and deploy ContentDB.
-
Install
docker
anddocker-compose
.Debian/Ubuntu:
sudo apt install docker-ce docker-compose
-
Copy
config.example.cfg
toconfig.cfg
.- Set
SECRET_KEY
andWTF_CSRF_SECRET_KEY
to different random values.
- Set
-
(Optional) Set up mail in config.cfg. Make sure to set
USER_ENABLE_EMAIL
to 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_ID
andGITHUB_CLIENT_SECRET
in 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 -t
orpython utils/setup.py -o
:-o
creates just the admin, and static data like tags, and licenses.-t
will do-o
and also create test packages. (Recommended)
-
Make uploads writable:
sudo chown $(whoami):5123 -R data/uploads
-
View at http://localhost:5123. The admin username is
rubenwardy
and 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.