Oauth2 proxy
Dockerization of bitly's oauth2_proxy
FYI for those coming here, as of 03/2019 the bitly project is no longer getting updated and has been officially forked to a new project: https://github.com/pusher/oauth2_proxy The project is written primarily in Dockerfile, distributed under the MIT License license, first published in 2014. Key topics include: dockerization, nginx-proxy, oauth2-proxy, upstream.
Official fork for bitly/oauth2_proxy
FYI for those coming here, as of 03/2019 the bitly project is no longer getting updated and has been
officially forked to a new project: https://github.com/pusher/oauth2_proxy
This new project has been getting updates and has it's own Docker image. If you're interested in
using the latest and greatest, please check them out! Otherwise this repo + Docker image will stay
as is 🙂.
oauth2_proxy dockerization
This is a Dockerization of the handy dandy
bitly OAuth Proxy.
Check out the bitly github page for more details on the different command line
options that can be passed in.
This is also an automated
Docker Hub build
Supported tags and respective Dockerfile links
2.2-debian(Dockerfile)2.2(Dockerfile)2.1(Dockerfile)
Quickstart with Docker Compose
First, configure your client secret/id/cookie secret in the docker-compose.yml file
and replace all references to example.com with your domain.
Then simply run:
docker-compose up
The container will be built and an nginx proxy automatically configure to
connect to the oauth2 proxy. Navigate to http://localhost:4180/ping to check
out whether the proxy is up and running.
You will be asked to authenticated and if successful, redirected to the upstream
nginx container serving a simple HTML page.
Quickstart without Docker Compose
The following example assumes you have your upstream host located at upstream:80
docker run -P a5huynh/oauth2_proxy \
--cookie-secure=false \
--upstream="http://upstream:80" \
--http-address="0.0.0.0:4180" \
--redirect-url="http://example.com/oauth2/callback" \
--email-domain="example.com" \
--cookie-secret=<cookie-secret> \
--client-id=<client-id> \
--client-secret=<client-secret>
Configuration
By default I set the upstream and http-address to the following:
--upstream=http://0.0.0.0:8080/
--http-address=0.0.0.0:4180
This allows us to easily configure our upstream or nginx proxy to those addresses.
Environment Variables
Alternatively you can set the cookie-secret, client-id, and/or client-secret as
environment variables using the following variables below:
OAUTH2_PROXY_COOKIE_SECRET # The seed string for secure cookies
OAUTH2_PROXY_CLIENT_ID # The Google OAuth Client ID
OAUTH2_PROXY_CLIENT_SECRET # The Google OAuth Client Secret
Example Usage w/ environment variables
docker run -e OAUTH2_PROXY_COOKIE_SECRET=<cookie-secret> \
-e OAUTH2_PROXY_CLIENT_ID=<client-id> \
-e OAUTH2_PROXY_CLIENT_SECRET=<client-secret> \
a5huynh/oauth2_proxy
Contributors
Showing top 5 contributors by commit count.
