3 KiB
title |
---|
Install |
Install
Caddy is available for every platform as a static binary (it has no dependencies). You can also build from source to customize your build.
Official packages
We maintain official distributions for the following platforms:
-
DigitalOcean Create a Caddy droplet and get started in 90 seconds.
-
Fedora, RedHat, CentOS Read how to install the Caddy COPR.
-
Docker docker pull caddy/caddy
Manually installing as a Linux service
Requirements:
- A
caddy
binary that you downloaded or built from source - Systemd version 232 or newer
- Superuser rights
Move the caddy
binary into your $PATH
, for example:
sudo mv caddy /usr/bin/
Test that it worked:
caddy version
Create a group named caddy
:
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
:
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
Requirements:
- Go 1.14 or newer
- Go modules enabled
Download the source code:
git clone "https://github.com/caddyserver/caddy.git"
Build:
cd caddy/cmd/caddy/
go build