Skip to main content

Install for Development

Installing pre-releases with Docker

To pull the latest pre-release version:

docker pull livepeer/go-livepeer:master

Installing a binary pre-release

Binaries are produced from every GitHub commit and download links are available in the #builds channel of the Livepeer Discord server.

These binaries are produced from go-livepeer's CI process, shown in this diagram:

image

Build from source

System dependencies

Building livepeer requires some system dependencies.

Linux (Ubuntu: 16.04 or 18.04):

apt-get update && apt-get -y install build-essential pkg-config autoconf git curl
# To enable transcoding on Nvidia GPUs
apt-get -y install clang-8 clang-tools-8

Darwin (macOS):

brew update && brew install pkg-config autoconf

Windows:

The steps in this file can be used as a reference.

Go

Building livepeer requires Go. Follow the official Go installation instructions.

Build and install

  1. Clone the repository:

    git clone https://github.com/livepeer/go-livepeer.git
    cd go-livepeer
  2. Install ffmpeg dependencies:

    ./install_ffmpeg.sh
  3. Set build environment variables.

    Set the PKG_CONFIG_PATH variable so that pkg-config can find the ffmpeg dependency files installed in step 2:

    # install_ffmpeg.sh stores ffmpeg dependency files in this directory by default
    export PKG_CONFIG_PATH=~/compiled/lib/pkgconfig

    Set the BUILD_TAGS variable to enable mainnet support:

    export BUILD_TAGS=mainnet
    # To build with support for only development networks and the Rinkeby test network
    # export BUILD_TAGS=rinkeby
    # To build with support for only development networks
    # export BUILD_TAGS=dev
  4. Build and install livepeer:

    make
    cp livepeer* /usr/local/bin

Build with Docker

  1. Clone the repository:

    git clone https://github.com/livepeer/go-livepeer.git
    cd go-livepeer
  2. Export tags:

    echo $(git describe --tags) > .git.describe
  3. Build image:

    docker build -t livepeerbinary:debian -f docker/Dockerfile.debian .