/tezos-packaging

Various forms of Tezos software distribution for Linux.

Primary LanguagePython

Tezos packaging

Build status

This repo provides various form of distribution for tezos-related executables (tezos-client, tezos-client-admin, tezos-node, tezos-baker, tezos-accuser, tezos-endorser, tezos-signer and tezos-protocol-compiler).

Obtain binaries from github release

Recomended way to get these binaries is to download them from assets from github release. Go to the latest release and download desired assets.

Some of the individual binaries contain protocol name to determine with which protocol binary is compatible with. If this is not the case, then consult release notes to check which protocols are supported by that binary.

Ubuntu Launchpad PPA with tezos-* binaries

If you are using Ubuntu you can use PPA in order to install tezos-* executables. E.g, in order to do install tezos-client or tezos-baker run the following commands:

sudo add-apt-repository ppa:serokell/tezos && sudo apt-get update
sudo apt-get install tezos-client
# dpkg-source prohibits uppercase in the packages names so the protocol
# name is in lowercase
sudo apt-get install tezos-baker-006-pscartha

Once you install such packages the commands tezos-* will be available.

Fedora Copr repository with tezos-* binaries

If you are using Fedora you can use Copr in order to install tezos-* executables. E.g. in order to install tezos-client or tezos-baker run the following commands:

# use dnf
sudo dnf copr enable @Serokell/Tezos
sudo dnf install tezos-client
sudo dnf install tezos-baker-006-PsCARTHA

# or use yum
sudo yum copr enable @Serokell/Tezos
sudo yum install tezos-baker-006-PsCARTHA

Once you install such packages the commands tezos-* will be available.

Other Linux distros usage

Download binaries from release assets.

tezos-client example

Make it executable:

chmod +x tezos-client

Run ./tezos-client or add it to your PATH to be able to run it anywhere.

Systemd units for tezos-node and daemons

Systemd units on Ubuntu or Fedora

tezos-node, tezos-accuser-006-pscartha, tezos-baker-006-pscartha and tezos-endorser-006-pscartha packages have systemd files included to the Ubuntu and Fedora packages.

Once you've installed the packages with systemd unit, you can run the service with the binary from the package using the following command:

systemctl start <package-name>.service

To stop the service run:

systemctl stop <package-name>.service

Each service has configuration file located in /etc/default. Default configurations can be found here.

Files created by the services will be located in /var/lib/tezos/ by default. tezos-{accuser, baker, endorser}-<protocol> services can have configurable data directory.

tezos-{accuser, endorser} have configurable node address, so that they can be used with both remote and local node.

Systemd units on other systems

If you're not using Ubuntu or Fedora you can still construct systemd units for binaries from scratch.

For this you'll need .service file to define systemd service. The easiest way to get one is to run gen_systemd_service_file.py. You should specify service name as a first argument and optionally provide target protocol as a second argument, e.g.:

./gen_systemd_service_file.py tezos-node
# or
./gen_systemd_service_file.py tezos-baker 006-PsCARTHA

After that you'll have .service file in the current directory.

Apart, from .service file you'll need service startup script and default configuration file, they can be found in scripts and defaults folders respectively.

Build Instructions

This repository provides two distinct ways for building and packaging tezos binaries:

For Contributors

Please see CONTRIBUTING.md for more information.

About Serokell

This repository is maintained with ❤️ by Serokell. The names and logo for Serokell are trademark of Serokell OÜ.

We love open source software! See our other projects or hire us to design, develop and grow your idea!