Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/erciccione/monero-static
Reusable tool for building your own Monero release
https://github.com/erciccione/monero-static
docker monero
Last synced: about 1 month ago
JSON representation
Reusable tool for building your own Monero release
- Host: GitHub
- URL: https://github.com/erciccione/monero-static
- Owner: erciccione
- License: other
- Created: 2019-10-14T13:09:06.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-08-07T15:45:15.000Z (over 2 years ago)
- Last Synced: 2024-10-30T19:46:24.655Z (3 months ago)
- Topics: docker, monero
- Language: Shell
- Homepage:
- Size: 105 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Monero Static is a simple tool that allows to build your own release of the Monero CLI and daemon. It removes the need to trust third parties, keeps your computer free of Monero specific dependencies and allow to test the newest functionalities not yet included in official releases.
This repository contains a Dockerfile and a bash script. The script runs the Dockerfile and will start building the latest Monero software as soon as it's launched. The script will create a reusable image that can be used every time you want to have an updated version of the Monero software. After compilation, the resulting binaries will be available in a 'bin' folder.
The first time you launch the script, it will take some time to build the dependencies and the softwate, but as said above, once the image is installed you can reuse it multple times, decreasing dramatically the amount of time needed to build the software.If the image is already installed, you will be asked if you want to build 'master' or the latest release. The 'master' branch contains all the current progresses of the monero developers and it's considered unstable, if you don't care about testing new fancy features, just build the latest stable release.
The script is tested on Debian Buster, Ubuntu 18 and Fedora 32.
Make sure to install Docker, then run the script by using the command `./run.sh`
### Install the dependencies
Run in the terminal:
```
sudo apt install git docker.io
```
If possible, use your packaging system to get docker. For example, on Debain based distros docker can be installed by simply running `sudo apt install docker.io`Take a look at [the official documentation](https://docs.docker.com/engine/install/) for details.
### Preview
![preview](media/monero-static.png)## Manually build and copy the binaries
If the script doesn't work for you, proceed by using docker manually.### 2. Clone this repository and navigate into the directory
```
git clone https://github.com/erciccione/monero-static-docker.git
cd monero-static-docker
```### 3. Build the docker image and create a container based on it
```
docker build . -t monero-static-docker
```
This will take some time. Just sit back and wait until your computer is done compiling, then run the following command to create a container based on the docker image you just built. The binaries will be there, waiting to be copied to your system.
```
docker run -it --rm --name monero-static monero-static-docker
```### 4. Copy the freshly built binaries to yur host system
Run this command from outside your container. Meaning you need to lunch another terminal window.
```
docker cp monero-static:/home/monero/build/Linux/master/release/bin
exit
```The container will be destroyed right after we leave it, but the `monero-static-docker` image is still there and contains the monero git repository with all the static dependencies already compiled. That means when the upstream repository gets updated, we can just create a container based on the image we already built, pull the changes and build Monero again.
### Reuse the image everytime you want to make your own release
#### Create a container based on the docker image, as we did before
```
docker run -it --rm --name monero-static monero-static-docker
```
#### Pull the changes from the monero repo
```
cd monero && git pull
```#### Build the new binaries
```
make clean
make release-static
```#### Copy the binaries to the host machine
```
docker cp monero-static:/home/monero/build/Linux/master/release/bin
```