First you need to clone the miningcore code from
git clone https://github.com/TMKCodes/miningcore_htn_wala.git
Then download and run a postgres 16 container:
sudo docker run --rm --name pg16 --network host \
-e POSTGRES_USER=miningcore \
-e POSTGRES_PASSWORD=PASSWORD \
-e POSTGRES_DB=miningcore \
--shm-size=1g \
-v /var/lib/postgres/data16:/var/lib/postgresql/data \
-d postgres:16
Then import the database schema to Postgres 16:
psql -U miningcore -d miningcore -f /app/miningcore/src/Miningcore/Persistence/Postgres/Scripts/createdb.sql
Then, if you are planning to run a Multipool-Cluster, perform the additional steps for Postgres 11 or higher:
psql -U miningcore -d miningcore -f miningcore/src/Miningcore/Persistence/Postgres/Scripts/createdb_postgresql_11_appendix.sql
if you do this, remember to create partition tables for every pool you add later on.
psql -U miningcore -d miningcore
CREATE TABLE shares_pool_id PARTITION OF shares FOR VALUES IN ('POOL_ID');
Change directory to the miningcore cd miningcore_htn_wala folder and build the miningcore container:
docker build -t miningcore:latest .
Then create a config file config.json in the root of the miningcore folder. For hoosat network pool you can just cp ./examples/hoosat_pool.json ./config.json and modify the required information.
Then run the miningcore container:
sudo docker run -d --network host --name mc -v `pwd`/config.json:/app/config.json --restart=unless-stopped miningcore:latest
Miningcore itself does not have a frontend, but there are open source frontends available for miningcore. This guide won't help you further than this as frontend is only required if you are planning to run public pool and then you should have the knowledge to search for open source frontend and run them.