Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
1 result

duniter-ansible

  • Clone with SSH
  • Clone with HTTPS
  • Duniter Version 2 Ansible Role

    This repository propose an Ansible role to install and maintain Duniter Version 2 nodes.

    The code is licenced under the free software GPL v3 licence. See COPYING file.

    Controller Station Requirements

    Python3 is required. Tested with Python 3.10.

    This repository should be used in a Python virtual environment.

    Install Python requirements with:

    pip3 install -U -r requirements.txt

    Hosts requirements

    Hosts should be able to execute Ansible playbooks so they should have installed:

    • Python3
    • SSH server
    • Docker

    Configuration

    Each node can be configured with ansible variables. Defaults values should be as follow:

    ####################################
    # duniter docker compose vars
    
    # duniter docker compose state
    duniter_docker_compose_state: present
    
    # duniter docker compose volume list
    duniter_docker_compose_volumes:
      data:
    
    # duniter docker compose network list
    duniter_docker_compose_networks:
      app_net:
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: 172.16.238.0/24
    
    ####################################
    # duniter services vars
    
    # duniter docker image
    duniter_docker_image: "duniter/duniter-v2s:debug-latest"
    
    # duniter docker restart policy
    duniter_docker_restart: unless-stopped
    
    # duniter docker ports
    duniter_docker_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"
    
    # duniter docker environment variables
    duniter_docker_env:
      DUNITER_INSTANCE_NAME: "my_instance"
      DUNITER_CHAIN_NAME: "local"
      #DUNITER_DISABLE_PROMETHEUS: "false"
    
    # duniter docker command options
    duniter_docker_command: ["--alice", "--node-key", "0000000000000000000000000000000000000000000000000000000000000001"]
    
    # duniter docker volumes
    duniter_docker_volumes:
      - data:/var/lib/duniter
    
    # duniter_v2s docker networks
    duniter_docker_networks:
      app_net:
        ipv4_address: 172.16.238.10
    ####################################

    Run the playbooks

    ansible-playbooks --inventory inventory/node.yml playbooks/duniter2.yml