mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2024-12-23 02:04:46 +02:00
[Nextcloud] Always install under subdomain, minor changes to site config and install script
This commit is contained in:
parent
1188f45d27
commit
cd88165282
@ -75,7 +75,7 @@ server {
|
|||||||
deny all;
|
deny all;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
|
location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|oc[ms]-provider/.+)\.php(?:$|/) {
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||||
include fastcgi_params;
|
include fastcgi_params;
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
@ -90,12 +90,12 @@ server {
|
|||||||
fastcgi_read_timeout 1200;
|
fastcgi_read_timeout 1200;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
|
location ~ ^/(?:updater|oc[ms]-provider)(?:$|/) {
|
||||||
try_files $uri/ =404;
|
try_files $uri/ =404;
|
||||||
index index.php;
|
index index.php;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ \.(?:css|js|woff|svg|gif)$ {
|
location ~ \.(?:css|js|woff2?|svg|gif)$ {
|
||||||
try_files $uri /index.php$uri$is_args$args;
|
try_files $uri /index.php$uri$is_args$args;
|
||||||
add_header Cache-Control "public, max-age=15778463";
|
add_header Cache-Control "public, max-age=15778463";
|
||||||
add_header X-Content-Type-Options nosniff;
|
add_header X-Content-Type-Options nosniff;
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ ${@}
|
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) php /web/nextcloud/occ ${@}
|
||||||
|
@ -1,44 +0,0 @@
|
|||||||
location ^~ /nextcloud {
|
|
||||||
location /nextcloud {
|
|
||||||
rewrite ^ /nextcloud/index.php$uri;
|
|
||||||
}
|
|
||||||
location ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)/ {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) {
|
|
||||||
deny all;
|
|
||||||
}
|
|
||||||
location ~ ^/nextcloud/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) {
|
|
||||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
|
||||||
include fastcgi_params;
|
|
||||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
|
||||||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
|
||||||
fastcgi_param HTTPS on;
|
|
||||||
fastcgi_param modHeadersAvailable true;
|
|
||||||
fastcgi_param front_controller_active true;
|
|
||||||
fastcgi_pass phpfpm:9002;
|
|
||||||
fastcgi_intercept_errors on;
|
|
||||||
fastcgi_request_buffering off;
|
|
||||||
client_max_body_size 0;
|
|
||||||
fastcgi_read_timeout 1200;
|
|
||||||
}
|
|
||||||
location ~ ^/nextcloud/(?:updater|ocs-provider)(?:$|/) {
|
|
||||||
try_files $uri/ =404;
|
|
||||||
index index.php;
|
|
||||||
}
|
|
||||||
location ~ \.(?:css|js|woff|svg|gif)$ {
|
|
||||||
try_files $uri /nextcloud/index.php$uri$is_args$args;
|
|
||||||
add_header Cache-Control "public, max-age=15778463";
|
|
||||||
add_header X-Content-Type-Options nosniff;
|
|
||||||
add_header X-XSS-Protection "1; mode=block";
|
|
||||||
add_header X-Robots-Tag none;
|
|
||||||
add_header X-Download-Options noopen;
|
|
||||||
add_header X-Permitted-Cross-Domain-Policies none;
|
|
||||||
add_header X-Frame-Options "SAMEORIGIN";
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
|
|
||||||
try_files $uri /nextcloud/index.php$uri$is_args$args;
|
|
||||||
access_log off;
|
|
||||||
}
|
|
||||||
}
|
|
@ -83,20 +83,13 @@ elif [[ ${NC_UPDATE} == "y" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
elif [[ ${NC_INSTALL} == "y" ]]; then
|
elif [[ ${NC_INSTALL} == "y" ]]; then
|
||||||
NC_TYPE=
|
NC_SUBD=
|
||||||
while [[ ! ${NC_TYPE} =~ ^subfolder$|^subdomain$ ]]; do
|
while [[ -z ${NC_SUBD} ]]; do
|
||||||
read -p "Configure as subdomain or subfolder? [subdomain/subfolder] " NC_TYPE
|
read -p "Subdomain to run Nextcloud from [format: nextcloud.domain.tld]: " NC_SUBD
|
||||||
done
|
done
|
||||||
|
if ! ping -q -c2 ${NC_SUBD} > /dev/null 2>&1 ; then
|
||||||
if [[ ${NC_TYPE} == "subdomain" ]]; then
|
read -p "Cannot ping subdomain, continue anyway? [y|N] " NC_CONT_FAIL
|
||||||
NC_SUBD=
|
[[ ! ${NC_CONT_FAIL,,} =~ ^(yes|y)$ ]] && { echo "Ok, exiting..."; exit 1; }
|
||||||
while [[ -z ${NC_SUBD} ]]; do
|
|
||||||
read -p "Which subdomain? [format: nextcloud.domain.tld] " NC_SUBD
|
|
||||||
done
|
|
||||||
if ! ping -q -c2 ${NC_SUBD} > /dev/null 2>&1 ; then
|
|
||||||
read -p "Cannot ping subdomain, continue anyway? [y|N] " NC_CONT_FAIL
|
|
||||||
[[ ! ${NC_CONT_FAIL,,} =~ ^(yes|y)$ ]] && { echo "Ok, exiting..."; exit 1; }
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ADMIN_NC_PASS=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 28)
|
ADMIN_NC_PASS=$(</dev/urandom tr -dc A-Za-z0-9 | head -c 28)
|
||||||
@ -107,7 +100,7 @@ elif [[ ${NC_INSTALL} == "y" ]]; then
|
|||||||
&& mkdir -p ./data/web/nextcloud/data \
|
&& mkdir -p ./data/web/nextcloud/data \
|
||||||
&& chmod +x ./data/web/nextcloud/occ
|
&& chmod +x ./data/web/nextcloud/occ
|
||||||
|
|
||||||
docker exec -it $(docker ps -f name=php-fpm-mailcow -q) /bin/bash -c "chown -R www-data:www-data /web/nextcloud/data /web/nextcloud/config /web/nextcloud/apps"
|
docker exec -it $(docker ps -f name=php-fpm-mailcow -q) /bin/bash -c "chown -R www-data:www-data /web/nextcloud"
|
||||||
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ --no-warnings maintenance:install \
|
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ --no-warnings maintenance:install \
|
||||||
--database mysql \
|
--database mysql \
|
||||||
--database-host mysql \
|
--database-host mysql \
|
||||||
@ -136,22 +129,21 @@ elif [[ ${NC_INSTALL} == "y" ]]; then
|
|||||||
/web/nextcloud/occ --no-warnings config:system:set mail_from_address --value=nextcloud; \
|
/web/nextcloud/occ --no-warnings config:system:set mail_from_address --value=nextcloud; \
|
||||||
/web/nextcloud/occ --no-warnings config:system:set mail_domain --value=${MAILCOW_HOSTNAME}; \
|
/web/nextcloud/occ --no-warnings config:system:set mail_domain --value=${MAILCOW_HOSTNAME}; \
|
||||||
/web/nextcloud/occ --no-warnings config:system:set mail_smtphost --value=postfix; \
|
/web/nextcloud/occ --no-warnings config:system:set mail_smtphost --value=postfix; \
|
||||||
/web/nextcloud/occ --no-warnings config:system:set mail_smtpport --value=588
|
/web/nextcloud/occ --no-warnings config:system:set mail_smtpport --value=588; \
|
||||||
/web/nextcloud/occ --no-warnings app:install user_external
|
/web/nextcloud/occ --no-warnings config:system:set trusted_domains 1 --value=${NC_SUBD}; \
|
||||||
/web/nextcloud/occ --no-warnings config:system:set user_backends 0 arguments 0 --value={dovecot:143/imap/tls/novalidate-cert}
|
/web/nextcloud/occ --no-warnings config:system:set overwritewebroot --value=/; \
|
||||||
/web/nextcloud/occ --no-warnings config:system:set user_backends 0 class --value=OC_User_IMAP
|
/web/nextcloud/occ --no-warnings config:system:set overwritehost --value=${NC_SUBD}; \
|
||||||
/web/nextcloud/occ --no-warnings db:convert-filecache-bigint -n"
|
/web/nextcloud/occ --no-warnings db:convert-filecache-bigint -n"
|
||||||
|
|
||||||
if [[ ${NC_TYPE} == "subdomain" ]]; then
|
# Not installing by default, broke too often
|
||||||
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ --no-warnings config:system:set trusted_domains 1 --value=${NC_SUBD}
|
#/web/nextcloud/occ --no-warnings app:install user_external; \
|
||||||
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ --no-warnings config:system:set overwritewebroot --value=/
|
#/web/nextcloud/occ --no-warnings config:system:set user_backends 0 arguments 0 --value={dovecot:143/imap/tls/novalidate-cert}; \
|
||||||
docker exec -it -u www-data $(docker ps -f name=php-fpm-mailcow -q) /web/nextcloud/occ --no-warnings config:system:set overwritehost --value=${NC_SUBD}
|
#/web/nextcloud/occ --no-warnings config:system:set user_backends 0 class --value=OC_User_IMAP; \
|
||||||
|
|
||||||
cp ./data/assets/nextcloud/nextcloud.conf ./data/conf/nginx/
|
cp ./data/assets/nextcloud/nextcloud.conf ./data/conf/nginx/
|
||||||
sed -i "s/NC_SUBD/${NC_SUBD}/g" ./data/conf/nginx/nextcloud.conf
|
sed -i "s/NC_SUBD/${NC_SUBD}/g" ./data/conf/nginx/nextcloud.conf
|
||||||
elif [[ ${NC_TYPE} == "subfolder" ]]; then
|
|
||||||
cp ./data/assets/nextcloud/site.nextcloud.custom ./data/conf/nginx/
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
echo "Restarting Nginx..."
|
||||||
docker restart $(docker ps -aqf name=nginx-mailcow)
|
docker restart $(docker ps -aqf name=nginx-mailcow)
|
||||||
|
|
||||||
echo "Login as admin with password: ${ADMIN_NC_PASS}"
|
echo "Login as admin with password: ${ADMIN_NC_PASS}"
|
||||||
|
Loading…
Reference in New Issue
Block a user