A containerized Monero daemon for easy deployment of a Monero node.
Find a file
Foster Hangdaan 073b19a4b3
Update Containerfile
- Change image tag of downloader stage to use 12 instead of 12-slim
- Add missing dependency: `bzip2`
2023-10-19 23:43:20 -04:00
.editorconfig Initial commit 2023-10-19 23:16:10 -04:00
Containerfile Update Containerfile 2023-10-19 23:43:20 -04:00
LICENSE.txt Initial commit 2023-10-19 23:16:10 -04:00
README.org Change service name in compose.yaml sample 2023-10-19 23:19:43 -04:00

Monero Node Container

About

This project builds images of Monero CLI for use as Podman or Docker containers.

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

Usage

IMPORTANT: 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 before updating the service to the next major version. You can use this time to make backups in case something goes wrong.

The latest tag always points to the latest version. So it has a higher chance of introducing a breaking change by accident. Only use latest if you like living on the edge.

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