78 lines
1.0 KiB
Bash
78 lines
1.0 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
|
|
|
|
printf 'Enter username for Nextcloud admin account:\n'
|
|
read -r USERNAME
|
|
|
|
printf '\nEnter password for Nextcloud admin account:'
|
|
read -sr PASSWORD
|
|
|
|
printf '\nEnter domain name that will point to this server:\n'
|
|
read -r DOMAIN
|
|
|
|
|
|
sudo \
|
|
apt \
|
|
update \
|
|
&& \
|
|
sudo \
|
|
apt \
|
|
install \
|
|
--yes \
|
|
snapd \
|
|
caddy \
|
|
|| \
|
|
exit \
|
|
1
|
|
|
|
sudo \
|
|
systemctl \
|
|
enable \
|
|
--now \
|
|
snapd
|
|
|
|
sudo \
|
|
snap \
|
|
install \
|
|
nextcloud
|
|
|
|
sudo \
|
|
/snap/bin/nextcloud.manual-install \
|
|
${USERNAME} \
|
|
${PASSWORD}
|
|
|
|
sudo \
|
|
/snap/bin/nextcloud.occ \
|
|
config:system:set \
|
|
trusted_domains \
|
|
0 \
|
|
--value=${DOMAIN}
|
|
|
|
sudo \
|
|
snap \
|
|
set \
|
|
nextcloud \
|
|
ports.http=8080
|
|
|
|
sudo \
|
|
snap \
|
|
set \
|
|
nextcloud \
|
|
ports.https=4443
|
|
|
|
cat << EOF | sudo tee /etc/caddy/Caddyfile &> /dev/null
|
|
${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
|
|
}
|
|
EOF
|
|
|
|
sudo \
|
|
systemctl \
|
|
restart \
|
|
caddy
|