Installing emrys for suppliers


Supplier / miner subcommands have only been tested with ubuntu 16.04.


# Uninstall old versions
$ sudo apt remove docker docker-engine

$ sudo apt update
$ sudo apt install \
   apt-transport-https \
   ca-certificates \
   curl \

$ curl -fsSL | \
   sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
   "deb [arch=amd64] \
   $(lsb_release -cs) \

$ sudo apt update
$ sudo apt install -y docker-ce


# Add the package repositories
$ curl -s -L | \
   sudo apt-key add -
$ distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
$ curl -s -L$distribution/nvidia-docker.list | \
   sudo tee /etc/apt/sources.list.d/nvidia-docker.list
$ sudo apt update

# Install nvidia-docker2 and reload the Docker daemon configuration
$ sudo apt install -y nvidia-docker2
$ sudo systemctl restart docker.service

Add user re-mapping for security. All containers are executed as unprivileged users with all linux capabilities dropped and the no-new-privileges security flag enabled. In the unlikely event the process were to escalate itself to a privileged user within the container, the docker user re-mapping means the process is still unprivileged on your host machine.

# manually add "userns-remap": "default" to /etc/docker/daemon.json
# After, it should look like: 
$ sudo cat /etc/docker/daemon.json
  "userns-remap": "default",
  "runtimes": {
    "nvidia": {
      "path": "nvidia-container-runtime",
      "runtimeArgs": []

# restart dockerd for the changes to take effect
$ sudo systemctl restart docker.service

GPU cooling

# allows user to adjust gpu fan speed
$ sudo nvidia-xconfig -a --enable-all-gpus
$ sudo nvidia-xconfig -a --cool-bits=24

# must reboot

# test
$ nvidia-settings -a GPUFanControlState=1
$ nvidia-settings -a GPUTargetFanSpeed=25

GPUs heat up quickly when running at high utilization. Settings your GPUs fan control state to manual allows emrys to ramp up your fan appropriately during & between jobs. Keeping your cards relatively cool reduces wear and tear.

Downloading & installing emrys

The following scripts require root privileges to install emrys into /usr/local/bin. If you prefer to avoid using sudo, simply install the executable into a different folder that doesn’t require root (say ~/bin - but don’t forget to add it to $PATH!)


$ curl | \
   sudo tar -C /usr/local/bin -xzf -


$ curl | \
   sudo tar -C /usr/local/bin -xzf -

Test the installation

$ emrys --help

Receiving payments

Emrys payments are powered by Stripe. Visit your account page to securely provide bank account details required for payouts from supplying the network.

Updating emrys

# sudo may be required, depending on the permissions & ownership 
# of where you installed the executable
$ emrys update