Giter Site home page Giter Site logo

xmrig-kryptokrona's Introduction

XMRig miner image for Kryptokrona

Kryptokrona (XKR) CPU miner packaged in a lightweight Docker image that you can easily deploy to a Kubernetes cluster or your docker environment using docker compose.

What is XMRig?

XMRig is a high performance, open source, cross platform RandomX, KawPow, CryptoNight and AstroBWT unified CPU/GPU miner and RandomX benchmark. It supports Kryptokrona, Monero, among other cryptocurrencies.

This Docker image was built with the latest XMRig version from source on Ubuntu Linux and it is only 29 MB in size. It's immutable and supports your own donate level and timezone. You can easily deploy it as a standalone Docker container, or to a Kubernetes cluster in minutes.

Quick reference

  • Maintained by: Jelle Kalf
  • Supported architectures: arm32v7, arm64v8
  • Supported tags: latest, 6.19.2

How to use this image

Step 1: Clone the GitHub repo:

$ git clone https://github.com/jrkalf/xmrig-kryptokrona.git

Step 2: Edit the config.json file after cloning it.

If you are feeling generous, set the donate-level greater than 0:

"pools": [
    {
        "url": "techy.ddns.net:3333",
        "user": "SEKReXJnqiwiV3Bv6mvfR2ESmLbZjZG2QKDKiywrjwNtU1a1zcJT4Lni72rUS6rUoMU9uP8Eczhg966T9n1jELmVc6Ln8SdYQNp",
        "pass": "external-users",
        "keepalive": true,
        "nicehash": false,
        "variant": "trtl",
        "algo": "cryptonight-pico/trtl"
    }
],
"donate-level": 0,
"donate-over-proxy": 0,

For all the available options, visit XMRig Config File documentation.

Step 3: Deploy the image as a standalone Docker container or to a Kubernetes cluster.

Docker

$ docker run -dit --rm \
    --volume "$(pwd)"/config.json:/xmrig/etc/config.json:ro \
    --volume "$(pwd)"/log:/xmrig/log \
    --name xmrig jrkalf/xmrig-kryptokrona:latest \
    /xmrig/xmrig --config=/xmrig/etc/config.json

If you prefer Docker Compose, edit the docker-compose.yml manifest as needed and run:

$ docker-compose up -d

Kubernetes

Step 1: Create a namespace for our XMRig application (optional but recommended):

$ kubectl create ns kryptokrona

Step 2: Create a configmap in the new namespace kryptokrona from the config.json file:

$ kubectl create configmap kryptokrona-config --from-file config.json -n kryptokrona

remember to edit this file with your own pool configuration and wallet address or it will mine against my anonimised docker wallet

Step 3: Edit the deployment.yaml file. Things you may want to modify include:

  • replicas: number of desired pods to be running. As I run a 3 worker node Turing Pi cluster, I run 3 replica's
  • image:tag: to view all available versions, go to the Tags tab of the Docker Hub repo.
  • resources: set appropriate values for cpu and memory requests/limits.
  • affinity: the manifest will schedule only one pod per node, if that's not the desired behavior, remove the affinity block.

Step 4: Once you are satisfied with the above manifest, create a deployment:

$ kubectl -f apply deployment.yaml

Logging

This Docker image sends the container logs to the stdout. To view the logs, run:

$ docker logs kryptokrona

For Kubernetes run:

$ kubectl logs --follow -n kryptokrona <pod-name> 

Persistent logging

Containers are stateless by nature, so their logs will be lost when they shut down. If you want the logs to persist, enable XMRig syslog output in the config.json file:

"syslog": true,
"log-file": "/xmrig/log/xmrig.log",

And give full permissions to the directory on the host machine:

$ chmod 777 "$(pwd)"/log

Then use either Docker bind mounts or Kubernetes Persistent Volumes to keep the log file on the host machine. The docker run command above and the docker-compose.yml file already includes this mapping.

Disclaimer

Use at your own discression. This repository is by no means financial advise to mine cryptocurrency. This is a project to learn how to build containerised applications.

License

The Docker image is licensed under the terms of the MIT License. XMRig is licensed under the GNU General Public License v3.0. See its LICENSE file for details.

Used works from other repositories

This repo is a based on works of:

Contact

Find me on GitHub.

xmrig-kryptokrona's People

Contributors

jrkalf avatar

Stargazers

Ismo Vuorinen avatar Marcus Cvjeticanin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.