monero-node-container/README.org
2023-10-21 09:27:29 -04:00

98 lines
3.1 KiB
Org Mode

#+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
* About
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]].
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
#+begin_quote
*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.
#+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:
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"
#+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