2023-10-19 23:16:10 -04:00
#+title : Monero Node Container
#+begin_quote
The examples in this document use the ~podman~ command. Just swap with the ~docker~ command if you are using Docker.
#+end_quote
2023-10-20 16:33:17 -04:00
* About
2023-10-19 23:16:10 -04:00
2023-10-21 09:27:29 -04:00
This project aims to simplify the process of hosting a Monero node. Use either [[https://podman.io/ ][Podman ]] or [[https://www.docker.com/ ][Docker ]] to deploy a containerized image of the [[https://github.com/monero-project/monero ][Monero CLI ]].
2023-10-20 16:33:17 -04:00
See the [[https://code.fosterhangdaan.com/foster/-/packages/container/monero-node-container ][container registry ]] for the latest image and [[https://code.fosterhangdaan.com/foster/-/packages/container/monero-node-container/versions ][available versions ]].
* Usage
2023-10-19 23:16:10 -04:00
#+begin_quote
2023-10-20 16:33:17 -04:00
*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.
2023-10-19 23:16:10 -04:00
#+end_quote
To run a container, use either ~podman run~ or define a service in a =compose.yaml= file.
** Run
To run with ~podman run~ :
#+begin_src shell
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
#+end_src
** Compose
To define a service in a =compose.yaml= file:
#+begin_src yaml
version: "3.8"
services:
2023-10-19 23:19:43 -04:00
monero-node:
2023-10-19 23:16:10 -04:00
image: code.fosterhangdaan.com/foster/monero-node-container:0.18
2023-10-19 23:19:43 -04:00
container_name: monero-node
2023-10-19 23:16:10 -04:00
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"
#+end_src
* Building
To build the image:
#+begin_src shell
podman build .
#+end_src
* 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 [[https://git-send-email.io ][this guide ]] if you are not familiar with sending Git patches over email.
* Core Maintainers
- *Foster Hangdaan*
- Website: [[https://www.fosterhangdaan.com ][www.fosterhangdaan.com ]]
- Email: [[mailto:foster@hangdaan.email ][foster@hangdaan.email ]]
- GPG Public Key: [[https://static.fosterhangdaan.com/foster-pubkey.asc ][DBD3 8E38 4B9E 1F4F 19F9 5BAE E48D 7F49 A852 F112 ]]
- OpenAlias: =pay.fosterhangdaan.com=
* License
Licensed under the Apache License, Version 2.0. See =LICENSE.txt= .
* Copyright
Copyright 2023 Foster Hangdaan