Files
Server-Utils/nextcloud-snap-caddy-setup.md
2025-07-05 10:14:59 -04:00

1.3 KiB

  1. Install snapd & a web server (caddy in this guide)
sudo apt update && sudo apt install --yes snapd caddy
  1. Start snapd systemd unit
sudo systemctl start snapd
  1. Install Nextcloud snap
sudo snap install nextcloud
  1. Initialize Nextcloud snap and create admin account
sudo /snap/bin/nextcloud.manual-install USER PASSWORD
  1. Set trusted domains in Nextcloud
sudo /snap/bin/nextcloud.occ config:system:set trusted_domains NUMBER --value=DOMAIN
  1. Set Nextcloud HTTP & HTTPS ports to 8080 & 4443
sudo snap set nextcloud ports.http=8080
sudo snap set nextcloud ports.https=4443
  1. Create (or add to) a Caddyfile to reverse proxy to Nextcloud
nano /path/to/Caddyfile
DOMAIN {
reverse_proxy   localhost:8080

rewrite /.well-known/carddav    /remote.php/dav
rewrite /.well-known/caldav     /remote.php/dav
rewrite /.well-known/webfinger  /public.php?service=webfinger
}
  1. Stop Caddy systemd service & change Caddyfile path
sudo systemctl stop caddy
cat /usr/lib/systemd/system/caddy.service | \
sed "s|/etc/caddy/Caddyfile|/path/to/Caddyfile|g" | \
sudo tee /usr/lib/systemd/system/caddy.service &> /dev/null
  1. Reload systemd daemon and restart Caddy
sudo systemctl daemon-reload
sudo systemctl start caddy