ecadlabs.tezos_node
Role Name
This Ansible Role helps Ansible users quickly and easily set up a Tezos node.
The role allows customization, enabling users to deploy nodes for different Tezos networks (like mainnet, ithacanet, jakartanet, etc.) and various economic protocols for block transitions.
It supports two bootstrap methods: syncing from the start or importing a snapshot for quicker setup.
The role has been tested with Tezos Node Version 13.
This role does not handle any Tezos keys.
Requirements
You need Docker (Tested on Debian Buster).
Installation
To install, use:
ansible-galaxy install ecadlabs.tezos_node
Role Variables
Here are the available variables, along with their default values (see defaults/main.yml
):
Tezos Network: You must set this variable; it does not have a default. Common values are
jakartanet
ormainnet
. This variable is used for naming Docker containers and selecting the network.tezos_network:
Node Data Directory: This is where the Tezos node's data will be stored on the host. This role uses Docker bind mounts.
node_data_dir: "/srv/tezos/{{ network_name }}_node"
Client Data Directory: This location on the host stores the Tezos client configuration and keys used by
tezos-client
.client_data_dir: "/srv/tezos/{{ network_name }}_client"
Tezos Docker Image: The version of the Tezos image to use.
octez_version: v13.0
History Mode: The mode in which the node will operate. You can choose archive, full, or rolling.
history_mode: full
Snapshot URL: This controls how your node will bootstrap. If you provide a URL starting with
http://
orhttps://
, the role will download a snapshot from there. If it’s a local file path (like/var/tmp/a_tezos_snapshot
), it will copy the snapshot from your Ansible host.snapshot_url: https://mainnet.xtz-shots.io/rolling # See https://xtz-shots.io/
Snapshot File Path: This is the path or URL to the snapshot file that your node will use for initial import.
snapshot_tmp_file: /tmp/snapshot
Dependencies
None (but ensure Docker is installed; geerlingguy.docker
is a good choice).
Example Playbook
For setting up mainnet:
- hosts: servers
roles:
- role: ecadlabs.tezos_node
snapshot_url: https://mainnet.xtz-shots.io/rolling # See https://xtz-shots.io/
history_mode: rolling
tezos_network: mainnet
snapshot_tmp_file: /tmp/snapshot
License
MIT
Author Information
Created by the team at ECAD Labs Inc. https://ecadlabs.com
ansible-galaxy install ecadlabs.tezos_node