# This is a docker template for running a gdev mirror
# You should write a .env file aside with the environment variables:
#
# --- .env ---
# SERVER_DOMAIN=gdev.example.com
# PEER_ID=1234XxxXXxxXxxxXxzbQqEkEpTPxD9S1PtpzkZSYoueyERA5vVtQ
# ------------
#
# The peer id has to be replaced withe the output of the following command
#
# >>> PEER_ID >>>
# docker run --rm -it --entrypoint duniter -v $PWD:/var/lib/duniter/  duniter/duniter-v2s:v0.4.0 key generate-node-key --file /var/lib/duniter/node.key
# <<<<<<<<<<<<<<<

version: "3.4"

services:
  duniter-rpc:
    image: duniter/duniter-v2s:v0.4.0
    restart: unless-stopped
    ports:
      # telemetry
      - 127.0.0.1:9615:9615
      # rpc
      - 127.0.0.1:9933:9933
      # rpc-ws
      - 127.0.0.1:9944:9944
      # p2p
      - 30333:30333
    volumes:
      - ./node.key:/etc/duniter/node.key
      - duniter-rpc-data:/var/lib/duniter/
    environment:
      - DUNITER_CHAIN_NAME=gdev
    command:
      - "--node-key-file"
      - "/var/lib/duniter/node.key"
      - "--public-addr"
      # SERVER_DOMAIN should be replaced by a domain name that point on your server
      # PEER_ID should be replaced by the output of the command given at the top of this file
      - "/dns/${SERVER_DOMAIN?SERVER_DOMAIN should be set}/tcp/30333/p2p/${PEER_ID?PEER_ID should be set}"
      - "--rpc-cors"
      - "all"

volumes:
  duniter-rpc-data: