All Projects → alexellis → Mine With Docker

alexellis / Mine With Docker

Licence: mit
Mine cryptocurrencies with Docker containers and get paid in Bitcoin (BTC)

Projects that are alternatives of or similar to Mine With Docker

SWARM
Profit Switching Mining Administrator For HiveOS/Linux & Windows: HiveOS Integrated
Stars: ✭ 66 (-76.51%)
Mutual labels:  mining, swarm
Swarmops
Manage swarm clusters to provide a more concise and compact intermediate layer web application with swarm ui.
Stars: ✭ 63 (-77.58%)
Mutual labels:  swarm, bootstrap
Jqgrid
jQuery grid plugin
Stars: ✭ 2,803 (+897.51%)
Mutual labels:  bootstrap
Ekko
Framework agnostic PHP package for marking navigation items active.
Stars: ✭ 275 (-2.14%)
Mutual labels:  bootstrap
E107
e107 Bootstrap CMS (Content Management System) v2 with PHP, MySQL, HTML5, jQuery and Twitter Bootstrap. Issue Discussion Room: https://gitter.im/e107inc/e107
Stars: ✭ 272 (-3.2%)
Mutual labels:  bootstrap
Staradmin Free Vue Admin Template
Star Admin Vue Admin is a free admin template based on Bootstrap 4 and Vue.js.
Stars: ✭ 265 (-5.69%)
Mutual labels:  bootstrap
Blazor
DevExpress UI for Blazor
Stars: ✭ 274 (-2.49%)
Mutual labels:  bootstrap
Bs Stepper
A stepper for Bootstrap 4.x
Stars: ✭ 261 (-7.12%)
Mutual labels:  bootstrap
Pagy
🏆 The Best Pagination Ruby Gem 🥇
Stars: ✭ 3,340 (+1088.61%)
Mutual labels:  bootstrap
Gatsby Starter Bootstrap
Gatsby starter for bootstrap
Stars: ✭ 272 (-3.2%)
Mutual labels:  bootstrap
Bootstrap Social
👫 Social Sign-In Buttons for Bootstrap
Stars: ✭ 2,886 (+927.05%)
Mutual labels:  bootstrap
Jenkins Bootstrap Shared
Jenkins as immutable infrastructure made easy. A repository of shared scripts meant to be used as a git submodule. Packing Jenkins, plugins, and scripts into immutable packages and images.
Stars: ✭ 270 (-3.91%)
Mutual labels:  bootstrap
Startbootstrap Business Casual
A Bootstrap HTML theme for business websites - created by Start Bootstrap
Stars: ✭ 266 (-5.34%)
Mutual labels:  bootstrap
Nucleus
Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
Stars: ✭ 276 (-1.78%)
Mutual labels:  bootstrap
Ajsf
Angular JSON Schema Form
Stars: ✭ 266 (-5.34%)
Mutual labels:  bootstrap
Yclas
Yclas Self Hosted is a powerful script that can transform any domain into a fully customizable classifieds site within a few seconds.
Stars: ✭ 276 (-1.78%)
Mutual labels:  bootstrap
Flutter Redux Starter
Starter project and code generator for Flutter/Redux
Stars: ✭ 262 (-6.76%)
Mutual labels:  bootstrap
Nanominer
Nanominer is a versatile tool for mining cryptocurrencies on GPUs and CPUs.
Stars: ✭ 263 (-6.41%)
Mutual labels:  mining
Bootstrapadmin
Bootstrap 4 admin template.
Stars: ✭ 273 (-2.85%)
Mutual labels:  bootstrap
Bootstrap package
Bootstrap Package delivers a full configured theme for TYPO3, based on the Bootstrap CSS Framework.
Stars: ✭ 277 (-1.42%)
Mutual labels:  bootstrap

mine-with-docker

This repository contains Docker images and Dockerfiles that let you get from zero to mining in around 5 minutes on any Linux host anywhere.

CPU mining can be profitable using algorithmns like: Cryptonight, Hodl or Equihash. Find out more about profitability here.

Disclaimer: this software is provided with no warranty. Use at your own risk. If you plan to mine on a cloud check the terms and conditions before you start. The same applies if you are using private equipment or an on-site datacenter for mining.

Tip: Mining will use all the CPU resources available on the machine so do not run it where you have critical applications.

How does it work?

Instead of mining BitCoin or other currencies on your own this software works by connecting your CPU / GPU to a mining pool. You get paid for the shares your computer makes towards solving a block. The NiceHash mining pool used in this example lets you mine using two dozen different algorithms and can tell you what is most profitable for your hardware.

  • What should I mine?

At time of writing a quad-core Intel CPU would be best mining Cryptonight, Hodl or Equihash.

  • How do I get a wallet?

You can sign-up for a wallet at blockchain.info or coinbase.com. When you create a wallet you can then click "receive funds" or similar to generate a new address for the wallet.

  • What is the barrier to entry?

There barrier to entry is super low - you just have to have a Linux system connected to the Internet where you can install Docker. That's it. You then run the image I've already built and start accruing Bitcoins.

  • Can I use my Raspberry Pi cluster?

Absolutely not.. there is no point even going there and believe me I've tried. You may find an obscure "alt coin" that can be mined with a Raspberry Pi but getting the money out of an obscure mining pool or exchange is more trouble than it's worth.

  • Is it profitable?

It can be profitable depending on your hardware and electricity costs. If you have a single node and can get paid 2-5USD / day for instance then that's going to equate to 60-150 USD / month. Now if you actually have 20 or 50 nodes you can apply a multiplier.

  • Where have you tested this?

Tested on cloud, but as I mentioned - check T&Cs before starting. You take full responsibility for any breach of T&Cs.

Own hardware:

  • MacBook Pro 13" touchbar i5
  • Intel Nuc i5 Gen 5
  • Dell Optiplex Intel i7
  • What is Docker?

Docker uses containers and immutable images to build and package software and all its dependencies. Read more here

Try my Hands-On Labs for Docker if you want to learn more.

Tip: If you have credits with a cloud provider or are using the Spot Instance market then this could be a way for you to generate some coin at a low cost.

Pre-reqs

We need to install Docker CE so that we can run a container. The container holds all the mining code and dependencies as a single immutable image. You can install with a single line using a utility script - I generally use this with Ubuntu, but other distributions are supported too.

  • Install Docker CE:
curl -sL https://get.docker.com | sh

If not running as a root user then you should look at the final message about using usermod to grant access to Docker to your user account. This may be something like usermod alexellis -aG docker

  • Setup Docker Swarm

We will be using Docker Swarm to control the container we're using for mining.

Type in the following:

docker swarm init

If this command complains about --advertise-addr - then pass --advertise-addr=127.0.0.1.

Start mining

Create a service and enter your bitcoin wallet ID:

  • Mine Hodl
docker service create --mode=global \
  --name miner alexellis2/cpu-opt:2018-1-2 ./cpuminer \
  -a hodl \
  -o stratum+tcp://hodl.usa.nicehash.com:3352 \
  -u 1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o.cloud1
  • Mine Cryptonight
docker service create --mode=global \
  --name miner alexellis2/cpu-opt:2018-1-2 ./cpuminer \
  -a cryptonight \
  -o stratum+tcp://cryptonight.usa.nicehash.com:3355 \
  -u 1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o.cloud1

You must replace "usa" with your location such as "hk" or "eu", read on.

Tip : If you are planning on using an Atom processor you will need to rebuild the image using the instructions below. Atom CPUs are not advised for mining.

  • Replace "1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o" with your wallet ID and "cloud1" with the name of the host you're mining on if you want to track it.

  • If you live outside the EU then find your nearest Stratum proxy server from Nicehash and replace the eu URL with your nearest location.

  • If you're running the command for the second time then remove the service with: docker service rm miner

Limiting CPU usage

This is a community suggestion from @linuxjuggler.

If you want you can limit the CPU usage using the --limit-cpu option in the docker service create command.

Also its worth mentionining that you can limit the CPU core usage by selecting which cores to target via

docker run alexellis2/cpu-opt:2018-1-2 ./cpuminer --help:
      --cpu-affinity    set process affinity to cpu core(s), mask 0x3 for cores 0 and 1
      --cpu-priority    set process priority (default: 0 idle, 2 normal to 5 highest)

@linuxjuggler writes:

Limiting the amount of CPU or number of cores being used may mean you can continue to use the system for other purposes. It is also less likely to trigger a high CPU alert if you are running monitoring software.

Stop/pause mining

To pause mining type in docker service scale miner=0. To resume set the replicas to 1.

To completely stop mining use docker service rm miner

Rebuild the image

This is optional and not recommended for beginners.

If you need to rebuild the Docker image for updates or for a different CPU architecture/variation such as an Atom CPU:

git clone https://github.com/alexellis/mine-with-docker
cd mine-with-docker/cpu-opt
docker build -t cpu-opt:latest .

After rebuilding the image swap out alexellis2/cpu-opt:2018-1-2 for cpu-opt:latest or whatever you chose to call it in the docker build command.

Monitor your balance / workers

You can use the nicehash UI to monitor your balance and predicted payout. Mining pools generally wait until you reach a certain (low) balance before sending an automatic transfer to your wallet.

Here's an example with my donation address:

https://www.nicehash.com/miner/1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o

Nicehash and many other mining pools have their own HTTP APIs where you can programatically query your hashing rate, balance and list of connected workers.

Tip: You can use different mining pools simply by adjusting the stratum URL passed in via the -o flag to the container.

Donate

You can follow me on Twitter @alexellisuk or make a donation with Bitcoin or Ethereum below:

Donate via:

  • BTC: 1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o
  • Bitcoin Cash: 1M2KME8VBx24RsU3Ed2dEkF9EFghn3jR2o
  • ETH: 0x0D0c7108AD4180486E03B4Fc44AD794a209eCb37
  • LTC: LTt4VGXJMXALgzyjw6zACRxigNADaDYNH9

License

MIT

Copyright Alex Ellis 2017-2018

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].