38 lines
776 B
YAML
38 lines
776 B
YAML
services:
|
|
frontend:
|
|
build: .
|
|
restart: always
|
|
expose:
|
|
- "80"
|
|
|
|
caddy:
|
|
image: caddy:2-alpine
|
|
restart: always
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
- DOMAIN_NAME=${DOMAIN_NAME}
|
|
entrypoint:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
# Build Caddyfile on container start
|
|
CLEAN_DOMAIN=$(printf '%s' "$DOMAIN_NAME" | tr -d ';')
|
|
cat > /etc/caddy/Caddyfile <<EOF
|
|
${CLEAN_DOMAIN} {
|
|
reverse_proxy /* frontend:80
|
|
}
|
|
EOF
|
|
# Run Caddy with the generated file
|
|
caddy run --config /etc/caddy/Caddyfile --adapter caddyfile
|
|
volumes:
|
|
- caddy_data:/data
|
|
- caddy_config:/config
|
|
depends_on:
|
|
- frontend
|
|
|
|
volumes:
|
|
caddy_data:
|
|
caddy_config:
|