Nvidia GPU mining setup for Ubuntu Server. Docker based using nvidia-docker. Supports ETH, ZEC, DCR, MSR mining.
Mining is causing environmental issues and will possibly not go away soon. Iam sharing this setup for easy to use energy efficient GPU mining from the software side.
Warning: This project is experimental and can damage your hardware! Use at your own risk!
- Features
- Changelog
- Used Containers
- Prerequisites
- Installation
- Manual Configuration
- Usage
- Logs
- Limitations And Known Issues
- Contributing
- License
- Based on Ubuntu Server 18.04.
- Minimal x server dummy with xserver-xorg-legacy.
- Docker based with nvidia-docker and docker-compose.
- Nvidia driver installation.
- Improved version of Genoils Cuda Miner for ETH mining.
- EWBF Miner for ZEC mining.
- Gominer for DCR mining.
- XMR-Stak for MSR mining.
- Overclocking. Prepackaged with overclocking profiles for GTX1070.
- Prometheus exporters for system, GPU and mining metrics.
- CLI installation script.
- Automatic restart of crashed processes.
- Cyclic logfile clearing.
- Daily reboot or shutdown.
See CHANGELOG.md for information about the latest changes.
This project orchestrates the following docker containers:
- prometheus/node-exporter
- kristophjunge/ethminer-cuda
- kristophjunge/ewbf
- kristophjunge/decred-gominer-cuda
- kristophjunge/xmrstak-cuda
- kristophjunge/prometheus-nvidiasmi
- kristophjunge/prometheus-ethminer
- kristophjunge/prometheus-ewbf
- kristophjunge/prometheus-xmrstak
- Ubuntu Server 18.04
- Git
Clone the GIT repository into the target location (Do not use other locations):
sudo git clone https://github.com/kristophjunge/gpu-miner-nvidia.git /opt/gpu-miner-nvidia
Run the setup script:
sudo /opt/gpu-miner-nvidia/script/setup.sh
Duplicate the default configuration file:
sudo cp /opt/gpu-miner-nvidia/.env.default /opt/gpu-miner-nvidia/.env
Configure the variables in /opt/gpu-miner-nvidia/.env
.
Set GPUMINERNVIDIA_NAME
to the hostname.
The variable GPUMINERNVIDIA_MODE
controls the mode in which the miner should run. Current options are eth
, zec
, dcr
. Its also possible to leave the value empty which will start only the basic monitoring containers.
Overclocking is configured by placing an oc-profile
file in the appropriate subdirectory in the mode
folder.
An example oc-profile
file is located under data/oc-profile/oc-profile-example.
The project is prepackaged with overclocking profiles for the GTX1070. To apply these execute the following command:
sudo cp -r /opt/gpu-miner-nvidia/data/oc-profile/gtx1070/* /opt/gpu-miner-nvidia/mode
Start and stop the service:
sudo service gpu-miner-nvidia start
sudo service gpu-miner-nvidia stop
Enable the service for automatic startup:
sudo systemctl enable gpu-miner-nvidia.service
Reboot:
/opt/gpu-miner-nividia/script/reboot.sh
Shutdown:
/opt/gpu-miner-nividia/script/shutdown.sh
The main service writes its log to gpu-miner-nvidia.log
.
All other containers have their own log output.
- Mining multiple coins in parallel is not possible. Not on the same GPU and also not in a split setup.
- Gominer has no Prometheus exporter.
See CONTRIBUTING.md for information on how to contribute to the project.
See CONTRIBUTORS.md for the list of contributors.
This project is licensed under the MIT license by Kristoph Junge.