Snippets

Jonathan Hult Caddy 2 Web Server - Install with automatic TLS

Created by Jonathan Hult
cd /tmp
wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.15.7.linux-amd64.tar.gz

sudo echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile

go get -u github.com/caddyserver/xcaddy/cmd/xcaddy
cd $HOME/go/bin
sudo mv xcaddy /usr/bin/
xcaddy build --with github.com/caddy-dns/cloudflare
sudo mv caddy /usr/bin/

sudo groupadd --system caddy
sudo useradd --system \
    --gid caddy \
    --create-home \
    --home-dir /var/lib/caddy \
    --shell /usr/sbin/nologin \
    --comment "Caddy web server" \
    caddy

sudo curl https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service --output /etc/systemd/system/caddy.service

Create this file: sudo nano /etc/caddy/Caddyfile
(cloudflare) {
  tls {
    dns cloudflare api_key_goes_here
  }
}

domain_name_goes_here:443 {
  import cloudflare
  reverse_proxy 127.0.0.1:80
}

Comments (1)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.