We maintain official distributions for the following platforms:
Create a Caddy droplet and get started in 90 seconds.
Fedora, RedHat, CentOS
Read how to install the Caddy COPR.
docker pull caddy/caddy
Manually installing as a Linux service
caddybinary that you downloaded or built from source
- Systemd version 232 or newer
- Superuser rights
caddy binary into your
$PATH, for example:
sudo mv caddy /usr/bin/
Test that it worked:
Create a group named
groupadd --system caddy
Create a user named
caddy, with a writeable home folder:
useradd --system \ --gid caddy \ --create-home \ --home-dir /var/lib/caddy \ --shell /usr/sbin/nologin \ --comment "Caddy web server" \ caddy
Next, take this systemd unit file and save it to
/etc/systemd/system/caddy.service. Double-check the ExecStart and ExecReload directives---make sure the binary's location and command line arguments are correct for your installation.
Double-check that both your systemd and Caddy configs are correct before continuing. Make sure your config file is in the location specified in the command.
To start the service for the first time, do the usual systemctl dance:
sudo systemctl daemon-reload sudo systemctl enable caddy sudo systemctl start caddy
Verify that it is running:
systemctl status caddy
When running with our official service file, Caddy's output will be redirected to
journalctl -u caddy
To gracefully apply any changes to your config file (if using one):
sudo systemctl reload caddy
You can stop the service with:
sudo systemctl stop caddy
Build from source
Download the source code:
git clone "https://github.com/caddyserver/caddy.git"
cd caddy/cmd/caddy/ go build