mirror of
https://github.com/sablierapp/sablier.git
synced 2025-12-21 13:23:03 +01:00
1.9 KiB
1.9 KiB
Caddy Sablier Plugin
Caddy Sablier Plugin.
Provider compatibility grid
| Provider | Dynamic | Blocking |
|---|---|---|
| Docker | ✅ | ✅ |
| Docker Swarm | ✅ | ✅ |
| Kubernetes | ❌ | ❌ |
Install the plugin to Caddy
Because Caddy does not do runtime evaluation, you need to build the base image with the plugin source code.
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.
Using the provided Dockerfile
docker build https://github.com/sablierapp/sablier.git#v1.8.1:plugins/caddy
--build-arg=CADDY_VERSION=2.8.4
-t caddy:2.8.4-with-sablier
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 set up very simple rules to use the server default values.
:80 {
route /my/route {
sablier {
group mygroup
dynamic
}
reverse_proxy myservice:port
}
}