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.
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:
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:
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.