diff --git a/nextcloud-snap-caddy-setup.md b/nextcloud-snap-caddy-setup.md new file mode 100644 index 0000000..95dd1dd --- /dev/null +++ b/nextcloud-snap-caddy-setup.md @@ -0,0 +1,85 @@ +1. Install snapd & a web server (caddy in this guide) + +``` +sudo apt update && sudo apt install --yes snapd caddy +``` + + +2. Start snapd systemd unit + +``` +sudo systemctl start snapd +``` + + +3. Install Nextcloud snap + +``` +sudo snap install nextcloud +``` + + +4. Initialize Nextcloud snap and create admin account + +``` +sudo /snap/bin/nextcloud.manual-install USER PASSWORD +``` + + +5. Set trusted domains in Nextcloud + +``` +sudo /snap/bin/nextcloud.occ config:system:set trusted_domains NUMBER --value=DOMAIN +``` + + +6. Set Nextcloud HTTP & HTTPS ports to 8080 & 4443 + +``` +sudo snap set nextcloud ports.http=8080 +``` + +``` +sudo snap set nextcloud ports.https=4443 +``` + + +7. 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 +} +``` + + +8. 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 +``` + + +9. Reload systemd daemon and restart Caddy + +``` +sudo systemctl daemon-reload +``` + +``` +sudo systemctl start caddy +```