A containerized Monero daemon for easy deployment of a Monero node.
Find a file
2023-10-21 09:27:29 -04:00
.editorconfig Initial commit 2023-10-19 23:16:10 -04:00
Containerfile Add environment variable 2023-10-20 06:42:24 -04:00
LICENSE.txt Initial commit 2023-10-19 23:16:10 -04:00
README.org Minor edit 2023-10-21 09:27:29 -04:00

Monero Node Container

The examples in this document use the podman command. Just swap with the docker command if you are using Docker.

About

This project aims to simplify the process of hosting a Monero node. Use either Podman or Docker to deploy a containerized image of the Monero CLI.

See the container registry for the latest image and available versions.

Usage

IMPORTANT: Since the latest tag has a high chance of introducing a breaking change, it is recommended that you pin the image using the major version tags (ie. 0.17, 0.18). This way, a manual change is required to update to the next major version. Use this opportunity to make backups in case something goes wrong.

To run a container, use either podman run or define a service in a compose.yaml file.

Run

To run with podman run:

podman run -v ./bitmonero:/home/monero/.bitmonero -v ./monero-wallet:/wallet -p 18080:18080 -p 18081:18081 -p 18089:18089 code.fosterhangdaan.com/foster/monero-node-container:0.18

Compose

To define a service in a compose.yaml file:

version: "3.8"

services:
  monero-node:
    image: code.fosterhangdaan.com/foster/monero-node-container:0.18
    container_name: monero-node
    restart: unless-stopped
    ports:
      # Incoming peers
      - "18080:18080"
      # RPC
      - "18081:18081"
      # Restricted RPC
      - "18089:18089"
    volumes:
      # Contains the blockchain
      - ./bitmonero:/home/monero/.bitmonero
      # Generate your wallet via accessing the container and run:
      # cd /wallet
      # monero-wallet-cli
      - ./monero-wallet:/wallet
    command:
      - "--p2p-bind-ip=0.0.0.0"
      - "--p2p-bind-port=18080"
      - "--p2p-external-port=18080"
      - "--rpc-bind-ip=0.0.0.0"
      - "--rpc-bind-port=18081"
      - "--rpc-restricted-bind-ip=0.0.0.0"
      - "--rpc-restricted-bind-port=18089"
      - "--non-interactive"
      - "--confirm-external-bind"
      - "--no-igd"
      - "--public-node"

Building

To build the image:

podman build .

Contributing

Please send patches and bug reports by email to one of the maintainers. See the Core Maintainers section for a list of contacts.

Refer to this guide if you are not familiar with sending Git patches over email.

Core Maintainers

License

Licensed under the Apache License, Version 2.0. See LICENSE.txt.

Copyright

Copyright 2023 Foster Hangdaan