Skip to content
This repository has been archived by the owner on Mar 12, 2020. It is now read-only.
/ baker Public archive

simple and extendable http reverse proxy

Notifications You must be signed in to change notification settings

alinz/baker

Repository files navigation

Baker

baker is a dynamic reverse proxy, which routes and load balacing incoming traffics to sets of containers. It is highly extensible and has set of rich middleweres and rules

Features

  • Highly extensible
  • Support ACME TLS out of box (Let's encrypt)
  • Dynamic configuration
  • Support Round Robin load balancing
  • Uses only go standrad libraies

Usage

  • as library
go get -u github.com/alinz/baker
  • as docker image
docker pull alinz/baker:latest
  • run baker as docker-compose
version: '3.5'

services:
  service1:
    image: alinz/baker:latest

    environment:
      # enables ACME system
      - BAKER_ACME=false
      # folder location which holds all certification
      - BAKER_ACME_PATH=/acme/cert

    ports:
      - '80:80'
      - '443:443'

    # make sure to use the right network
    networks:
      - baker

    volumes:
      # make sure it can access to main docker.sock
      - /var/run/docker.sock:/var/run/docker.sock
      - ./acme/cert:/acme/cert

networks:
  baker:
    name: baker_net
    driver: bridge
  • run each container inside docker-compose
version: '3.5'

services:
  service1:
    image: my/service:latest

    labels:
      # this referes to baker's network
      # this is a key for baker to find which network
      # cotnainer is running
      - 'baker.network=baker_net'
      - 'baker.service.port=8000'
      # path to /config file in server
      - 'baker.service.ping=/config'

    networks:
      - baker

# make sure it references the baker's docker-compose network
networks:
  baker:
    external:
      name: baker_net

About

simple and extendable http reverse proxy

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages