Sign inSign up

pmietlicki/xmrigcc

By pmietlicki

•Updated over 4 years ago

Miner for many cryptocoins with very high performance thanks to xmrigcc

Image
1

10K+

pmietlicki/xmrigcc repository overview

XMRIGCC logo

⁠XMRIGCC Miner

Image of latest xmrigcc⁠ version, a very high performance miner based on xmrig

⁠Quick start

To quickly get started running a 24/7 Monero Miner, just adapt this command with your information :

docker run -itd --restart=always -e POOL_URL=pool.supportxmr.com:5555 -e POOL_USER=45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p --name xmrigcc pmietlicki/xmrigcc

⁠Configuration variables with default values

You can also use config json file by putting it inside /home/miner/config/config.json
To generate a config file, you can use the generator⁠.
For example, if the config.json file is inside the /home/user/xmrigcc/ folder, use this command :

docker run -v /home/user/xmrigcc/config.json:/home/miner/config/config.json -d pmietlicki/xmrigcc ./xmrigDaemon \
     --config /home/miner/config/config.json 

Only 2 config variables are mandatory : POOL_URL and POOL_USER

EnvironmentDescriptionDefault value
POOL_USERWallet Address45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p
POOL_URLURL of mining serverpool.supportxmr.com:5555
COINcoin to mine (monero, ravencoin, dero, conceal, keva, arqma, ...)monero
OPTIONSoptions you would like to add to xmrigcc as argument (--opencl, --cuda, ...), add the one you want, for example : "-k --opencl"-k
MAX_CPU*Set the max CPU usage100
USE_SCHEDULEREnable / Disable (true/false)false
START_TIME*Set the start time of the scheduler if enabled2100
STOP_TIME*Sets the end time of the scheduler if enabled0600
DAYSSet the start days that the container should run, works together with START_TIMEMonday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday

Note for MAX_CPU: This option just change the thread count. If you have just one core, it will use one thread, so it will be always 100% For 2 cores, minimum is 50% For 4, 25%.

Note for Time: Default Timezone is GMT +0

⁠Run

Use your own configuration.

docker run -d -e POOL_URL=pool.supportxmr.com:5555 -e POOL_USER=45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p -e COIN=monero --name xmrigcc pmietlicki/xmrigcc

Advanced

You can customize xmrigcc options⁠.

docker run -d pmietlicki/xmrigcc ./xmrigDaemon \
     -o <POOL_URL> \
     -u <POOL_USER> \
     -k  \
     --cpu-priority=2
docker run -v /home/user/xmrigcc/config.json:/home/miner/config/config.json -d pmietlicki/xmrigcc ./xmrigDaemon \
     --config /home/miner/config/config.json 

Docker compose

version: "3"
services:
  xmrigcc:
    image: pmietlicki/xmrigcc
    environment:
      - POOL_URL=pool.supportxmr.com:5555
      - POOL_USER=45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p
    restart: on-failure

You will then have a running monero miner that uses all the available resources for mining.

⁠Server and client mode

⁠Server

⁠Basic example
docker run -d pmietlicki/xmrigcc ./xmrigServer --port=3344 --user=admin --pass=pass --token=SECRET_TOKEN_TO_ACCESS_CC_SERVER
⁠options
  -b, --bind arg                The CC Server bind ip (default: 0.0.0.0)
  -p, --port N                  The CC Server port
  -U, --user arg                The CC Server admin user
  -P, --pass arg                The CC Server admin pass
  -T, --token arg               The CC Server access token for the CC Client
  -t, --tls                     Enable SSL/TLS support
  -K, --key-file FILE           The private key file to use when TLS is ON
                                (default: server.key)
  -C, --cert-file FILE          The cert file to use when TLS is ON (default:
                                server.pem)
  -B, --background              Run the Server in the background
  -S, --syslog                  Log to the syslog
      --no-colors               Disable colored output
      --pushover-user-key arg   The user key for pushover notifications
      --pushover-api-token arg  The api token/keytoken of the application for
                                pushover notification
      --telegram-bot-token arg  The bot token for telegram notifications
      --telegram-chat-id arg    The chat-id for telegram notifications
      --push-miner-offline-info
                                Push notification for offline miners and
                                recovery (default: true)
      --push-miner-zero-hash-info
                                Push notification when miner reports 0
                                hashrate and recovers (default: true)
      --push-periodic-mining-status
                                Push every hour a status notification
                                (default: true)
      --custom-dashboard FILE   The custom dashboard to use (default:
                                index.html)
      --client-config-folder FOLDER
                                The CC Server access token for the CC Client
      --log-file FILE           The log file to write
      --client-log-lines-history N
                                Maximum lines of log history kept per miner
                                (default: 100)
  -c, --config FILE             The JSON-format configuration file to use
  -h, --help                    Print this help

⁠Client (daemon)

⁠Basic example
docker run -d pmietlicki/xmrigcc ./xmrigDaemon -o pool.supportxmr.com:5555 -u 45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p -p x -k --cc-url=IP_OF_CC_SERVER:PORT --cc-access-token=SECRET_TOKEN_TO_ACCESS_CC_SERVER --cc-worker-id=OPTIONAL_WORKER_NAME
⁠options
Network:
  -o, --url=URL                 URL of mining server
  -a, --algo=ALGO               mining algorithm (https://github.com/Bendr0id/xmrigCC/blob/master/doc/ALGORITHMS.md)
      --coin=COIN               specify coin instead of algorithm
  -u, --user=USERNAME           username for mining server
  -p, --pass=PASSWORD           password for mining server
  -O, --userpass=U:P            username:password pair for mining server
  -x, --proxy=HOST:PORT         connect through a SOCKS5 proxy
  -k, --keepalive               send keepalived packet for prevent timeout (needs pool support)
      --nicehash                enable nicehash.com support
      --rig-id=ID               rig identifier for pool-side statistics (needs pool support)
      --tls                     enable SSL/TLS support (needs pool support)
      --tls-fingerprint=HEX     pool TLS certificate fingerprint for strict certificate pinning
      --daemon                  use daemon RPC instead of pool for solo mining
      --daemon-poll-interval=N  daemon poll interval in milliseconds (default: 1000)
      --self-select=URL         self-select block templates from URL
  -r, --retries=N               number of times to retry before switch to backup server (default: 5)
  -R, --retry-pause=N           time to pause between retries (default: 5)
      --user-agent              set custom user-agent string for pool
      --donate-level=N          donate level, default 5%% (5 minutes in 100 minutes)
      --donate-over-proxy=N     control donate over xmrig-proxy feature

CPU backend:
      --no-cpu                  disable CPU mining backend
  -t, --threads=N               number of CPU threads
  -v, --av=N                    algorithm variation, 0 auto select
      --cpu-affinity            set process affinity to CPU core(s), mask 0x3 for cores 0 and 1
      --cpu-priority            set process priority (0 idle, 2 normal to 5 highest)
      --cpu-max-threads-hint=N  maximum CPU threads count (in percentage) hint for autoconfig
      --cpu-memory-pool=N       number of 2 MB pages for persistent memory pool, -1 (auto), 0 (disable)
      --cpu-no-yield            prefer maximum hashrate rather than system response/stability
      --cpu-force-autoconfig    force cpu autoconfig, but keeps disabled algos
      --no-huge-pages           disable huge pages support
      --asm=ASM                 ASM optimizations, possible values: auto, none, intel, ryzen, bulldozer
      --randomx-init=N          threads count to initialize RandomX dataset
      --randomx-no-numa         disable NUMA support for RandomX
      --randomx-mode=MODE       RandomX mode: auto, fast, light
      --randomx-1gb-pages       use 1GB hugepages for dataset (Linux only)
      --randomx-wrmsr=N         write custom value (0-15) to Intel MSR register 0x1a4 or disable MSR mod (-1)
      --randomx-no-rdmsr        disable reverting initial MSR values on exit

API:
      --api-worker-id=ID        custom worker-id for API
      --api-id=ID               custom instance ID for API
      --http-host=HOST          bind host for HTTP API (default: 127.0.0.1)
      --http-port=N             bind port for HTTP API
      --http-access-token=T     access token for HTTP API
      --http-no-restricted      enable full remote access to HTTP API (only if access token set)

CC feature:
      --cc-disabled                 disable CC Client feature
      --cc-url=URL                  url of the CC Server
      --cc-access-token=T           access token for CC Server
      --cc-worker-id=ID             custom worker-id for CC Server
      --cc-update-interval-s=N      status update interval in seconds (default: 10 min: 1)
      --cc-use-tls                  enable tls encryption for CC communication
      --cc-use-remote-logging       enable remote logging on CC Server
      --cc-upload-config-on-start   upload current miner config to CC Server on startup
      --cc-reboot-cmd=CMD           command/bat to execute to Reboot miner machine

Logging:
  -S, --syslog                  use system log for output messages
  -l, --log-file=FILE           log all output to a file
      --print-time=N            print hashrate report every N seconds
      --no-color                disable colored output
      --verbose                 verbose output

Misc:
  -c, --config=FILE             load a JSON-format configuration file
  -B, --background              run the miner in the background
  -V, --version                 output version information and exit
  -h, --help                    display this help and exit
      --dry-run                 test configuration and exit
      --export-topology         export hwloc topology to a XML file and exit

⁠Scheduler

⁠Example I: Weekend

For a container that will only run the miner on weekend days.

sudo docker run -itd -e COIN='monero' -e POOL_URL='pool.supportxmr.com:5555' -e POOL_USER='{YOUR_WALLET_ID}' -e USE_SCHEDULER='true' -e START_TIME='0001' -e STOP_TIME='2359' -e DAYS='Saturday,Sunday' pmietlicki/xmrigcc
⁠Example II: Daily from 21.00-06.00

It could be interesting to power on a miner during off-work time. The example bellow will fire the miner everyday from 21.00-06.00.

sudo docker run -itd -e COIN='monero' -e POOL_URL='pool.supportxmr.com:5555' -e POOL_USER='{YOUR_WALLET_ID}' -e USE_SCHEDULER='true' -e START_TIME='2100' -e STOP_TIME='0600' -e DAYS='Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday' pmietlicki/xmrigcc
⁠Example III: Workdays from 21.00-06.00 & Weekend whole day

If you want to achieve a complex time scheduling to maximize your profit. Let's setup a schedule that works from monday - friday (21.00-06.00) and on saturday & sunday the entire day. To achieve this requirement we have to create two containers, one for the working days and one for the weekend.

docker run -itd -e COIN='monero' -e POOL_URL='pool.supportxmr.com:5555' -e POOL_USER='{YOUR_WALLET_ID}' -e USE_SCHEDULER='true' -e START_TIME='2100' -e STOP_TIME='0600' -e DAYS='Monday,Tuesday,Wednesday,Thursday' pmietlicki/xmrigcc
sudo docker run -itd -e COIN='monero' -e POOL_URL='pool.supportxmr.com:5555' -e POOL_USER='{YOUR_WALLET_ID}' -e USE_SCHEDULER='true' -e START_TIME='0001' -e STOP_TIME='2359' -e DAYS='Saturday,Sunday' pmietlicki/xmrigcc

⁠General usage

To see the output from the miner, run one of:

$ docker logs -t -f xmrigcc
$ docker-compose logs

To update the miner:

$ docker stop xmrigcc
$ docker rm xmrigcc
$ docker pull pmietlicki/xmrigcc
$ docker run -d --mount ...

To stop the miner:

$ docker stop xmrigcc
$ docker-compose stop

To restart the miner:

$ docker restart xmrigcc
$ docker-compose restart

⁠Build

$ cd src/miner
$ docker build -t pmietlicki/xmrigcc .
⁠Donate
  • XMR: 45rfqYG9iNPddvenLpjFskJUhFgqBkdhDeah3X8D8ZJM3KpKqZWCLz3ewLsVd269tZiEyQRV53Ldv2DJb6xeuFokF7SBb1p
  • RVN: RG8Foh71fzgbrczHbUJSdWna6u4e7sgsr6
  • BTC: bc1q8x59fwt7v9w3haa8dc5jtaurs3azjq2ut5nekp
  • NIM: NQ51BJ7CGJA4Y35XNL7KL9VVVYQNA0K76FMB
  • DERO: dERooMhHriXTfpnVtJTaAGJKGsWfZ4o7U2gRrBKRsQZJEXrfG3Ws8TpbeLckBDiG6mSjt1Fi33ydHAPbfDrDHphF34sep8P16W

Tag summary

Content type

Image

Digest

Size

318.5 MB

Last updated

over 4 years ago

docker pull pmietlicki/xmrigcc