Installing Envoy

The Envoy project provides a number of pre-built Docker images for both amd64 and arm64 architectures.

If you are installing on Mac OSX, you can install natively with brew.

Once you have installed Envoy, check out the quick start guide for more information on getting your Envoy proxy up and running.

Install Envoy on Debian GNU/Linux

You can install Envoy on Debian using packages created by Tetrate until official packages exist.

$ sudo apt update
$ sudo apt install debian-keyring debian-archive-keyring apt-transport-https curl lsb-release
$ curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg
# Verify the keyring - this should yield "OK"
$ echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list
$ sudo apt update
$ sudo apt install getenvoy-envoy

Install Envoy on Ubuntu Linux

You can install Envoy on Ubuntu using packages created by Tetrate until official packages exist.

$ sudo apt update
$ sudo apt install apt-transport-https gnupg2 curl lsb-release
$ curl -sL 'https://deb.dl.getenvoy.io/public/gpg.8115BA8E629CC074.key' | sudo gpg --dearmor -o /usr/share/keyrings/getenvoy-keyring.gpg
# Verify the keyring - this should yield "OK"
$ echo a077cb587a1b622e03aa4bf2f3689de14658a9497a9af2c427bba5f4cc3c4723 /usr/share/keyrings/getenvoy-keyring.gpg | sha256sum --check
$ echo "deb [arch=amd64 signed-by=/usr/share/keyrings/getenvoy-keyring.gpg] https://deb.dl.getenvoy.io/public/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/getenvoy.list
$ sudo apt update
$ sudo apt install -y getenvoy-envoy

Install Envoy on RPM-based distros

You can install Envoy on Centos/Redhat Enterprise Linux (RHEL) using packages created by Tetrate until official packages exist.

$ sudo yum install yum-utils
$ sudo rpm --import 'https://rpm.dl.getenvoy.io/public/gpg.CF716AF503183491.key'
$ curl -sL 'https://rpm.dl.getenvoy.io/public/config.rpm.txt?distro=el&codename=7' > /tmp/tetrate-getenvoy-rpm-stable.repo
$ sudo yum-config-manager --add-repo '/tmp/tetrate-getenvoy-rpm-stable.repo'
$ sudo yum makecache --disablerepo='*' --enablerepo='tetrate-getenvoy-rpm-stable'
$ sudo yum install getenvoy-envoy

Install Envoy on Mac OSX

You can install Envoy on Mac OSX using the official brew repositories.

$ brew update
$ brew install envoy

Install Envoy on Windows

You can run Envoy using the official Windows Docker image.

$ docker pull envoyproxy/envoy-windows:v1.20.0
$ docker run --rm envoyproxy/envoy-windows:v1.20.0 --version

Install Envoy using Docker

You can run Envoy using the official Docker images.

The following commands will pull and show the Envoy version of current images.

$ docker pull envoyproxy/envoy:v1.20.0
$ docker run --rm envoyproxy/envoy:v1.20.0 --version

Contrib images

As described in this document, the Envoy project allows extensions to enter the repository as “contrib” extensions. The requirements for such extensions are lower, and as such they are only available by default in special images. The envoyproxy/envoy-contrib image contains all contrib extensions on top of an Ubuntu base. The envoyproxy/envoy-contrib-debug image contains all contrib extensions on top of an Ubuntu base as well as debug symbols. Throughout the documentation, extensions are clearly marked as being a contrib extension or a core extension.

Pre-built Envoy Docker images

The following table shows the available Docker images

stable

stable

main

main

Docker image

Description

amd64

arm64

amd64

arm64

envoyproxy/envoy

Release binary with symbols stripped on top of an Ubuntu Bionic base.

v1.20-latest

v1.20-latest

envoyproxy/envoy-contrib

Release contrib binary with symbols stripped on top of an Ubuntu Bionic base.

v1.20-latest

v1.20-latest

envoyproxy/envoy-distroless

Release binary with symbols stripped on top of a distroless base.

v1.20-latest

envoyproxy/envoy-alpine

Release binary with symbols stripped on top of a glibc alpine base.

v1.20-latest

envoyproxy/envoy-windows

Release binary with symbols stripped on top of a Windows Server 1809 base.

v1.20-latest

envoyproxy/envoy-debug

Release binary with debug symbols on top of an Ubuntu Bionic base.

v1.20-latest

v1.20-latest

envoyproxy/envoy-contrib-debug

Release contrib binary with debug symbols on top of an Ubuntu Bionic base.

v1.20-latest

v1.20-latest

envoyproxy/envoy-dev

Release binary with symbols stripped on top of an Ubuntu Bionic base.

latest

latest

envoyproxy/envoy-contrib-dev

Release contrib binary with symbols stripped on top of an Ubuntu Bionic base.

latest

latest

envoyproxy/envoy-distroless-dev

Release binary with symbols stripped on top of a distroless base.

latest

envoyproxy/envoy-alpine-dev

Release binary with symbols stripped on top of a glibc alpine base.

latest

envoyproxy/envoy-debug-dev

Release binary with debug symbols on top of an Ubuntu Bionic base.

latest

latest

envoyproxy/envoy-contrib-debug-dev

Release contrib binary with debug symbols on top of an Ubuntu Bionic base.

latest

latest

envoyproxy/envoy-windows-dev

Release binary with symbols stripped on top of a Windows Server 1809 base. Includes build tools.

latest

envoyproxy/envoy-build-ubuntu

Build image which includes tools for building multi-arch Envoy and containers.

See Docker Hub

See Docker Hub

Note

In the above repositories, we tag a vX.Y-latest image for each security/stable release line.

In the above dev repositories, the latest tag points to a container including the last Envoy build on main that passed tests.

The Envoy project considers main to be release candidate quality at all times, and many organizations track and deploy main in production. We encourage you to do the same so that issues can be reported as early as possible in the development process.

The envoy-build-ubuntu image does not contain a working Envoy server, but can be used for building Envoy and related containers. This image requires 4-5GB of available disk space to use.

All the docker images are available in Docker Hub, but its rate limit policy doesn’t apply to users since the “envoyproxy” namespace is allowlisted.