Linux - guydavis/machinaris GitHub Wiki

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

Install

Machinaris runs well inside Docker on Linux systems such as Ubuntu 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. I don't recommend using Snap on Ubuntu to install Docker. Get the latest from Docker Inc. themselves.
  • 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!!

Run Docker Commands as Regular User

Please follow this post-install to run docker compose as a regular Linux user, not the root user.

sudo groupadd docker
sudo usermod -aG docker $USER

Close the terminal, then re-open, before executing docker compose commands.

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 create docker-compose.yml file for your system.

Place the docker-compose.yml you generated from https://www.machinaris.app/ into a folder on your computer, could be in your Home directory, I recommend naming the folder machinaris. Then open a shell in that folder:

docker compose config
docker compose pull
docker compose up -d
docker logs -f machinaris

That config command will check the docker-compose.yml and output an error if problems. Watch the logs command to ensure a clean startup happens, then browse to http://localhost:8926/. From there you can run the Setup through the Machinaris WebUI.

Other Modes

A Machinaris plotter is a remotely-controlled worker. Please see the Workers page for details on launching a plotter, a harvester, a harvester+plotter instead.

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

Delay Docker Launch on Boot

If your Docker service is starting Machinaris before all your drives are mounted, then you can either add a delay on boot OR you can try this approach suggested by user efnats in the Machinaris Discord, namely to add a dependency in the Docker service on the Mount service in the systemd units.

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.

Troubleshooting

Some solutions for problems encountered by Machinaris users.

High Memory Usage with ZFS

One Machinaris user encountered very high memory usage when holding a lot of plots on ZFS. He pointed to the possible cause being the background plots check Machinaris requests of the Chia CLI. Combined with this known issue of ZFS+Ubuntu, a lot of memory was being used.