Docker Usage
Docker images are available via ghcr.io/madmax43v3r/mmx-node in 2 build flavours:
latest: Built from the most recent release versionedge: Built from the most recent commit to the master branch
The following tag suffixes are also available for GPU vendor specific builds:
-amd-intel-nvidia
Additionally, each semver tag produces tagged images:
<major>.<minor>.<patch><major>.<minor><major>- each with their respective suffix (eg.
1.1.9-amd)
Each image provides a volume for /data which you can override with your own volume or a mapped path to customize the storage location of the node data.
A compose.yml for the cpu only node can look like this:
services: node: image: ghcr.io/madmax43v3r/mmx-node:latest restart: unless-stopped volumes: - /some/path/to/mmx-node:/data ports: - "11337:11337" # Node p2p port. Forward your router to this port for peers to be able to connect - "127.0.0.1:11380:11380" # API port. Set host to 0.0.0.0 in /data/config/local/HttpServer.json for webUI/API access #- "11333:11333" # Harvester port. Uncomment to allow remote harvesters to connect to the farmer #- "11330:11330" # Farmer port. Uncomment to allow remote farmers to connect to the node environment: MMX_ALLOW_REMOTE: 'false' # Set to true to allow connections from remote harvesters/farmers MMX_HARVESTER_ENABLED: 'true' # Set to false to disable local harvester MMX_FARMER_ENABLED: 'true' # Set to false to disable local farmerFor amd gpu support please see the following compose.yml:
services: node: image: ghcr.io/madmax43v3r/mmx-node:latest-amd restart: unless-stopped devices: - /dev/dri:/dev/dri - /dev/kfd:/dev/kfd volumes: - /some/path/to/mmx-node:/data ports: - "11337:11337" # Node p2p port. Forward your router to this port for peers to be able to connect - "127.0.0.1:11380:11380" # API port. Set host to 0.0.0.0 in /data/config/local/HttpServer.json for webUI/API access #- "11333:11333" # Harvester port. Uncomment to allow remote harvesters to connect to the farmer #- "11330:11330" # Farmer port. Uncomment to allow remote farmers to connect to the node environment: MMX_ALLOW_REMOTE: 'false' # Set to true to allow connections from remote harvesters/farmers MMX_HARVESTER_ENABLED: 'true' # Set to false to disable local harvester MMX_FARMER_ENABLED: 'true' # Set to false to disable local farmerFor intel gpu support please see the following compose.yml:
services: node: image: ghcr.io/madmax43v3r/mmx-node:latest-intel restart: unless-stopped devices: - /dev/dri/renderD128:/dev/dri/renderD128 volumes: - /some/path/to/mmx-node:/data ports: - "11337:11337" # Node p2p port. Forward your router to this port for peers to be able to connect - "127.0.0.1:11380:11380" # API port. Set host to 0.0.0.0 in /data/config/local/HttpServer.json for webUI/API access #- "11333:11333" # Harvester port. Uncomment to allow remote harvesters to connect to the farmer #- "11330:11330" # Farmer port. Uncomment to allow remote farmers to connect to the node environment: MMX_ALLOW_REMOTE: 'false' # Set to true to allow connections from remote harvesters/farmers MMX_HARVESTER_ENABLED: 'true' # Set to false to disable local harvester MMX_FARMER_ENABLED: 'true' # Set to false to disable local farmerFor Nvidia gpu support please see the following compose.yml:
services: node: image: ghcr.io/madmax43v3r/mmx-node:latest-nvidia restart: unless-stopped runtime: nvidia volumes: - /some/path/to/mmx-node:/data ports: - "11337:11337" # Node p2p port. Forward your router to this port for peers to be able to connect - "127.0.0.1:11380:11380" # API port. Set host to 0.0.0.0 in /data/config/local/HttpServer.json for webUI/API access #- "11333:11333" # Harvester port. Uncomment to allow remote harvesters to connect to the farmer #- "11330:11330" # Farmer port. Uncomment to allow remote farmers to connect to the node environment: MMX_ALLOW_REMOTE: 'false' # Set to true to allow connections from remote harvesters/farmers MMX_HARVESTER_ENABLED: 'true' # Set to false to disable local harvester MMX_FARMER_ENABLED: 'true' # Set to false to disable local farmerRunning a remote harvester or farmer can be done by overwriting the CMD of the Dockerfile, for example like this:
- Set
MMX_ALLOW_REMOTEtotruein the node or farmer compose.yml - Make sure port 11333 is uncommented/exposed in the node or farmer compose.yml
- Edit the following example with the node or farmers ip address and correct paths
services: harvester: image: ghcr.io/madmax43v3r/mmx-node:latest restart: unless-stopped command: './run_harvester.sh -n <some ip or hostname here>' volumes: - /some/path/to/mmx-node:/data - /some/path/to/disks:/disks- Set
MMX_ALLOW_REMOTEtotruein the node compose.yml - To allow remote harvesters to connect to this farmer set
MMX_ALLOW_REMOTEtotruein the example below - Make sure port 11330 is uncommented/exposed in the node compose.yml
- Edit the following example with the node ip address and correct data path
services: farmer: image: ghcr.io/madmax43v3r/mmx-node:latest restart: unless-stopped command: './run_farmer.sh -n <some ip or hostname here>' volumes: - /some/path/to/mmx-node:/data ports: - "11333:11333" # Farmer listens on this port for remote harvester connections environment: MMX_ALLOW_REMOTE: 'false' # Set to true to allow connections from remote harvesters MMX_HARVESTER_ENABLED: 'true' # Set to false to disable local harvester