Docker Installation
This page will guide you through Docker setup steps.
Install Docker
Install or update Docker to the latest version. Visit the Official Docker website for detailed instructions. Use the command below to find your installed version if needed:
docker --versionDocker and Security Best Practices
General best practices recommend against running the tBTC v2 client as the root user as a security precaution. One security-minded approach is to Run the Docker daemon as a non-root user (Rootless mode).
Next, choose ONE of the following options: Docker Compose makes managing the container simple, but requires an additional step to ensure the container starts after a reboot. The tBTC v2 Service option configures the client to run as a service in order to ensure that the client is restarted automatically, should your machine reboot. The Docker Launch Script is faster to setup, but won't start the client if your machine reboots.
Navigate to cd /home/$USER/keep/
Create a file named docker-compose.yaml
Copy the the template below into the file and replace the <Placeholders> with respective details.
version: '3'
services:
keep-client:
image: keepnetwork/keep-client:latest
container_name: keep-client
restart: on-failure
ports:
- "3919:3919"
- "9601:9601"
volumes:
- /home/$USER/keep/config/:/mnt/keep/config
- /home/$USER/keep/storage/:/mnt/keep/storage
environment:
- KEEP_ETHEREUM_PASSWORD=<Operator Account keyfile password>
- LOG_LEVEL=info
logging:
options:
max-size: "100m"
max-file: "3"
command: start --ethereum.url "<Ethereum API WS URL>" --ethereum.keyFile "/mnt/keep/config/<Operator Account keyfile name>" --storage.dir "/mnt/keep/storage" --network.announcedAddresses "/ip4/<PUBLIC_IP_OF_MACHINE>/tcp/3919"Save and close the file when finished.
To start the tBTC client sudo docker compose up
tBTC will start up with the console output on screen. Verify that the client is running correctly, then press CTRL + c to stop the client.
Restart the client with the 'detach' flag: sudo docker compose up -d
To stop the container at a later time, use sudo docker compose down
Starting Container Automatically After Reboot
To ensure the tBTC container starts after a server reboot, use the template below to create a service in /etc/systemd/system/ called docker-compose-app.service
Adjust the WorkingDirectory to the path of your tBTC folder. Save and close the file when finished.
use sudo systemctl enable docker-compose-app to enable the service.
Create the tbtcv2.service file:
Paste the following in the tbtcv2.service file:
Replace the placeholders inside the <> brackets, remove the <> brackets but be sure to not edit anything further.
When done, save and close the file.
Next, test to make sure your configuration works:
There will be no console output because it will be running in the background. Use systemctl to get the status of the service:
If the service failed, go back and double check your configuration.
Another option is to see if the Docker container is running:
If everything is running as intended, enable the service:
Now, with the service running, you should make sure that your configuration will tolerate a reboot and start up again automatically.
Log back in to your machine and check that the service is running. If it is, you're done. If not, go back and review your work.
Docker Launch Script
To launch the tBTC v2 client, several configuration flags and environmental values need to be set. For simplicity, a bash script can be used rather than typing or pasting all the flags into the console.
Create the launch script:
And paste the following:
Save and close the file, and make it executable:
To launch the tBTC v2 client, execute:
The path shown in the example configuration will differ from yours. Make sure it is configured correctly.
Client Startup and Logs
Unless the --detach flag was removed from the startup script, there will be no console output. In order to check your node, retrieve the Docker logs.
First, find your Docker instance identification, it'll be a random combination of words, e.g. stinky_brownie:
Use your specific identification and substitute:
Scroll down about half a page, and you should see the following:
Congratulations, your node is up and running.
Last updated
Was this helpful?