Start Caddy within a docker container and add a plugin.
https://caddyserver.com/docs/modules/security
./docker-compose.yml
version: '3.4'
networks:
monitor-net:
driver: bridge
volumes:
caddy_data: {}
services:
caddy:
# cf. https://github.com/caddyserver/caddy/releases
# image: caddy:2.5.0
build:
context: ./caddy/ # where to look for the Dockerfile
dockerfile: Dockerfile # actual name of the Dockerfile
args:
image_ref: caddy:2.5.0
container_name: caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./caddy:/etc/caddy
- caddy_data:/data
env_file:
./.env
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
networks:
monitor-net:
driver: bridge
volumes:
caddy_data: {}
services:
caddy:
# cf. https://github.com/caddyserver/caddy/releases
# image: caddy:2.5.0
build:
context: ./caddy/ # where to look for the Dockerfile
dockerfile: Dockerfile # actual name of the Dockerfile
args:
image_ref: caddy:2.5.0
container_name: caddy
ports:
- "80:80"
- "443:443"
volumes:
- ./caddy:/etc/caddy
- caddy_data:/data
env_file:
./.env
restart: unless-stopped
networks:
- monitor-net
labels:
org.label-schema.group: "monitoring"
image_ref: caddy:2.5.0 # image reference used twice in the Dockerfile, once with ${image_ref}-builder, once directly
./caddy/Dockerfile :
ARG image_ref
FROM ${image_ref}-builder AS caddy-build
RUN xcaddy build --with github.com/greenpau/caddy-security
FROM ${image_ref}
COPY --from=caddy-build /usr/bin/caddy /usr/bin/caddy
FROM ${image_ref}-builder AS caddy-build
RUN xcaddy build --with github.com/greenpau/caddy-security
FROM ${image_ref}
COPY --from=caddy-build /usr/bin/caddy /usr/bin/caddy
Caddyfile must exist (content not relevant here):
./caddy/Caddyfile
command :
docker-compose up --build caddy
Aucun commentaire:
Enregistrer un commentaire