Run a Monero node on your Umbrel personal server. An unofficial app by @deverickapollo and @CryptoGrampy
getmonero.org »
Open a terminal and clone the Monero node repository:
git clone https://github.com/your-repo/monero-node-for-umbrel.git
cd monero-node-for-umbrel
Locate the const.js
file in your project directory and update the file paths as described. Replace the existing file paths with the following:
const JSON_STORE_FILE = process.env.JSON_STORE_FILE || "./data/monero-config.json";
const MONERO_CONF_FILEPATH = process.env MONERO_CONF_FILE || "./monero/.monero/bitmonero.conf";
Make sure the directories and files specified in the paths exist. If not, create them:
mkdir -p ./data
touch ./data/monero-config.json
mkdir -p ./monero/.monero
touch ./monero/.monero/bitmonero.conf
Ensure you have Node.js and npm installed. Then install the necessary npm packages:
npm install
Set the environment variables and run the app. Replace your-monerod-ip with the IP address of your Monero daemon. For local testing, you can use 127.0.0.1
if you're running the Monero daemon locally.
MONERO_HOST=your-monerod-ip MONEROD_RPC_PORT=18081 npm run start:all:dev
Alternatively, if running the Monero daemon on your local machine, use:
MONERO_HOST=127.0.0.1 MONEROD_RPC_PORT=18081 npm run start:all:dev
This error suggests that the module monerod.js
is not found in the expected location.
-
Build the Project
Make sure you have built the project correctly. Run the build command if necessary:
npm run build
This command should generate the build directory with all necessary artifacts.
This error indicates that the vue-cli-service
command is not available, which is typically used to serve Vue.js applications during development.
Solution
Ensure that you have Vue CLI installed globally. If not, install it using npm:
npm install -g @vue/cli
- npm run start
To build:
- docker buildx build --platform linux/arm64 -f ./Dockerfile --tag umbrel-monero/monero-frontend:v1.0.0 --load .
- docker-compose up
This app can be installed in one click via the Umbrel Community App Store.
- SSH into Umbrel node and input password :
ssh umbrel@umbrel.local
- Stop Monero app:
sudo /home/umbrel/umbrel/scripts/app stop meganero-monero
- Archive/Delete contents of
/home/umbrel/umbrel/app-data/meganero-monero/data/monero/lmdb
, i.e.:rm data.mdb lock.mdb
- From device with copy of Monero blockchain, go to the data directory for the monero chain then copy the contents to the lmdb directory:
scp -r . umbrel@umbrel.local:/home/umbrel/umbrel/app-data/meganero-monero/data/monero/lmdb
- Once you're done moving files over, start up the app again
sudo /home/umbrel/umbrel/scripts/app start meganero-monero
sudo ./scripts/app stop meganero-monero
sudo docker container prune
docker images
- Remove Old Image
- Remove Specific Docker Image:
- To remove a specific image, you can use:
docker rmi [IMAGE ID or REPOSITORY:TAG]
For instance, if the image ID isabcd1234
, you can remove it using:docker rmi abcd1234
Or if the image's repository and tag aremy_image:latest
, you can remove it using:docker rmi my_image:latest
- To remove a specific image, you can use:
- Remove All Docker Images:
sudo docker image prune -a
- Remove Specific Docker Image:
sudo docker pull deverickapollo/umbrel-monero:dev-refactor-settings
- Make sure to set the tag to the version you want to pull. We recommend using the master branch.sudo ./scripts/app start meganero-monero
We welcome and appreciate new contributions! Open a PR and I'll be sure to review it asap. For an bugs/feature requests, open an issue and I'll review it as my time allows.
This app is built upon the work done by Casa on its open source API and Umbrel umbrel.com.