Files
sablier/plugins/caddy/README.md
semantic-release-bot 2515771ce1
Some checks failed
Build / Build (push) Has been cancelled
Docker / Build Sablier Docker image (linux/amd64) (push) Has been cancelled
Docker / Build Sablier Docker image (linux/arm/v7) (push) Has been cancelled
Docker / Build Sablier Docker image (linux/arm64) (push) Has been cancelled
Build Sablier plugins / Build Sablier docker image once and share it to E2E jobs (push) Has been cancelled
Build Sablier plugins / Build Traefik Sablier Plugin (push) Has been cancelled
Build Sablier plugins / Build Caddy Sablier Plugin (push) Has been cancelled
Build Sablier plugins / Build Caddy docker image once and share it to Caddy E2E jobs (push) Has been cancelled
Build Sablier plugins / Build ProxyWasm Plugin once and share it to ProxyWasm E2E jobs (push) Has been cancelled
Release / Release (push) Has been cancelled
Docker / Merge and Publish multiarch (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Traefik middleware (docker) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Traefik middleware (docker_swarm) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Traefik middleware (kubernetes) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Nginx NJS module with Sablier (docker) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Nginx NJS module with Sablier (docker_swarm) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Caddy middleware (docker) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Caddy middleware (docker_swarm) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Proxywasm middleware on Apache APISIX (docker) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Proxywasm middleware on Envoy (docker) (push) Has been cancelled
Build Sablier plugins / Run Sablier E2E tests for Proxywasm middleware on Nginx (docker) (push) Has been cancelled
Close stale issues and PRs / stale (push) Has been cancelled
docs(release): update doc version from 1.8.1 to 1.8.2
2025-01-14 22:09:16 +00:00

2.1 KiB

Caddy Sablier Plugin

Build the custom Caddy image with Sablier middleware in it

In order to use the custom plugin for Caddy, you need to bundle it with Caddy. Here I'll show you two options with Docker.

By using the provided Dockerfile

docker build https://github.com/sablierapp/sablier.git#v1.8.2:plugins/caddy -t caddy:with-sablier

Note: You can change main for any other branch (such as beta, or tags v1.8.2)

By updating your Caddy Dockerfile

ARG CADDY_VERSION=2.8.4
FROM caddy:${CADDY_VERSION}-builder AS builder

RUN xcaddy build \
    --with github.com/sablierapp/sablier/plugins/caddy

FROM caddy:${CADDY_VERSION}

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

Configuration

You can have the following configuration:

:80 {
	route /my/route {
    sablier [<sablierURL>=http://sablier:10000] {
			[names container1,container2,...]
			[group mygroup]
			[session_duration 30m]
			dynamic {
				[display_name This is my display name]
				[show_details yes|true|on]
				[theme hacker-terminal]
				[refresh_frequency 2s]
			}
			blocking {
				[timeout 1m]
			}
		}
    reverse_proxy myservice:port
  }
}

Exemple with a minimal configuration

Almost all options are optional and you can setup very simple rules to use the server default values.

:80 {
	route /my/route {
    sablier {
			group mygroup
			dynamic
		}
    reverse_proxy myservice:port
  }
}

Running end-to-end tests

  1. Build local sablier docker build -t caddy:local .
  2. Build local caddy docker build -t sablierapp/sablier:local ../..
  3. Run test cd e2e/docker && bash ./run.sh