#+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