You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.8 KiB
1.8 KiB
Deploy Nextcloud Container
Configure System Settings for Redis
Redis depends on a few kernel/system parameters being set appropriately to run well. Since these are kernel parameters, they can only be set on the host (not the container), and must be configured as root.
Firstly, the overcommit_memory
system setting being set to zero may cause Redis to fail to background save. Make sure it is set to 1 by running:
sysctl vm.overcommit_memory=1
Additionally, Redis has fairly serious latency issues with THP (Transparent Huge Pages) enabled, so it is best to disable it. Disable them by running:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
You can make these settings persistent accross reboots by adding them to the container start script in /etc/containers/startup.sh
.
Configure HAproxy
Add the following directives to your HAproxy configuration:
frontend www
bind :80
mode http
# Reroute caldav/carddav auto-discover to appropriate address (i.e. Nextcloud)
# Put "code 301" after "redirect" to make it a 301 redirect
http-request redirect location /nextcloud/remote.php/dav/ if { path /.well-known/caldav /.well-known/carddav }
# Send to nextcloud if path begins with /nextcloud
use_backend nextcloud if { path_beg /nextcloud }
backend nextcloud
mode http
option forwardfor
http-request set-header X-Forwarded-Proto https if { ssl_fc }
# Remove the "/nextcloud" part from the path
# WARNING: due to limitations in the config parser, the characters ")","]", or ","
# are NOT allowed in any regular expression
http-request set-path "%[path,regsub(^/nextcloud,)]"
server nc-1 127.0.0.1:9080
And make sure to reload the configuration by running:
service haproxy reload