You've already forked nextcloud
Compare commits
10 Commits
a435eae93d
...
production
| Author | SHA1 | Date | |
|---|---|---|---|
| 831781d5f7 | |||
| 44571ff08b | |||
| eefaae32e2 | |||
| ff2c56a7de | |||
| 056976e2dd | |||
| 78e7b1a46f | |||
| 65a4cddba0 | |||
| efc60d1510 | |||
| 6abe555100 | |||
| 6a5f9fb8eb |
@@ -1,52 +1,56 @@
|
|||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
image: nextcloud:${NC_VERSION}
|
image: nextcloud:${NEXTCLOUD_VERSION}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- mariadb
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_HOST=db
|
- MYSQL_HOST=mariadb
|
||||||
- MYSQL_DATABASE=${NC_DATABASE_NAME}
|
- MYSQL_DATABASE=${NEXTCLOUD_DATABASE_NAME}
|
||||||
- MYSQL_USER=${NC_DATABASE_USER}
|
- MYSQL_USER=${NEXTCLOUD_DATABASE_USER}
|
||||||
- MYSQL_PASSWORD=${NC_DATABASE_PASS}
|
- MYSQL_PASSWORD=${NEXTCLOUD_DATABASE_PASS}
|
||||||
- OVERWRITEPROTOCOL=https
|
- OVERWRITEPROTOCOL=https
|
||||||
|
- PHP_MEMORY_LIMIT=1024M
|
||||||
|
- PHP_UPLOAD_LIMIT=1024M
|
||||||
labels:
|
labels:
|
||||||
- traefik.enable=${TRAEFIK_ENABLED}
|
- traefik.enable=${TRAEFIK_ENABLED}
|
||||||
- traefik.docker.network=${TRAEFIK_NETWORK}
|
- traefik.docker.network=${TRAEFIK_NETWORK}
|
||||||
### Section HTTP
|
# specify a custom middleware for nextcloud-specific configuration
|
||||||
- traefik.http.routers.http-${TRAEFIK_ROUTER}.entrypoints=http
|
- traefik.http.middlewares.${TRAEFIK_ROUTER}-redirectregex.redirectRegex.permanent=true
|
||||||
# redirect to HTTPS only
|
- traefik.http.middlewares.${TRAEFIK_ROUTER}-redirectregex.redirectRegex.regex="https://(.*)/.well-known/(card|cal)dav"
|
||||||
- traefik.http.routers.http-${TRAEFIK_ROUTER}.middlewares=http-to-https
|
- traefik.http.middlewares.${TRAEFIK_ROUTER}-redirectregex.redirectRegex.replacement="https://$${1}/remote.php/dav/"
|
||||||
- traefik.http.routers.http-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_MATCHRULE}`)
|
# HTTPS
|
||||||
### Section HTTPS
|
|
||||||
- traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.entrypoints=https
|
||||||
# configure the exposed service
|
# configure the exposed service
|
||||||
- traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=Host(`${TRAEFIK_MATCHRULE}`)
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.middlewares=${TRAEFIK_MIDDLEWARES}
|
||||||
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.rule=${TRAEFIK_MATCHRULE}
|
||||||
# of course, enable TLS and it's certificate provider
|
# of course, enable TLS and it's certificate provider
|
||||||
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED}
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls=${TRAEFIK_TLSENABLED}
|
||||||
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER}
|
- traefik.http.routers.https-${TRAEFIK_ROUTER}.tls.certresolver=${TRAEFIK_CERTRESOLVER}
|
||||||
# specify a service so a custom port can be used
|
# specify a service so a custom port can be used
|
||||||
- traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT}
|
- traefik.http.services.${TRAEFIK_SERVICE}.loadbalancer.server.port=${TRAEFIK_SERVICE_PORT}
|
||||||
# specify a custom middleware for nextcloud-specific configuration
|
|
||||||
- traefik.http.middlewares.nextcloud-redirectregex.redirectRegex.permanent=true
|
|
||||||
- traefik.http.middlewares.nextcloud-redirectregex.redirectRegex.regex="https://(.*)/.well-known/(card|cal)dav"
|
|
||||||
- traefik.http.middlewares.nextcloud-redirectregex.redirectRegex.replacement="https://$${1}/remote.php/dav/"
|
|
||||||
- traefik.http.routers.https-${TRAEFIK_ROUTER}.middlewares=nextcloud-redirectregex
|
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
- traefik
|
- traefik
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/nextcloud:/var/www/html
|
- ./data/nextcloud:/var/www/html
|
||||||
|
|
||||||
db:
|
mariadb:
|
||||||
image: mariadb:${DB_VERSION}
|
image: mariadb:${MARIADB_VERSION}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_ROOT_PASSWORD=${DB_ROOT_PASS}
|
- MARIADB_AUTO_UPGRADE=true
|
||||||
- MYSQL_DATABASE=${NC_DATABASE_NAME}
|
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASS}
|
||||||
- MYSQL_USER=${NC_DATABASE_USER}
|
- MARIADB_DATABASE=${NEXTCLOUD_DATABASE_NAME}
|
||||||
- MYSQL_PASSWORD=${NC_DATABASE_PASS}
|
- MARIADB_USER=${NEXTCLOUD_DATABASE_USER}
|
||||||
|
- MARIADB_PASSWORD=${NEXTCLOUD_DATABASE_PASS}
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "/usr/local/bin/healthcheck.sh", "--innodb_initialized"]
|
||||||
|
start_period: 30s
|
||||||
|
interval: 5s
|
||||||
|
timeout: 3s
|
||||||
|
retries: 3
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
15
example.env
15
example.env
@@ -1,19 +1,20 @@
|
|||||||
# NextCloud environment
|
# NextCloud environment
|
||||||
NC_VERSION=22.2.6-apache
|
NEXTCLOUD_VERSION=latest
|
||||||
NC_DATABASE_NAME=nextcloud
|
NEXTCLOUD_DATABASE_NAME=nextcloud
|
||||||
NC_DATABASE_USER=nextcloud
|
NEXTCLOUD_DATABASE_USER=nextcloud
|
||||||
NC_DATABASE_PASS=changeme
|
NEXTCLOUD_DATABASE_PASS=changeme
|
||||||
|
|
||||||
# MariaDB environment
|
# MariaDB environment
|
||||||
DB_VERSION=10.7.3
|
MARIADB_VERSION=latest
|
||||||
DB_ROOT_PASS=Sup3rS3cr3tPassw0rd!
|
MARIADB_ROOT_PASS=Sup3rS3cr3tPassw0rd!
|
||||||
|
|
||||||
# Træfik environment
|
# Træfik environment
|
||||||
TRAEFIK_ENABLED=true
|
TRAEFIK_ENABLED=true
|
||||||
TRAEFIK_CERTRESOLVER=letsencrypt
|
TRAEFIK_CERTRESOLVER=letsencrypt
|
||||||
TRAEFIK_MATCHRULE=cloud.domain.com
|
TRAEFIK_MATCHRULE=Host(`cloud.domain.com`)
|
||||||
TRAEFIK_ROUTER=cloud_domain_com
|
TRAEFIK_ROUTER=cloud_domain_com
|
||||||
TRAEFIK_SERVICE=cloud_domain_com
|
TRAEFIK_SERVICE=cloud_domain_com
|
||||||
TRAEFIK_SERVICE_PORT=80
|
TRAEFIK_SERVICE_PORT=80
|
||||||
TRAEFIK_TLSENABLED=true
|
TRAEFIK_TLSENABLED=true
|
||||||
TRAEFIK_NETWORK=traefik
|
TRAEFIK_NETWORK=traefik
|
||||||
|
TRAEFIK_MIDDLEWARES=hsts,cloud_domain_com-redirectregex
|
||||||
|
|||||||
Reference in New Issue
Block a user