Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ix-dev/community/xmrig/app.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,4 +39,4 @@ sources:
- https://xmrig.com
title: XMRig
train: community
version: 1.0.5
version: 1.0.6
18 changes: 11 additions & 7 deletions ix-dev/community/xmrig/questions.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ questions:
- variable: use_remote_pool
label: Use Remote Pool
description: |
Leaving this disabled will attempt to use your installed XMRig.
If you do not run the XMRig app, you need to specify a pool address.
Leaving this disabled will attempt to use your installed P2Pool app.
If you do not run the P2Pool app, you need to specify a pool address.
schema:
type: boolean
default: false
Expand All @@ -43,9 +43,9 @@ questions:
type: uri
required: true
show_if: [["use_remote_pool", "=", true]]
- variable: local_xmrig_port
label: XMRig Port
description: The port your XMRig app is listening on.
- variable: local_p2pool_port

@stavros-k stavros-k Jun 8, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changing the schema shape (ie variable name) will make upgrades fail due to invalid set of keys.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I can keep both and make the incorrectly named one always hidden? Lmk if this is allowed.

label: P2Pool Port
description: The port your P2Pool app is listening on.
schema:
type: int
min: 1
Expand All @@ -58,12 +58,14 @@ questions:
schema:
type: string
required: false
show_if: [["use_remote_pool", "=", true]]
- variable: pool_password
label: Pool Password
schema:
type: string
required: false
private: true
show_if: [["use_remote_pool", "=", true]]
- variable: autodetect_algorithm
label: Autodetect Algorithm
description: |
Expand Down Expand Up @@ -139,11 +141,13 @@ questions:
type: boolean
default: false
- variable: use_msr_mod
label: Use MSR Mod
label: Use MSR Mod (Requires MSR Kernel Module)
description: |
Only available for the RandomX algorithm.</br>
Enabling this may increase the hashrate by 10-30%, but will grant XMRig privileged
access to the host.
access to the host.</br>
IMPORTANT: For this to work, you need to load the MSR kernel module on the host every

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rule is to not push users to modify host. So if tho it's the case it needs to be removed. If user wants this enabled it either does so via custom app or env or some other form of customisation

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, should I just remove the message telling the user to enable MSR? Or do you want me to drop the entire feature?

time you boot your system: `sudo modprobe msr`.
schema:
type: boolean
default: false
Expand Down
12 changes: 9 additions & 3 deletions ix-dev/community/xmrig/templates/docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,21 @@
{% do xmrig.add_extra_host("host.docker.internal", "host-gateway") %}
{% do xmrig.healthcheck.disable() %}

{% do xmrig.set_privileged(values.xmrig.use_msr_mod) %}
{% do xmrig.set_privileged(values.xmrig.use_msr_mod or values.xmrig.use_1gb_huge_pages) %}

{% do xmrig.configs.add("entrypoint.sh", entrypoint(values), "/entrypoint.sh", "0755") %}
{% do xmrig.set_entrypoint(["/entrypoint.sh"]) %}

{% do xmrig.add_storage("/dev/hugepages", {"type": "host_path", "host_path_config": {"path": "/dev/hugepages"}}) %}
{% do xmrig.add_storage("/dev/cpu", {"type": "host_path", "host_path_config": {"path": "/dev/cpu"}}) %}
{% do xmrig.add_storage("/root/.config", values.storage.config) %}

{% if values.xmrig.use_1gb_huge_pages %}
{% do xmrig.add_storage("/dev/hugepages", {"type": "host_path", "host_path_config": {"path": "/dev/hugepages"}}) %}
{% endif %}

{% if values.xmrig.use_msr_mod %}
{% do xmrig.add_storage("/dev/cpu", {"type": "host_path", "host_path_config": {"path": "/dev/cpu"}}) %}
{% endif %}

{% for store in values.storage.additional_storage %}
{% do xmrig.add_storage(store.mount_path, store) %}
{% endfor %}
Expand Down
3 changes: 2 additions & 1 deletion ix-dev/community/xmrig/templates/macros/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jq_write() {
{%- set pool_addr =
values.xmrig.remote_pool_address
if values.xmrig.remote_pool_address
else "host.docker.internal:%s" | format(values.xmrig.local_xmrig_port)
else "host.docker.internal:%s" | format(values.xmrig.local_p2pool_port)
%}

jq_write '.pools[0].url = "{{ pool_addr }}"'
Expand All @@ -43,6 +43,7 @@ jq_write '.cpu.enabled = true'
jq_write '.cpu.priority = {{ values.xmrig.cpu_priority }}'
jq_write '.cpu["*"].threads = {{ values.xmrig.cpu_threads }}'
jq_write '.randomx["1gb-pages"] = {{ values.xmrig.use_1gb_huge_pages | lower }}'
jq_write '.randomx.wrmsr = {{ values.xmrig.use_msr_mod | lower }}'
jq_write '.randomx.rdmsr = {{ values.xmrig.use_msr_mod | lower }}'

{%- if values.xmrig.use_proxy %}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ TZ: UTC
xmrig:
use_remote_pool: false
remote_pool_address: ""
local_xmrig_port: 3333
local_p2pool_port: 3333
pool_username: ""
pool_password: ""
autodetect_algorithm: true
Expand Down