--- title: "Install" --- # Install Caddy is available for every platform as a [static binary](https://github.com/caddyserver/caddy/releases) (it has no dependencies). You can also [build from source](#build-from-source) to customize your build. ## Official packages We maintain [official distributions](https://github.com/caddyserver/dist) for the following platforms: - **DigitalOcean** [Create a Caddy droplet](https://marketplace.digitalocean.com/apps/caddy) and get started in 90 seconds. - **Fedora, RedHat, CentOS** Read how to [install the Caddy COPR](https://copr.fedorainfracloud.org/coprs/g/caddy/caddy/). - **Docker** [docker pull caddy/caddy](https://hub.docker.com/r/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](https://github.com/caddyserver/dist/blob/master/init/caddy.service) 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. 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](https://golang.org/dl) 1.13 or newer - [Go modules](https://github.com/golang/go/wiki/Modules) enabled Download the `v2` branch source code:
git clone -b v2 "https://github.com/caddyserver/caddy.git"
Build:
cd caddy/cmd/caddy/
go build