Months ago I wrote a suite to make hivemind easy to deploy with docker (https://steemit.com/utopian-io/@drakos/hivemind-easy-deployment-with-hivemind-docker). This an update to support communities.
The latest hivemind branch that supports communities is 214-core
(https://github.com/steemit/hivemind/tree/214-core) but it hasn't been yet merged into the master
branch and their dockerhub image hasn't been updated (the current one is 4 months old). That's probably why nobody was aware of that branch!
Hivemind-communities requires a resynch and reindex, given the added columns in a few postgres tables.
Added features to hivemind-docker
https://github.com/Jolly-Pirate/hivemind-docker
- Postgres dump for local backups (
./run.sh dumpdb
) - Support for communities using
214-core
, I built a docker image and integrated that in the./run.sh build
command. You can always build your own image, just tag ithivemind:latest
and you're good to go. - Additional test commands:
./run.sh testhivecom
- test a hive-communities API call to hivemind
./run.sh testjussicom
- test a hive-communities API call to jussi
Update procedure
Requirements: 240GB for the database and 50GB for the dump file.
@emrebeyler has updated his hivemind (https://steemit.com/hive-101863/@emrebeyler/announcing-a-new-hivemind-communuties-node-https-hivemind-communities-emrebeyler-me), we will use that in our update procedure.
- Stop hive and postgres (jussi too, optionally)
./run.sh stop all
./run.sh stop jussi
- Delete the
pgdata
folder
sudo rm -rf pgdata
- Initialize a fresh database
./run.sh initdb
- Edit the
.env
file and update DB_DUMP_URL to this
DB_DUMP_URL=https://hivemind-communities.emrebeyler.me/dumps/hive_latest.dump
- Start postgres and import the latest dump
./run.sh start postgres
./run.sh importdb
- Finally, start hive and let it synch the missing blocks
./run.sh start hive
- If using jussi, add the following to the
DEV_config.json
file
{
"name": "bridge",
"translate_to_appbase": false,
"urls": [
["bridge", "http://hive:8080"]
],
"ttls": [
["bridge", -1]
],
"timeouts": [
["bridge", 30]
]
}
and start it
./run.sh start jussi