What is Docker?
Docker is an open-source software platform that simplifies the process of running, testing and managing applications. It uses the operating system of the computer on which it’s installed to provide an independent computing environment for an application to run on.
Start a new Minima node
- Download and run the Docker installer from here.
- Once installed, set Docker to start when your computer turns on - launch Docker and click on the Settings icon in the top right. Under General, select Start Docker Desktop when you log in, then click Apply & Restart.
- Open a new terminal/command line window and start a docker container for your Minima node by pasting the following into your command line window
SET YOUR PASSWORD
Make sure to set the password below to at least 12 characters including alphanumeric characters and symbols.
Mac/Linux (Set a password)
docker run -d -e minima_mdspassword=IN$ERTPA$$WORD -e minima_desktop=true -v ~/minimadocker9001:/home/minima/data -p 9001-9003:9001-9003 --restart unless-stopped --name minima9001 minimaglobal/minima:latest
Windows (Set a password and the correct path)
docker run -d -e minima_mdspassword=INSERTPASSWORD -e minima_desktop=true -v C:\Users\INSERTUSERNAME\minimadocker9001:/home/minima/data -p 9001-9003:9001-9003 --restart unless-stopped --name minima9001 minimaglobal/minima:latest
What do all the parameters mean?
-e minima_mdspassword=IN$ERTPA$$WORD : sets the password to login to your node.
-e minima_desktop=true : sets your node type as a desktop node that does not receive incoming connections
-v ~/minimadocker9001:/home/minima/data : creates a local folder called minimadocker9001 in your home directory and maps it to the /home/minima/data directory in Docker. The minimadocker9001 folder is where the Minima database and is also where your backups will be stored.
-p 9001-9003:9001-9003 : the port number mapping from your desktop to the Docker container
--restart unless-stopped : ensures your container automatically restarts unless you stop it
--name minima9001 : sets the name of your Minima container to minima9001
minimaglobal/minima:latest : specifies the Minima docker image
Optional additional startup parameters
The following start up parameters can optionally be specified when starting your Docker node.
To add/remove parameters after a node has been started, you must stop and remove your minima9001 Docker container, then start it again, adding/removing the required parameters in front of -v ~/minimadocker9001:/home/minima/data. As long as you use the same minimadocker8001 folder, your previous node will be preserved but will use different parameters.
-e minima_clean=true: CAREFUL! Clears existing data, starts a new fresh node. All coins will be lost.
-e minima_host=ipaddress: specify the host IP
-e minima_dbpassword=yourdbpassword: Main Wallet / SQL AES password - MUST be specified on first launch. CANNOT be changed later.
-e minima_allowallip=true: Allow all IPs for Maxima / Networking. Local IPs won't be allowed otherwise.
-e minima_archive=true: Run an Archive node - store all archive data / the cascade to allow for resyncs from this node
-e minima_isclient=true: Tells the P2P System that this node can't accept incoming connections
-e minima_server=true: Use Server settings - this node can accept incoming connections
-e minima_desktop=true: Use Desktop settings - this node can't accept incoming connections
-e minima_connect=ip:port: Disable the automatic P2P system and create your own network by manually connecting to this list of host:port
MiniDapp System (mds)
-e minima_mdsenable=true/false: enable the MiniDapp System (default port 9003). Enabled by default.
-e minima_mdspassword=yourmdspassword: specify the mds login password
-e minima_rpcenable=true/false: enable remote procedure call. Enabled by default.
-e minima_rpcssl=true: use Self Signed SSL cert to run RPC
-e minima_rpcpassword=yourrpcpassword: set Basic Auth password for RPC calls ( Use with SSL / stunnel ). Only secure if used with SSL.
-e minima_rpcclrf=true: use CRLF at the end of the RPC headers (NodeJS)
-e minima_showparams=true: Show relevant startup params on launch
-e minima_help=true: print help for the start up parameters
You will notice a container in Docker called minima9001, this is running your Minima node.
- Click on minima9001 and check the logs tab and ensure your node has started up.
Congratulations - your node is now installed & running!
To ensure your node updates automatically when a new version of Minima is released, continue to start a Watchtower container.
Automate updates with Watchtower
What is a Watchtower container?
A Watchtower container enables automatic updates of your Minima node when a new version is released. It will pull down the latest Minima image and restart the node using the same parameters you initially specified.
Create the Watchtower container by running the following command from your terminal/command line interface.
docker run -d --restart unless-stopped --name watchtower -e WATCHTOWER_CLEANUP=true -e WATCHTOWER_TIMEOUT=60s -e WATCHTOWER_POLL_INTERVAL=28800 -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower
This will update ALL containers you have running in Docker, to restrict it to your Minima container only, add the container name of your Minima node to the end of the command. You can specify multiple containers by listing the names separated by a space. For more details, see the Docker documentation
You will see the Watchtower in Docker.
Every 8 hours, the Watchtower will check whether there is a new version of Minima and will update if so.
Optionally, to run a one time update on demand, you can start a watchtower container that you can run whenever you wish to check for updates.
docker run --name watchtower_runonce -e WATCHTOWER_CLEANUP=true -e WATCHTOWER_TIMEOUT=60s -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once
Login to your node
- Go to https://127.0.0.1:9003/ in your web browser
The first time accessing your Minima node, you may need to pass through the security warning as Minima uses self-signed certificates. Learn how here.
You will see the login screen for your node.
- Enter your password to login
don't remember your password?
To check your password, click on the name of your Minima node (e.g. minima9001) in Docker desktop. On the Inspect tab, check the parameter for mdspassword.
Using the RPC client
You can use the Docker CLI/Terminal to interact with your node, for example to check your status, balance, password, incentive program setup or to create a backup. This requires enabling RPC.
To permanently enable RPC, stop and delete the container - this will not delete your data files - then start a new container with the following parameters:
docker run -d -e minima_mdspassword=IN$ERTPA$$WORD -e minima_desktop=true -e minima_rpcenable=true -v ~/minimadocker9001:/home/minima/data -p 9001-9003:9001-9003 --restart unless-stopped --name minima9001 minimaglobal/minima:latest
Alternatively, to temporarily enable RPC:
- Click on the minima9001 container and select the Terminal tab.
- Enter the following commands
- Scroll to the bottom of the file and add a new line, insert
- Exit by pressing ctrl+x together, then save the file with
- Exit the container with
- Restart the container using the Restart icon in the top right
- Once restarted, from the Terminal tab type
minimaand press Enter, you will see the Minima RPC client where you can enter any Minima command. To see a complete list of commands, type
RPC will be disabled the next time your docker container is updated to a new version.
How to check or change your login password
To check your login password, click on the name of the container and check the Inspect tab. The
mdspassword parameter is your login password.
To change your password, stop and remove your minima9001 container and restart it with a different password.
- From the Containers screen, stop and remove the minima9001 container
- Repeat step 4 and 5 from Start a new Minima node using Docker, with a different password.
Deleting the container will not delete the
minimadocker9001 data folder so your coins will be safe during this process.
When starting the new container, you must use the same
minimadocker9001 folder to ensure your coins and data are restored.
How to start a second node in Docker
To run a second node in Docker, you can create another container using different port numbers, file path and name.
To create a node on port 8001:
Mac/Linux (Set a password)
docker run -d -e minima_mdspassword=INSERTPASSWORD -e minima_desktop=true -v ~/minimadocker8001:/home/minima/data -p 8001-8003:9001-9003 --restart unless-stopped --name minima8001 minimaglobal/minima:latest
Windows (Set a password and the correct path)
docker run -d -e minima_mdspassword=INSERTPASSWORD -e minima_desktop=true -v C:\Users\INSERTUSERNAME\minimadocker9001:/home/minima/data -p 8001-8003:9001-9003 --restart unless-stopped --name minima9001 minimaglobal/minima:latest
Access your second node by going to https://127.0.0.1:8003/
How to remove a node
Removing a container does not remove your minima data files - these are stored in the minimadocker9001 folder in your home directory. Deleting the minimadocker9001 folder without taking a backup will result in losing your coins.
To remove a Docker node, stop and delete the minima9001 container.
To start the same node with new startup parameters, reuse the minimadocker9001 directory in the startup line.
To start a new, clean node, delete the minimadocker9001 folder in your home directory or specify a different when starting the container.