Docker
Setup a new wallet using Docker compose
This guide will walk you through setting up walletd using Docker compose. At the end of this guide, you should have the following:
Installed Sia
walletdsoftware
Pre-requisites
To ensure you will not run into any issues with running walletd it is recommended your system meets the following requirements:
Hardware Requirements: A stable setup that meets the following specifications is recommended. Not meeting these requirements may result in preventing slabs from uploading and can lead to a loss of data.
A quad-core CPU
8GB of RAM
An SSD with at least 256GB of free space.
Software Requirements: Before installing
walletd, you will need to install Docker.
Create the compose file
Create a new file named docker-compose.yml. You can use the following as a template. The /data mount is where consensus data is stored and is required.
services:
walletd:
container_name: walletd
image: ghcr.io/siafoundation/walletd:latest
restart: unless-stopped
ports:
- 127.0.0.1:9980:9980/tcp
- 9981:9981/tcp
volumes:
- walletd-data:/data
volumes:
walletd-data:Be careful with port 9980 as Docker will expose it publicly by default. It is recommended to bind it to 127.0.0.1 to prevent unauthorized access. If you need to expose it to a LAN, ensure the port is not accessible publicly.
Getting the walletd image
walletd imageTo get the latest walletd image run the following command:
docker compose pull
Configuring walletd
walletdNow that you have the latest walletd image downloaded, you will need to create a seed phrase and admin password. To launch the built-in configuration wizard, run the following:
docker compose run --rm -it walletd config
When the configuration wizard loads, you will be asked to verify the location of your data directory. Type no to keep the default.

Next, you will be prompted to enter an admin password. This is used to unlock the walletd web UI.

Finally, you will be asked if you want to configure advanced settings for walletd. Type no and hit enter to exit the configuration wizard.

Running walletd
walletdNow that you have walletd successfully installed and configured, it is time to run it. Use the following command to start walletd:
docker compose up -d
Once walletd has successfully started, you can access the web UI by opening your browser and going to http://localhost:9980.

Congratulations, you have successfully set up walletd.
Checking the container status
To check the status of the container run:
docker ps -aIf the container is not running, it will show in the STATUS column

Checking the logs
To check the container logs run:
docker compose logs walletd
Upgrading walletd
walletdIt is essential to keep your walletd up to date. New versions of walletd are released regularly and contain bug fixes and performance improvements.
To upgrade your walletd to the newest version, make sure you have shut down walletd and then run the following:
docker compose pull && docker compose up -d
Congratulations, you have successfully updated your version of walletd!
Last updated
Was this helpful?