1. The problem I’m having:
My dockerized Caddy cannot serve https. There is a no error. Would you have any recommendation where i can check further?
2. Error messages and/or full log output:
windmill-caddy-1 | {"level":"info","ts":1680436850.6773994,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
windmill-caddy-1 | {"level":"warn","ts":1680436850.6834738,"msg":"Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile","line":1}
windmill-caddy-1 | {"level":"info","ts":1680436850.6842742,"logger":"admin","msg":"admin endpoint started","address":"tcp/localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
windmill-caddy-1 | {"level":"warn","ts":1680436850.684465,"logger":"http","msg":"automatic HTTPS is completely disabled for server","server_name":"srv0"}
windmill-caddy-1 | {"level":"warn","ts":1680436850.6845076,"logger":"http","msg":"automatic HTTPS is completely disabled for server","server_name":"srv1"}
windmill-caddy-1 | {"level":"info","ts":1680436850.6848018,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x400032e000"}
windmill-caddy-1 | {"level":"info","ts":1680436850.6875093,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
windmill-caddy-1 | {"level":"info","ts":1680436850.6875677,"msg":"serving initial configuration"}
windmill-caddy-1 | {"level":"info","ts":1680436850.6876233,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/data/caddy"}
windmill-caddy-1 | {"level":"info","ts":1680436850.6876886,"logger":"tls","msg":"finished cleaning storage units"}
3. Caddy version:
caddy:2.5.2-alpine
4. How I installed and ran Caddy:
Caddy was already part of the docker container that i use.
a. System environment:
Ubuntu. Docker. Arm64
b. Command:
I didn’t run any command except the standard “docker compose up” to run the docker. But, this is the list of containers that are working with Caddy in the same docker.
ubuntu@appwrite:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d0c851a79c2a ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-7
3adb591fd3cd ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-6
a5559c0bb9d6 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-9
c58a2317d6e3 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-2
a8fb83e38d07 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-5
c3822289f813 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-8
84a9756c6f43 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-1
f2feced17d51 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-4
3df1e2f4ecf2 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-3
068eafd08bb2 ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 0.0.0.0:8000->8000/tcp, :::8000->8000/tcp windmill-windmill_server-1
114d7e1be51c ghcr.io/windmill-labs/windmill:main "./windmill" 2 hours ago Up 2 hours 8000/tcp windmill-windmill_worker-10
57f21b98b6b6 postgres:14 "docker-entrypoint.s…" 2 hours ago Up 2 hours (healthy) 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp, 0.0.0.0:5433->5432/tcp, :::5433->5432/tcp windmill-db-1
54802bfbee64 caddy:2.5.2-alpine "caddy run --config …" 2 hours ago Up 2 hours 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 443/udp, 2019/tcp windmill-caddy-1
d. My complete Caddy config:
My Caddyfile looks like this
root@appwrite:/home/ubuntu/windmill# cat Caddyfile
{
auto_https off
}
http://workflow.saidhasyim.com {
bind {$ADDRESS}
reverse_proxy /ws/* http://lsp:3001
reverse_proxy /* http://windmill_server:8000
}
https://workflow.saidhasyim.com {
bind {$ADDRESS}
reverse_proxy /ws/* http://lsp:3001
}
the caddy config inside my docker-compose.yml file:
caddy:
image: caddy:2.5.2-alpine
restart: unless-stopped
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
ports:
- 80:80
- 443:443
environment:
- BASE_URL=${WM_BASE_URL}