Simple Django app to show who's turn it is and send some notification on Discord channel.
App can be easy deployed using attached docker-compose.yml
file.
There is a simple script docker-run-build.sh
which will build and run everything from single command.
Some env variables needs to best prior deploying the stack.
See attached .env.example
file for details.
One simply needs to copy .env.example
to .env
and fill proper variables.
After that it is enough to run docker-compose up -d
. It will deploy three docker containers:
uwsgi
with Application and single workerpostgresql
databaseredis
instance for RQ
By default uwsgi
exposes the application through uwsgi
protocol so you need a reverse proxy nginx to
forward requests to Docker container.
To use application one needs to simply set a webhook endpoint at Civilization VI game setting to:
http://<your-host-name>/webhook/
WARNING: For some reason Civilization VI does not send proper webhooks for https
endpoints so sadly you NEED TO use http
.
Feel free to configure your webserver to redirect every other url to https
.
Also be aware of the fact that sometimes it requires 2-3 turns for Civilization to start sending webhooks.
After first webhook from Civilization there will be a game object automatically created and game_id
will be set.
You can see your games in Django Admin panel.
To check who's turn it is check url:
http://<your.hostname>/<game_id>/
Discord notifications can be configured via Django Admin panel. After the first web hook from Civilization server you should see a Game instance in the Django Admin panel. Create Discord Webhook Bot and put details in the Admin panel.
One can configure mapping of Discord users to player names so Discord notification will @mention
given user.
To do so one needs to put discord_id
in admin panel which can be obtained by issuing \@username
at Discord channel.