---
title: Examples
lang: en-US
sidebarDepth: 2
meta:
  - name: keywords
    content: pomerium community help bugs updates features

description: >-
  This document describes how you users can stay up to date with pomerium,
  report issues, get help, and suggest new features.
---

# Examples

A collection of copy-and-paste-able configurations for various types of clouds, use-cases, and deployments. These files can also be found in the git repository in the `docs/configuration/examples/` directory.

:::tip

Remember to set your identity provider settings and to generate new secret keys!

:::

[[toc]]

## Settings

### Configuration File

<<< @/docs/configuration/examples/config/config.example.yaml

### Environmental Variables

<<< @/docs/configuration/examples/config/config.example.env

## Binary

- Suitable for bare-metal and virtual-machines
- No docker, docker-compose, or kubernetes required
- Minimal configuration
- Pomerium services are run in "all-in-one" mode
- No load balancer required
- Great for testing Pomerium
- Routes default to hosted version of httpbin.org

Customize for your identity provider and run `./bin/pomerium -config config.yaml`

## Docker

Uses the [latest pomerium build](https://hub.docker.com/r/pomerium/pomerium) from docker hub. Docker and docker-compose are great tools for standing up and testing multiple service, and containers without having to stand-up a full on cluster.

### All-in-One

- Minimal container-based configuration.
- Docker and Docker-Compose based.
- Runs a single container for all pomerium services
- Routes default to on-premise [httpbin].

Customize for your identity provider run `docker-compose up -f basic.docker-compose.yml`

#### basic.docker-compose.yml

<<< @/docs/configuration/examples/docker/basic.docker-compose.yml

### Distinct Services

- Docker and Docker-Compose based.
- Uses pre-configured built-in nginx load balancer
- Runs separate containers for each service
- Routes default to on-premise [helloworld], and [httpbin].

Customize for your identity provider run `docker-compose up -f nginx.docker-compose.yml`

#### nginx.docker-compose.yml

<<< @/docs/configuration/examples/docker/nginx.docker-compose.yml

## Helm

- HTTPS (TLS) between client, load balancer, and services
- gRPC requests are routed behind the load balancer
- Routes default to hosted version of httpbin.org
- Includes installer script

### GKE

- Uses Google Kubernetes Engine's built-in ingress to do [HTTPS load balancing]

<<< @/scripts/helm_gke.sh

### AWS ECS

- Uses Amazon Elastic Container Service

<<< @/scripts/helm_aws.sh

## Kubernetes

- Uses Google Kubernetes Engine's built-in ingress to do [HTTPS load balancing]
- HTTPS (TLS) between client, load balancer, and services
- gRPC requests are routed behind the load balancer
- Routes default to hosted version of httpbin.org
- Includes installer script

#### kubernetes_gke

<<< @/docs/configuration/examples/kubernetes/kubernetes_gke.sh

#### kubernetes-config.yaml

<<< @/docs/configuration/examples/kubernetes/kubernetes-config.yaml

#### pomerium-authenticate.yml

<<< @/docs/configuration/examples/kubernetes/pomerium-authenticate.yml

#### pomerium-authorize.yml

<<< @/docs/configuration/examples/kubernetes/pomerium-authorize.yml

#### pomerium-proxy.yml

<<< @/docs/configuration/examples/kubernetes/pomerium-proxy.yml

#### ingress.yml

<<< @/docs/configuration/examples/kubernetes/ingress.yml

[helloworld]: https://hub.docker.com/r/tutum/hello-world
[httpbin]: https://httpbin.org/
[https load balancing]: https://cloud.google.com/kubernetes-engine/docs/concepts/ingress