A fork of the original contentdb, codenamed "Okapi".
Go to file
rubenwardy 05bf8e3b3d Add prometheus support 2020-04-23 23:30:37 +01:00
.github Add issue templates 2019-11-12 22:49:47 +00:00
app Add prometheus support 2020-04-23 23:30:37 +01:00
migrations Add automatic GitHub webhook creation 2020-01-24 23:19:06 +00:00
utils Fix password issues caused by Flask-User migration 2020-01-19 19:48:41 +00:00
.dockerignore Add data* to docker ignore 2020-01-22 22:11:01 +00:00
.gitignore Add Gitlab CI support 2020-01-19 18:15:18 +00:00
.gitlab-ci.yml Add API tests 2020-01-19 19:09:04 +00:00
Dockerfile Improve Docker configurations 2020-01-18 01:20:32 +00:00
LICENSE.txt Update README 2018-03-24 19:12:02 +00:00
README.md Add build status badge on README.md (#194) 2020-04-20 23:01:59 +01:00
babel.cfg Add translation support 2019-07-29 21:44:39 +01:00
config.example.cfg Optimise SQL queries 2020-04-21 20:35:05 +01:00
docker-compose.yml Add reloading support to Docker container 2020-01-18 01:38:00 +00:00
requirements.txt Update git-archive-all 2020-02-15 15:23:43 +00:00

README.md

Content Database

Build status

Content database for Minetest mods, games, and more.
Developed by rubenwardy, license GPLv3.0+.

How-tos

Note: you should first read one of the guides on the Github repo wiki

# Run celery worker
FLASK_CONFIG=../config.cfg celery -A app.tasks.celery worker

# if sqlite
python utils/setup.py -t
rm db.sqlite && python setup.py -t && FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db stamp head

# Create migration
FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db migrate
# Run migration
FLASK_CONFIG=../config.cfg FLASK_APP=app/__init__.py flask db upgrade

# Enter docker
docker exec -it contentdb_app_1 bash

# Hot/live reload (only works with FLASK_DEBUG=1)
./utils/reload.sh

# Cold update a running version of CDB with minimal downtime
./utils/update.sh

Database

classDiagram

User "1" --> "*" Package
User --> UserEmailVerification
User "1" --> "*" Notification
Package "1" --> "*" Release
Package "1" --> "*" Dependency
Package "1" --> "*" Tag
Package "1" --> "*" MetaPackage : provides
Release --> MinetestVersion
Package --> License
Dependency --> Package
Dependency --> MetaPackage
MetaPackage "1" --> "*" Package
Package "1" --> "*" Screenshot
Package "1" --> "*" Thread
Thread "1" --> "*" Reply
Thread "1" --> "*" User : watchers
User "1" --> "*" Thread
User "1" --> "*" Reply
User "1" --> "*" ForumTopic

User --> "0..1" EmailPreferences
User "1" --> "*" APIToken
APIToken --> Package