diff --git a/Containers/mastercontainer/Caddyfile b/Containers/mastercontainer/Caddyfile index ba6a281d566a..404a1507ed95 100644 --- a/Containers/mastercontainer/Caddyfile +++ b/Containers/mastercontainer/Caddyfile @@ -21,7 +21,14 @@ } http://:80 { - redir https://{host}{uri} + redir https://{host}{uri} +} + +https://:8080 { + reverse_proxy localhost:8000 + tls internal { + on_demand + } } https://:8443 { diff --git a/Containers/mastercontainer/Dockerfile b/Containers/mastercontainer/Dockerfile index efef5a6f5b34..b8ffef78afc2 100644 --- a/Containers/mastercontainer/Dockerfile +++ b/Containers/mastercontainer/Dockerfile @@ -22,6 +22,7 @@ RUN set -ex; \ usermod -u 333 -g 333 xfs; \ groupmod -g 33 www-data; \ usermod -u 33 -g 33 www-data; \ + apk del --no-cache shadow; \ \ apk add --no-cache \ util-linux-misc \ @@ -30,10 +31,9 @@ RUN set -ex; \ bash \ apache2 \ apache2-proxy \ - apache2-ssl \ supervisor \ - openssl \ sudo \ + nss \ netcat-openbsd \ curl \ grep; \ @@ -64,6 +64,7 @@ RUN set -ex; \ chmod +x /usr/local/bin/composer; \ cd /var/www/docker-aio; \ git clone https://github.com/nextcloud-releases/all-in-one.git --depth 1 .; \ + apk del --no-cache git; \ find ./ -maxdepth 1 -mindepth 1 -not -path ./php -exec rm -r {} \; ; \ chown www-data:www-data -R /var/www/docker-aio; \ cd php; \ @@ -76,10 +77,6 @@ RUN set -ex; \ rm -r php/data; \ rm -r php/session; \ \ - mkdir -p /etc/apache2/certs; \ - cd /etc/apache2/certs; \ - openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 -subj "/C=DE/ST=BE/L=Local/O=Dev/CN=nextcloud.local" -keyout /etc/apache2/certs/ssl.key -out /etc/apache2/certs/ssl.crt; \ - \ sed -i \ -e '/^Listen /d' \ -e 's/^LogLevel .*/LogLevel error/' \ @@ -98,13 +95,7 @@ RUN set -ex; \ -e 's/\(ScriptAlias \)/#\1/' \ /etc/apache2/httpd.conf; \ mkdir -p /etc/apache2/logs; \ - rm /etc/apache2/conf.d/ssl.conf; \ echo "ServerName localhost" | tee -a /etc/apache2/httpd.conf; \ - grep -q '^LoadModule lbmethod_heartbeat_module' /etc/apache2/conf.d/proxy.conf; \ - sed -i 's|^LoadModule lbmethod_heartbeat_module.*|#LoadModule lbmethod_heartbeat_module|' /etc/apache2/conf.d/proxy.conf; \ - echo "SSLSessionCache nonenotnull" | tee -a /etc/apache2/httpd.conf; \ - echo "LoadModule ssl_module modules/mod_ssl.so" | tee -a /etc/apache2/httpd.conf; \ - echo "LoadModule socache_shmcb_module modules/mod_socache_shmcb.so" | tee -a /etc/apache2/httpd.conf; \ echo "Include /etc/apache2/sites-available/mastercontainer.conf" | tee -a /etc/apache2/httpd.conf; \ \ rm -f /etc/apache2/conf.d/default.conf \ diff --git a/Containers/mastercontainer/mastercontainer.conf b/Containers/mastercontainer/mastercontainer.conf index 701cb420e715..0d12e4065dd1 100644 --- a/Containers/mastercontainer/mastercontainer.conf +++ b/Containers/mastercontainer/mastercontainer.conf @@ -38,19 +38,6 @@ Listen 8080 -# Https host - - # Proxy to https - ProxyPass / http://localhost:8000/ - ProxyPassReverse / http://localhost:8000/ - ProxyPreserveHost On - # SSL - SSLCertificateKeyFile /etc/apache2/certs/ssl.key - SSLCertificateFile /etc/apache2/certs/ssl.crt - SSLEngine on - SSLProtocol -all +TLSv1.2 +TLSv1.3 - - # Increase timeout in case e.g. the initial download takes a long time Timeout 7200 ProxyTimeout 7200 diff --git a/Containers/mastercontainer/start.sh b/Containers/mastercontainer/start.sh index 470d5ea4eefa..9350363ef61c 100644 --- a/Containers/mastercontainer/start.sh +++ b/Containers/mastercontainer/start.sh @@ -286,7 +286,6 @@ fi mkdir -p /mnt/docker-aio-config/data/ mkdir -p /mnt/docker-aio-config/session/ mkdir -p /mnt/docker-aio-config/caddy/ -mkdir -p /mnt/docker-aio-config/certs/ # Adjust permissions for all instances chmod 770 -R /mnt/docker-aio-config @@ -294,7 +293,6 @@ chmod 777 /mnt/docker-aio-config chown www-data:www-data -R /mnt/docker-aio-config/data/ chown www-data:www-data -R /mnt/docker-aio-config/session/ chown www-data:www-data -R /mnt/docker-aio-config/caddy/ -chown root:root -R /mnt/docker-aio-config/certs/ # Don't allow access to the AIO interface from the Nextcloud container # Probably more cosmetic than anything but at least an attempt @@ -310,22 +308,6 @@ allow from all APACHE_CONF fi -# Adjust certs -GENERATED_CERTS="/mnt/docker-aio-config/certs" -TMP_CERTS="/etc/apache2/certs" -mkdir -p "$GENERATED_CERTS" -cd "$GENERATED_CERTS" || exit 1 -if ! [ -f ./ssl.crt ] && ! [ -f ./ssl.key ]; then - openssl req -new -newkey rsa:4096 -days 3650 -nodes -x509 -subj "/C=DE/ST=BE/L=Local/O=Dev/CN=nextcloud.local" -keyout ./ssl.key -out ./ssl.crt -fi -if [ -f ./ssl.crt ] && [ -f ./ssl.key ]; then - cd "$TMP_CERTS" || exit 1 - rm ./ssl.crt - rm ./ssl.key - cp "$GENERATED_CERTS/ssl.crt" ./ - cp "$GENERATED_CERTS/ssl.key" ./ -fi - print_green "Initial startup of Nextcloud All-in-One complete! You should be able to open the Nextcloud AIO Interface now on port 8080 of this server! E.g. https://internal.ip.of.this.server:8080