Docker - guydavis/machinaris GitHub Wiki

Start a Discussion or join our Discord for support and to help out.

As Machinaris is a pure-Docker solution for running the Chia™ the following general guidelines for Docker's docker-compose command are generally applicable across OSes. However, we have platform-specific guides for Windows, Linux, MacOS and others.

The following guide covers a standalone install on a single machine. Once launched, you'll just browse to http://localhost:8926.

Standalone

Machinaris also supports monitoring and controlling multiple workers on your local-area-network.

Pre-requisites

  • You'll need a recent Docker installed.
  • Recommend a minimum of 16 GB memory for a Machinaris controller (full-node). May need 32 GB+ if you add many forks. Machinaris harvesters will use less memory than full-nodes, even 2 GB can work on some hardware.
  • Ensure you have at least 150 GB of free space to hold the Chia blockchain... more required for forks.
  • Use a SSD to hold the Machinaris appdata (including blockchains) as a HDD will be too slow. HDDs are great to hold plots though!!

Install and Launching

Most users will want to run a full-node with all services started and full-functionality available. Use the Launch Wizard to save a docker-compose.yml to your machine. Then docker compose up -d to run Machinaris.

Other Modes

Please see the Workers page for details on launching a plotter, a harvester, a harvester+plotter once you have your Machinaris controller/full-node running.

Post-Install Configuration

Once you have launched Machinaris, be sure to do the following, regardless of which platform you are using. For fullnode (default) and farmer modes, you'll need to either import a key or generate a new one as described below. Plotter and harvester modes DO NOT require key import or generation (see steps above).

Import Key Mnemonic

Just browse to http://localhost:8926 where you can either import an existing key or generate a new one:

GenerateKey

Port-Forward TCP/8444

For your full-node, you should port-forward your router back to your Docker container on port tcp/8444. This is required to stay synced and thus participating in farming challenges.

Here's an example port-forward config from my Unifi-router:

PortForward

Upgrade

First, be sure you are done plotting as updating/restarting the container will kill any running plotting jobs. When ready, do this:

docker compose stop
docker compose rm -f
docker compose pull
docker compose up -d --force-recreate

This will stop the Machinaris container and remove the old Machinaris image. It should NOT delete/touch any files in your .machinaris folder, including your mnemonic.txt file. When you execute your docker run again, it will pull the latest release and start up for you. Then browse to http://localhost:8926 or similar.