Skip to content

yzard/caddy2-gen

 
 

Repository files navigation

Caddy 2 Gen Modified Introduction

This is a fork from caddy2-gen, original repo only use docker-gen to create Caddyfile, but I have some special needs, so made Caddyfile to support conf.d/* and default.caddy, the docker-gen generated config will be saved to default.caddy, and also load all configs in conf.d directory

Caddy 2 Gen

Heavily inspired by wemake-services' awesome caddy-gen.

Docker Hub


Configuration

Use labels.

The main idea is simple. Every labeled service exposes a virtual.host to be handled. Then, every container represents a single reverse_proxy's to option to serve requests.

Options to configure:

  • virtual.host domain name, don't pass http:// or https://, you can separate them with space,
  • virtual.alias domain alias, e.q. www prefix,
  • virtual.port port exposed by container, e.g. 3000 for React apps in development,
  • virtual.tls-email the email address to use for the ACME account managing the site's certificates,
  • virtual.host.directives set custom Caddyfile directives for the host. These will be inlined into the site block.
  • virtual.host.import include Caddyfile directives for the host from a file on the container's filesystem. See Caddy import.
  • virtual.proxy.matcher have the reverse proxy only match certain paths.
  • virtual.proxy.lb_policy specify load balancer policy, defaults to round_robin.
  • virtual.proxy.directives include any reverse_proxy directives. These will be inlined into the reverse proxy block.
  • virtual.proxy.import include any reverse_proxy directives from a file on the container's filesystem. See Caddy import.
  • virtual.auth.username and
  • virtual.auth.password together provide HTTP basic authentication.

Password should be a string base64 encoded from bcrypt hash. You can use https://bcrypt-generator.com/ with default config and https://www.base64encode.org/.

Backing up certificates

To backup certificates make a volume:

./caddy-info:/data/caddy

About

Caddy2 + docker-gen + forego

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dockerfile 69.1%
  • Shell 25.4%
  • Procfile 5.5%