ceremonyclient/DOCKER-README.md

75 lines
1.5 KiB
Markdown
Raw Normal View History

# Quilibrium Docker Instructions
2024-02-22 06:07:34 +00:00
## WARNING
> [!WARNING]
> Currently Docker cannot be used to run Quilibrium.
There are extreme buffering requirements, especially during sync, and these in turn require `sysctl`
configuration changes that unfortunately are not supported by Docker.
The buffer related `sysctl` settings are `net.core.rmem_max` and `net.core.wmem_max` and they both
should be set to `600,000,000` bytes. This value allows pre-buffering of the entire maximum payload
for sync.
To read the currently set values:
```shell
sysctl -n net.core.rmem_max
sysctl -n net.core.wmem_max
```
To set new values:
```shell
sudo sysctl -w net.core.rmem_max=600000000
sudo sysctl -w net.core.wmem_max=600000000
```
## Build
Build the docker image:
```shell
docker build -t quilibrium -t quilibrium:1.2.9 .
```
Use latest version instead of `1.2.9`.
## Run
Run Quilibrium in a container:
```shell
docker compose up -d
```
A `.config/` subfolder will be created under the current folder, this is mapped inside the container.
Make sure you backup `config.yml` and `keys.yml`.
## Intereact with a running cotainer
Drop into a shell inside a running container:
```shell
docker compose exec -it node sh
```
Watch the logs:
```shell
docker compose logs
```
Get the Peer ID:
```shell
docker compose exec node go run ./... -peer-id
```
Get the token ballance:
```shell
docker compose exec node go run ./... -balance
```
Run the DB console:
```shell
docker compose exec node go run ./... -db-console
```