Cannot get Caddy to run

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

5. Links to relevant resources:

Like the error says:

listen tcp :443: bind: address already in use

Something is already listening on port 443.

As @matt said, Caddy is not able to start since Port 443 is already in use by another process. Since you are on Ubuntu, run this command to check which existing process is running on port 443 already:

sudo lsof -i -P -n | grep LISTEN | grep 443

The resulting list should show you something like this:

In my example screenshot, Caddy is running on 443 with process ID 5770. Whatever process is running on your end, you will need to either stop it or kill it (Make sure it is ok to do so in your case).

1 Like

Thank you! I knew I was missing something. That worked a charm!

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.