Вариант запуска ноды с Docker-Compose


Так как в чатах иногда возникают вопросы, которые могут быть решены с помощью иного варианта запуска ноды, вкратце опишу его тут.

Для начала напомню, что на https://wiki.golos.id/witnesses/node/guide всегда доступен актуальный гайд для обычного запуска ноды с помощью docker-контейнера.

Compose удобная надстройка к Docker, позволяющая быстро разворачивать многосервисные приложения. С учетом того что в пару к ноде запускают скрипт для публикации прайсфидов, а иногда и мониторинг за пропуском блоков - логичнее использовать Docker-Compose.

О скрипте разработанным @vvk подробнее описано тут https://wiki.golos.id/witnesses/price-feed, у кого есть возможность установки 2 нод, советую настроить перекрестный мониторинг пропуска блоков.


Устанавливаем Docker-Compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.28.6/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

Создаем файл docker-compose.yml, пример его с моей ноды:

version: "3"
services:

  golos:
    container_name: golosd
    image: golosblockchain/golos
    volumes:
      - ~/config/config.ini:/etc/golosd/config.ini
      - ~/home/blockchain:/var/lib/golosd/blockchain
    ports:
      - "4243:4243"
    logging:
      options:
        max-size: "500m"

  feed:
    container_name: feed
    environment:
      WITNESS: lex
      KEY: 5Jt..........
    image: vvk123/golos-witness-tools
    command: ./update_price_feed.py --monitor
    depends_on:
      - golos
    logging:
      options:
        max-size: "100m"

  monitor:
    container_name: monitor
    environment:
      WITNESS: lex
      KEY: 5Jt..........
      WITNESS_PUBKEY: GLS..........
      MISS_WINDOW: 3600
      ALLOWED_MISSES: 2
    image: vvk123/golos-witness-tools
    command: ./witness_monitor.py
    depends_on:
      - golos
    logging:
      options:
        max-size: "100m"

По дополнительным параметрам к скриптам прайсфидов и мониторинга есть пример файла с репозитария https://github.com/bitphage/golos-witness-tools/blob/master/docker-compose.yml.example

Вкратце, к feed как видно выше указываются логин и активный ключ делегата (для обновления котировок в сеть БЧ). К monitor, также указываете публичный ключ резервной ноды к вашему делегату, который будет обновлен в сеть при пропуске 2 блоков за 3600 секунд. Подняв 2 ноды в разных странах, упасть одновременно им очень сложно :)

Основные команды с docker-compose просты, в директории с файлом docker-compose.yml вводите для запуска команду docker-compose up
для полной остановки docker-compose down

Обновился образ? docker pull golosblockchain/golos или docker pull vvk123/golos-witness-tools, команду стопа и запуска, удобно.

Вопросы в комменты или личку...


Comments 21


@lex, годнота спасибо 👍️

10.06.2021 17:15
0

@lex, у меня такой вопрос: я хочу этот твой пост "закрепить" у себя на стенке, если репостну, закрепить смогу?

10.06.2021 17:16
0

@oliko, нет, пока закреп возможен только для своих постов.

10.06.2021 17:18
0

@lex, сделай галочку в списочке ;)

10.06.2021 17:19
0

@oliko, ок 😂

10.06.2021 17:23
0

@lex, вопрос немного не по теме: почему со вчера не видно батарейку энергии?

10.06.2021 19:38
0

@gloriya, опиши подробнее, браузер, комп/смартфон, что именно не видно, может скриншот?
Батарейка на месте, но может при каких-то условиях...

10.06.2021 20:19
0

@lex, комп, браузер Ореrа, вот такая картина:

image.png

Причем на in батарейку видно, а на id - нет. И такое бывает нередко.

11.06.2021 02:29
0

@lex, нашла причину - оказывается, такая картинка при масштабе 150% - убавила масштаб, появилась батарейка)))

11.06.2021 02:44
0

@gloriya, у меня видно, все реально на месте))

10.06.2021 23:40
0

@ladyzarulem, реально рада за тебя))) 😂 😂 😂

11.06.2021 02:31
0

@gloriya, 😂 😂 😂

11.06.2021 07:45
0