42 lines
1.4 KiB
Django/Jinja
42 lines
1.4 KiB
Django/Jinja
[Unit]
|
|
Description=Nextcloud Web
|
|
|
|
Requires=nextcloud-app.service
|
|
After=nextcloud-app.service
|
|
|
|
[Container]
|
|
ContainerName=nextcloud-web
|
|
Image=docker.io/library/nginx:{{ nextcloud_nginx_version }}
|
|
|
|
Network=traefik.network
|
|
Network=nextcloud.network
|
|
|
|
Volume=/var/nextcloud/web/nginx.conf:/etc/nginx/nginx.conf
|
|
Volume=/var/nextcloud/app:/var/www/html:z
|
|
|
|
|
|
Label="traefik.http.middlewares.nextcloud_redirectregex.redirectregex.permanent=true"
|
|
Label="traefik.http.middlewares.nextcloud_redirectregex.redirectregex.regex=https://(.*)/.well-known/(?:card|cal)dav"
|
|
Label="traefik.http.middlewares.nextcloud_redirectregex.redirectregex.replacement=https://$${1}/remote.php/dav"
|
|
|
|
{% for domain in nextcloud_domains -%}
|
|
Label="traefik.http.routers.nextcloud{{loop.index}}.middlewares=nextcloud_redirectregex"
|
|
Label="traefik.http.routers.nextcloud{{loop.index}}.tls.certresolver=resolver"
|
|
Label="traefik.http.routers.nextcloud{{loop.index}}.tls=true"
|
|
Label="traefik.http.routers.nextcloud{{loop.index}}.rule=Host(`{{ domain }}`)"
|
|
Label="traefik.http.routers.nextcloud{{loop.index}}.service=nextcloud{{loop.index}}"
|
|
Label="traefik.http.services.nextcloud{{loop.index}}.loadbalancer.server.port=80"
|
|
{% endfor %}
|
|
|
|
[Service]
|
|
Restart=on-failure
|
|
# Restart Delay
|
|
RestartSec=30
|
|
# Allowed time for the service to start.
|
|
TimeoutStartSec=90
|
|
# Allowed time for the service to stop.
|
|
TimeoutStopSec=90
|
|
|
|
[Install]
|
|
WantedBy=default.target
|