I'm wondering if someone can give me start-to-finish on how to do this on Ubuntu, the Tezos Gitlab page is very outdated.

2 Answers 2


Here are the updated step-by-step instructions on how to build a Tezos node(fresh Ubuntu install)

become superuser

sudo su

update system

sudo su sudo apt update && sudo apt upgrade -y

install curl

sudo apt-get install curl

say yes to all prompts

install docker

sudo apt install docker.io sudo systemctl start docker sudo systemctl enable docker

install docker compose

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose sudo apt-get docker-compose

reply yes to all prompts

download the alphanet script

wget -O mainnet.sh https://gitlab.com/tezos/tezos/raw/master/scripts/alphanet.sh chmod +x mainnet.sh

start mainnet

./mainnnet.sh start

(to update node later type:) ./mainnet.sh restart

update mainnet

./mainnet.sh update_script

build from sources

all one line

sudo apt install -y rsync git m4 build-essential patch unzip bubblewrap wget pkg-config libgmp-dev libev-dev libhidapi-dev which wget https://github.com/ocaml/opam/releases/download/2.0.3/opam-2.0.3-x86_64-linux

sudo cp opam-2.0.3-x86_64-linux /usr/local/bin/opam sudo chmod a+x /usr/local/bin/opam git clone https://gitlab.com/tezos/tezos.git cd tezos git checkout mainnet

type "yes" for opam init command

opam init --bare make build-deps ## note: process 7 takes a long time eval $(opam env) make export PATH=~/tezos:$PATH source ./src/bin_client/bash-completion.sh export TEZOS_CLIENT_UNSAFE_DISABLE_DISCLAIMER=Y

install jp

sudo apt install -y jq

install opam

make build-deps make build-dev-deps ##takes a while eval $(opam env) make

generate tezos node ID ## if the tezos wasn't installed in /home/~, do a search for tezos

cd /home/'username'/tezos/

download node snapshot(saves you hours)

curl -s https://api.github.com/repos/Phlogi/tezos-snapshots/releases/latest | jq -r ".assets[] | select(.name) | .browser_download_url" | grep full | xargs wget -q --show-progress

find out the name of the file

ls /

unzip the file(only works with this command, otherwise file will be corrupted)

unxz "name of file"

rename the file, taking note of the block number, you will use it below(do this via Gui is fine)

create the tezos node identity, for the --block variable, use the block number located on the

./tezos-node identity generate

import the snapshot

./tezos-node snapshot import mainnet.full --block "exampleblockBMetLX2em7Q2tbAxcuPbUQNEY4NhRDEZtJCQeoFvWnYwDzb5qGU"

kill original app using the ports

sudo kill -9 $(sudo lsof -t -i:8732)

start the node

./tezos-node run --rpc-addr

note use lsof command if file is locked and then killall to stop the process, or unlock the file by rm the lock file in the path

wait for node to sync(watch progress with this command

./tezos-client bootstrapped

Your finished!!!


Tezster-CLI is the perfect tool to answer for your query. It will setup local nodes on your system in easy steps.

Prerequisite: You must have installed docker and nodejs on your system.

To install docker run the following command: (on ubuntu)

sudo apt install docker.io
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Install tezster-cli package:

sudo npm install -g tezster@latest --unsafe-perm=true

Setup local nodes:

tezster setup

Start and stop local nodes:

tezster start-nodes
tezster stop-nodes

Use Tezster-CLI Guide to learn more about tezster usage.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.