# Caddy auf Hetzner

**Installation:**
```bash
ssh hetzner

apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update
apt install -y caddy
```

**Caddyfile:**
```bash
nano /etc/caddy/Caddyfile
```

**Inhalt:**

```
enode.eu {
    basicauth {
        denode $2a$14$<BCRYPT_HASH>
    }
    
    root * /var/www/denode
    file_server
    encode gzip
}

nextcloud.denode.eu {
    encode gzip
    reverse_proxy 10.100.0.2:80 {
        header_up Host {host}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}
    }
}

notes.denode.eu {
    basicauth {
        denode $2a$14$<BCRYPT_HASH>
    }
    
    encode gzip
    reverse_proxy 10.100.0.2:4567 {
        header_up Host {host}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}
    }
}

overleaf.denode.eu {
    basicauth {
        denode $2a$14$<BCRYPT_HASH>
    }
    
    encode gzip
    reverse_proxy 10.100.0.2:4568 {
        header_up Host {host}
        header_up X-Real-IP {remote_host}
        header_up X-Forwarded-For {remote_host}
        header_up X-Forwarded-Proto {scheme}
    }
}
```

**Passwort hashen**
```bash
caddy hash-password
```

**Caddy reload**
```bash
systemctl reload caddy
systemctl status caddy
```