Portainer - guydavis/machinaris GitHub Wiki

Portainer Setup

Machinaris runs well on Portainer, however unlike the streamlined docker-compose approach, additional work is required within Portainer, resulting in many configuration issues for new users. For that reason, I strongly recommend using docker-compose on Linux or Windows instead of Portainer.

If you are a Portainer-pro, then you'll want to run a full-node with all services started and full-functionality available. Use the Launch Wizard to create a docker-compose.yml, for import into the Portainer stacks. Because Portainer chokes on the mnemonic.txt volume mount lines for the forks, remove those lines before importing.

If you do forget and leave the mnemonic.txt lines in place, you MUST launch only the main machinaris container first on initial setup. Do not allow Portainer to randomly launch any container in an unordered fashion. This means leaving the forks containers off on initial setup.

Due to this failing of Portainer, please manually copy the mnemonic.txt file that is created for the Machinaris-Chia container over to the Machinaris-[FORK] containers, in the root of their appdata folder.

[OUTDATED]: Check out this great video from Digital Spaceport for installing Machinaris in Portainer on Ubuntu:

Digital Spaceport

Machinaris Upgrade

To upgrade Machinaris on Portainer, please try these steps provided by okkar in the Discord:

Personally, I use Stacks on Portainer and these are my steps:

  1. Go to machinaris.app and paste in my environment details to get the new docker-compose content.
  2. Forward the new ports on the router.
  3. Stop the Stack.
  4. Remove existing Machinaris images.
  5. Update the Stack with the new docker-compose content, and start the Stack.

If you want to reduce the downtime, this is an alternative approach, replacing step #3 above.

  1. Go to the "machinaris" Stack and open up each Machinaris container's image in a new tab.
  2. At each "Image details" tab, click on "Pull from registry" (download button).
  3. Check under "Images" that you now have unused "latest" images.
  4. Update the Stack with the new docker-compose content, and click on "Update the stack".

Another approach is to recreate the container. Of course upgrading is much simpler with docker-compose as Portainer introduces a needlessly complex GUI for very little benefit.

Mounting Remote Windows Shares

From user ProfDD on the Discord:

Found a sample about adding a remote share as volume on Docker Compose / Portainer Stack editor:

My sample for connect windows share is, add at beginning :

volumes:
  NAME_OF_VOLUME:
    driver_opts:
      type: cifs
      o: username={smbuser},password={smbpass},vers=3.0,domain=WORKGROUP
      device: //192.168.xxx.xxx/SHARE_NAME

How to map LAN network share to Docker volume? To not bloat the required capabilities unnecessarily, the recommended approach is to use volumes instead (pointing to your CIFS shares) and map them into a folder inside the container, then use them in your containerized app as you would use any local folder. Either create your volume first and then use it in docker run commands: docker volume...

then add this NAME_OF_VOLUME to Machinaris:

        volumes: 
           {original code from Machinaris}
            - /mnt/plots1:/plots1
            - NAME_OF_VOLUME:/plots2
        environment:
           {original code from Machinaris}
            - plots_dir=/plots1:/plots2: