Skip to content
Snippets Groups Projects
Commit 9133b48b authored by Éloïs's avatar Éloïs
Browse files

doc(docker): rework docker documentation

parent d423756e
No related branches found
No related tags found
No related merge requests found
...@@ -16,7 +16,7 @@ Minimal command to deploy a **temporary** mirror peer: ...@@ -16,7 +16,7 @@ Minimal command to deploy a **temporary** mirror peer:
docker run -it -p9944:9944 -e DUNITER_CHAIN_NAME=gdev duniter/duniter-v2s:v0.1.0 --tmp --execution=Wasm docker run -it -p9944:9944 -e DUNITER_CHAIN_NAME=gdev duniter/duniter-v2s:v0.1.0 --tmp --execution=Wasm
``` ```
To go further, read [How to deploy a permanent mirror node on ĞDev network](./docs/user/mirror.md). To go further, read [How to deploy a permanent mirror node on ĞDev network](./docs/user/rpc.md).
### Create your local blockchain ### Create your local blockchain
......
...@@ -28,7 +28,7 @@ services: ...@@ -28,7 +28,7 @@ services:
# #
# The PEER_ID should be replaced by the output of this command: # The PEER_ID should be replaced by the output of this command:
# docker run --rm -it --entrypoint duniter -v $PWD:/var/lib/duniter/ duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node.key # docker run --rm -it --entrypoint duniter -v $PWD:/var/lib/duniter/ duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node.key
- "/dns/SERVER_DOMAIN/tcp/30333/p2p/PEER_ID" - "/dns/${SERVER_DOMAIN?SERVER_DOMAIN should be set}/tcp/30333/p2p/${PEER_ID?PEER_ID should be set}"
- "--rpc-cors" - "--rpc-cors"
- "all" - "all"
......
...@@ -14,22 +14,20 @@ services: ...@@ -14,22 +14,20 @@ services:
# p2p # p2p
- 30333:30333 - 30333:30333
volumes: volumes:
- ./duniter-rpc/:/var/lib/duniter/ - ./node.key:/etc/duniter/validator-node.key
- duniter-rpc-data:/var/lib/duniter/
environment: environment:
- DUNITER_CHAIN_NAME=gdev - DUNITER_CHAIN_NAME=gdev
command: command:
- "--execution" - "--execution=Wasm"
- "Wasm" - "--node-key-file=/var/lib/duniter/node.key"
- "--node-key-file"
- "/var/lib/duniter/node-key"
- "--public-addr" - "--public-addr"
# SERVER_IP should be replaced by the public IP of your server # SERVER_DOMAIN should be replaced by a domain name that point on your server
# #
# The PEER_ID should be replaced by the output of this command: # The PEER_ID should be replaced by the output of this command:
# docker run --rm -it --entrypoint -v $PWD/duniter-rpc/:/var/lib/duniter/ duniter duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node-key.txt # docker run --rm -it --entrypoint -v $PWD/duniter-rpc/:/var/lib/duniter/ duniter duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node-key.txt
- "/ip4/SERVER_IP/tcp/30333/p2p/PEER_ID" - "/dns/${SERVER_DOMAIN?SERVER_DOMAIN should be set}/tcp/30333/p2p/${PEER_ID?PEER_ID should be set}"
- "--rpc-cors" - "--rpc-cors=all"
- "all"
duniter-validator: duniter-validator:
image: duniter/duniter-v2s:v0.1.0 image: duniter/duniter-v2s:v0.1.0
...@@ -44,21 +42,19 @@ services: ...@@ -44,21 +42,19 @@ services:
# p2p # p2p
- 30334:30333 - 30334:30333
volumes: volumes:
- ./duniter-validator/:/var/lib/duniter/ - ./node.key:/etc/duniter/validator-node.key
- duniter-validator-data:/var/lib/duniter/
environment: environment:
- DUNITER_CHAIN_NAME=gdev - DUNITER_CHAIN_NAME=gdev
command: command:
- "--execution" - "--execution=Wasm"
- "Wasm" - "--node-key-file=/var/lib/duniter/node.key"
- "--node-key-file"
- "/var/lib/duniter/node-key"
- "--public-addr" - "--public-addr"
# SERVER_IP should be replaced by the public IP of your server # SERVER_DOMAIN should be replaced by a domain name that point on your server
# #
# The PEER_ID should be replaced by the output of this command: # The PEER_ID should be replaced by the output of this command:
# docker run --rm -it --entrypoint duniter -v $PWD/duniter-validator/:/var/lib/duniter/ duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node-key.txt # docker run --rm -it --entrypoint -v $PWD/duniter-rpc/:/var/lib/duniter/ duniter duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node-key.txt
- "/ip4/SERVER_IP/tcp/30334/p2p/PEER_ID" - "/dns/${SERVER_DOMAIN?SERVER_DOMAIN should be set}/tcp/30333/p2p/${VALIDATOR_PEER_ID?VALIDATOR_PEER_ID should be set}"
- "--rpc-cors=all"
- "--rpc-methods=Unsafe" - "--rpc-methods=Unsafe"
- "--validator" - "--validator"
- "--rpc-cors"
- "all"
# How to deploy a permanent mirror node on ĞDev network # How to deploy a permanent rpc node on ĞDev network
## Publish a node ## Publish a node
### Duniter part ### Duniter part
- Add this docker-compose on your server : - Add this docker-compose on your server :
[docker/compose/gdev-mirror.docker-compose.yml](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/master/docker/compose/gdev-mirror.docker-compose.yml) [docker/compose/gdev-rpc.docker-compose.yml](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/master/docker/compose/gdev-rpc.docker-compose.yml)
- Edit lines 26: `"/dns/SERVER_DOMAIN/tcp/30333/p2p/PEER_ID"` - Create a `.env` file that defime environment variables `SERVER_DOMAIN` and `PEER_ID`:
with your domain name an the PEER_ID you get using te command in comment. - `SERVER_DOMAIN`: a domain name that point on your server
- `PEER_ID`: Your node peer id, shoud be generated with this command: `docker run --rm -it --entrypoint duniter -v $PWD:/var/lib/duniter/ duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/node.key`
- If you have write access errors run in docker-compose.yml folder : `chmod o+rwX -R .` - If you have write access errors run in docker-compose.yml folder : `chmod o+rwX -R .`
- `docker-compose up -d` to start your node - `docker-compose up -d` to start your node
### Reverse-proxy part (with Nginx) ### Reverse-proxy part (with Nginx)
In `/etc/nginx/sites-enabled/gdev.YOUR_DOMAIN` put (you can probably do simpler) : In `/etc/nginx/sites-enabled/gdev.YOUR_DOMAIN` put (you can probably do simpler) :
``` ```
server { server {
...@@ -55,7 +59,7 @@ and replace `YOUR_DOMAIN` by your domain each time. ...@@ -55,7 +59,7 @@ and replace `YOUR_DOMAIN` by your domain each time.
if you don't already have a wildcard certificate. if you don't already have a wildcard certificate.
- `service nginx reload` - `service nginx reload`
Your node is now online as a mirror node. It's fully capable for wallet use. Your node is now online as a rpc node. It's fully capable for wallet use.
To go further, read [How to become a (black)smith](./smith.md) To go further, read [How to become a (black)smith](./smith.md)
......
...@@ -3,14 +3,19 @@ ...@@ -3,14 +3,19 @@
## Publish a node ## Publish a node
### Duniter part ### Duniter part
- Add this docker-compose on your server : - Add this docker-compose on your server :
[docker/compose/gdev-validator.docker-compose.yml](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/master/docker/compose/gdev-validator.docker-compose.yml) [docker/compose/gdev-validator.docker-compose.yml](https://git.duniter.org/nodes/rust/duniter-v2s/-/blob/master/docker/compose/gdev-validator.docker-compose.yml)
- Edit lines 26 and 51 : `/ip4/SERVER_IP/tcp/30333/p2p/PEER_ID` - Create a `.env` file that define environment variables `SERVER_DOMAIN`, `PEER_ID` and `VALIDATOR_PEER_ID`:
with your IP or domain an the PEER_ID you get using te command in comment. - `SERVER_DOMAIN`: a domain name that point on your server
- `PEER_ID`: Your rpc node peer id, shoud be generated with this command: `docker run --rm -it --entrypoint -v $PWD:/var/lib/duniter/ duniter duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/rpc-node.key`
- `VALIDATOR_PEER_ID`: Your validator node peer id, shoud be generated with this command: `docker run --rm -it --entrypoint -v $PWD:/var/lib/duniter/ duniter duniter/duniter-v2s:v0.1.0 key generate-node-key --file /var/lib/duniter/validator-node.key`
Note: duniter-rpc PEER_ID and duniter-validator PEER_ID isn't the same. Note: duniter-rpc PEER_ID and duniter-validator PEER_ID isn't the same.
- If you have write access errors run in docker-compose.yml folder : `chmod o+rwX -R .` - If you have write access errors run in docker-compose.yml folder : `chmod o+rwX -R .`
- `docker-compose up -d` to start your node - `docker-compose up -d` to start your node
### Reverse-proxy part (with Nginx) ### Reverse-proxy part (with Nginx)
In `/etc/nginx/sites-enabled/gdev.YOUR_DOMAIN` put (you can probably do simpler) : In `/etc/nginx/sites-enabled/gdev.YOUR_DOMAIN` put (you can probably do simpler) :
``` ```
server { server {
...@@ -56,9 +61,10 @@ and replace `YOUR_DOMAIN` by your domain each time. ...@@ -56,9 +61,10 @@ and replace `YOUR_DOMAIN` by your domain each time.
if you don't already have a wildcard certificate. if you don't already have a wildcard certificate.
- `service nginx reload` - `service nginx reload`
Your node is now online as a mirror node. It's fully capable for wallet use. Your node is now online as a rpc node. It's fully capable for wallet use.
## Join the Smith WoT ## Join the Smith WoT
- add polkadot webextension to be able to authentificate with your account. - add polkadot webextension to be able to authentificate with your account.
- Go to [any node with polkadotjs ui](https://gdev.1000i100.fr/dev-ui/?rpc=wss://gdev.1000i100.fr/ws) - Go to [any node with polkadotjs ui](https://gdev.1000i100.fr/dev-ui/?rpc=wss://gdev.1000i100.fr/ws)
- Ask to join Smith WoT (you need to already be in the main WoT) - Ask to join Smith WoT (you need to already be in the main WoT)
...@@ -70,8 +76,6 @@ Your node is now online as a mirror node. It's fully capable for wallet use. ...@@ -70,8 +76,6 @@ Your node is now online as a mirror node. It's fully capable for wallet use.
When you have at least 3 certifications, your'in ! When you have at least 3 certifications, your'in !
## Validate blocks (blacksmith work) ## Validate blocks (blacksmith work)
- Generate and publish your session keys - Generate and publish your session keys
...@@ -85,6 +89,7 @@ When you have at least 3 certifications, your'in ! ...@@ -85,6 +89,7 @@ When you have at least 3 certifications, your'in !
- In the UI : developer > extrinsics > YOUR_SMITH_ACCOUNT > authorityMembers > goOnline() - In the UI : developer > extrinsics > YOUR_SMITH_ACCOUNT > authorityMembers > goOnline()
If you're not able to monitor, reboot, act on your node, goOffline() to avoid penality to the blockchain and to you. If you're not able to monitor, reboot, act on your node, goOffline() to avoid penality to the blockchain and to you.
## Upgrade your node with minimal interruption ## Upgrade your node with minimal interruption
1. Modify docker image tag on your compose file 1. Modify docker image tag on your compose file
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment