1. The problem I’m having:
I’m trying to install Caddy as a reverse proxy to serve Nextclouod and Jellyfin.
2. Error messages and/or full log output:
May 31 05:50:17 porterfamserv caddy[6599]: runtime.Version=go1.20
May 31 05:50:17 porterfamserv caddy[6599]: os.Getwd=/
May 31 05:50:17 porterfamserv caddy[6599]: LANG=en_US.UTF-8
May 31 05:50:17 porterfamserv caddy[6599]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
May 31 05:50:17 porterfamserv caddy[6599]: NOTIFY_SOCKET=/run/systemd/notify
May 31 05:50:17 porterfamserv caddy[6599]: HOME=/var/lib/caddy
May 31 05:50:17 porterfamserv caddy[6599]: LOGNAME=caddy
May 31 05:50:17 porterfamserv caddy[6599]: USER=caddy
May 31 05:50:17 porterfamserv caddy[6599]: INVOCATION_ID=0abab04e354c4d20bb00821c2ff07dd3
May 31 05:50:17 porterfamserv caddy[6599]: JOURNAL_STREAM=8:51550
May 31 05:50:17 porterfamserv caddy[6599]: SYSTEMD_EXEC_PID=6599
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7182279,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7195837,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//[::1]:2019","//127.0.0.1:2019","//localhost:2019"]}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7201538,"logger":"http","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.720247,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7202575,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc00027afc0"}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7206163,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc00027afc0"}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7206829,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/var/lib/caddy/.local/share/caddy"}
May 31 05:50:17 porterfamserv caddy[6599]: {"level":"info","ts":1685512217.7207367,"logger":"tls","msg":"finished cleaning storage units"}
May 31 05:50:17 porterfamserv caddy[6599]: Error: loading initial config: loading new config: http app module: start: listening on :443: listen tcp :443: bind: address already in use
May 31 05:50:17 porterfamserv systemd[1]: caddy.service: Main process exited, code=exited, status=1/FAILURE
May 31 05:50:17 porterfamserv systemd[1]: caddy.service: Failed with result 'exit-code'.
May 31 05:50:17 porterfamserv systemd[1]: Failed to start Caddy.
-- Boot 2b12b5b6d43245ba9e30371445fedbdb --
May 31 17:47:51 porterfamserv systemd[1]: Starting Caddy...
May 31 17:47:52 porterfamserv caddy[1554]: caddy.HomeDir=/var/lib/caddy
May 31 17:47:52 porterfamserv caddy[1554]: caddy.AppDataDir=/var/lib/caddy/.local/share/caddy
May 31 17:47:52 porterfamserv caddy[1554]: caddy.AppConfigDir=/var/lib/caddy/.config/caddy
May 31 17:47:52 porterfamserv caddy[1554]: caddy.ConfigAutosavePath=/var/lib/caddy/.config/caddy/autosave.json
May 31 17:47:52 porterfamserv caddy[1554]: caddy.Version=v2.6.4 h1:2hwYqiRwk1tf3VruhMpLcYTg+11fCdr8S3jhNAdnPy8=
May 31 17:47:52 porterfamserv caddy[1554]: runtime.GOOS=linux
May 31 17:47:52 porterfamserv caddy[1554]: runtime.GOARCH=amd64
May 31 17:47:52 porterfamserv caddy[1554]: runtime.Compiler=gc
May 31 17:47:52 porterfamserv caddy[1554]: runtime.NumCPU=4
May 31 17:47:52 porterfamserv caddy[1554]: runtime.GOMAXPROCS=4
May 31 17:47:52 porterfamserv caddy[1554]: runtime.Version=go1.20
May 31 17:47:52 porterfamserv caddy[1554]: os.Getwd=/
May 31 17:47:52 porterfamserv caddy[1554]: LANG=en_US.UTF-8
May 31 17:47:52 porterfamserv caddy[1554]: PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
May 31 17:47:52 porterfamserv caddy[1554]: NOTIFY_SOCKET=/run/systemd/notify
May 31 17:47:52 porterfamserv caddy[1554]: HOME=/var/lib/caddy
May 31 17:47:52 porterfamserv caddy[1554]: LOGNAME=caddy
May 31 17:47:52 porterfamserv caddy[1554]: USER=caddy
May 31 17:47:52 porterfamserv caddy[1554]: INVOCATION_ID=d7c693068e824d4185a21010e7ed8f5f
May 31 17:47:52 porterfamserv caddy[1554]: JOURNAL_STREAM=8:23259
May 31 17:47:52 porterfamserv caddy[1554]: SYSTEMD_EXEC_PID=1554
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.0239012,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":""}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.0276186,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//127.0.0.1:2019","//localhost:2019","//[::1]:2019"]}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.0289726,"logger":"http","msg":"server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS","server_name":"srv0","https_port":443}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.029009,"logger":"http","msg":"enabling automatic HTTP->HTTPS redirects","server_name":"srv0"}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.0292618,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0xc0006ec150"}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.030478,"logger":"tls","msg":"cleaning storage unit","description":"FileStorage:/var/lib/caddy/.local/share/caddy"}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.0305145,"logger":"tls","msg":"finished cleaning storage units"}
May 31 17:47:52 porterfamserv caddy[1554]: {"level":"info","ts":1685555272.030527,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0xc0006ec150"}
May 31 17:47:52 porterfamserv caddy[1554]: Error: loading initial config: loading new config: http app module: start: listening on :443: listen tcp :443: bind: address already in use
May 31 17:47:52 porterfamserv systemd[1]: caddy.service: Main process exited, code=exited, status=1/FAILURE
May 31 17:47:52 porterfamserv systemd[1]: caddy.service: Failed with result 'exit-code'.
May 31 17:47:52 porterfamserv systemd[1]: Failed to start Caddy.
(END)
3. Caddy version:
v2.6.4
4. How I installed and ran Caddy:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/gpg.key’ | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf ‘https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt’ | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
a. System environment:
Ubuntu Server 22.04
b. Command:
sudo caddy start
d. My complete Caddy config:
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.
anthporter.ddns.net {
reverse_proxy localhost:8080
}
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfile