Compare commits
3 Commits
e231d7872c
...
b46745df14
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b46745df14
|
||
|
|
903c153dc3
|
||
|
|
1554e4a9ba
|
4
nextcloud/.env.example
Normal file
4
nextcloud/.env.example
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
NEXTCLOUD_DOMAIN=nextcloud_domain_goes_here
|
||||||
|
DB_ROOT_PASSWORD=mariadb_root_password_goes_here
|
||||||
|
NEXTCLOUD_DB_PASSWORD=mariadb_nextcloud_user_password_goes_here
|
||||||
|
COLLABORA_DOMAIN=collabora_domain_goes_here
|
||||||
77
nextcloud/docker-compose.yml
Normal file
77
nextcloud/docker-compose.yml
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
public:
|
||||||
|
external: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
nextcloud:
|
||||||
|
image: lscr.io/linuxserver/nextcloud:latest
|
||||||
|
container_name: nextcloud
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- "./nextcloud-config-data:/config"
|
||||||
|
- "./nextcloud-data:/data"
|
||||||
|
environment:
|
||||||
|
- "PUID=1000"
|
||||||
|
- "PGID=1000"
|
||||||
|
- "TZ=Asia/Singapore"
|
||||||
|
# ports:
|
||||||
|
# - "443:443"
|
||||||
|
networks:
|
||||||
|
- public
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.nextcloud.rule=Host(`${NEXTCLOUD_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.nextcloud.service=nextcloud-service"
|
||||||
|
- "traefik.http.services.nextcloud-service.loadbalancer.server.port=443"
|
||||||
|
- "traefik.http.services.nextcloud-service.loadbalancer.server.scheme=https"
|
||||||
|
- "traefik.http.routers.nextcloud.tls=true"
|
||||||
|
- "traefik.http.routers.nextcloud.tls.certresolver=le"
|
||||||
|
# Nextcloud DAV services discovery
|
||||||
|
- "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.middlewares.nextcloud-redirectregex.redirectregex.permanent=true"
|
||||||
|
# HSTS
|
||||||
|
- "traefik.http.middlewares.nextcloud-headers.headers.stsSeconds=15552000"
|
||||||
|
# Apply middlewares
|
||||||
|
- "traefik.http.routers.nextcloud.middlewares=nextcloud-redirectregex,nextcloud-headers"
|
||||||
|
|
||||||
|
mariadb:
|
||||||
|
image: lscr.io/linuxserver/mariadb:latest
|
||||||
|
container_name: mariadb
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- "./mariadb-data:/config"
|
||||||
|
environment:
|
||||||
|
- "PUID=1000"
|
||||||
|
- "PGID=1000"
|
||||||
|
- "MYSQL_ROOT_PASSWORD=${DB_ROOT_PASSWORD}"
|
||||||
|
- "TZ=Asia/Singapore"
|
||||||
|
- "MYSQL_DATABASE=nextcloud_db"
|
||||||
|
- "MYSQL_USER=nextcloud"
|
||||||
|
- "MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}"
|
||||||
|
# ports:
|
||||||
|
# - "3306:3306"
|
||||||
|
networks:
|
||||||
|
- public
|
||||||
|
|
||||||
|
services:
|
||||||
|
collabora:
|
||||||
|
image: collabora/code
|
||||||
|
container_name: collabora
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
- "domain=${NEXTCLOUD_DOMAIN}"
|
||||||
|
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
|
||||||
|
# ports:
|
||||||
|
# - "9980:9980"
|
||||||
|
networks:
|
||||||
|
- public
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.collabora.rule=Host(`${COLLABORA_DOMAIN}`)"
|
||||||
|
- "traefik.http.routers.collabora.service=collabora-service"
|
||||||
|
- "traefik.http.services.collabora-service.loadbalancer.server.port=9980"
|
||||||
|
- "traefik.http.routers.collabora.tls=true"
|
||||||
|
- "traefik.http.routers.collabora.tls.certresolver=le"
|
||||||
@@ -25,7 +25,8 @@ services:
|
|||||||
- "443:443"
|
- "443:443"
|
||||||
# - "8080:8080"
|
# - "8080:8080"
|
||||||
networks:
|
networks:
|
||||||
- public
|
public:
|
||||||
|
ipv4_address: 172.22.0.254
|
||||||
command:
|
command:
|
||||||
- "--log.level=DEBUG"
|
- "--log.level=DEBUG"
|
||||||
- "--api.insecure=true"
|
- "--api.insecure=true"
|
||||||
@@ -44,6 +45,7 @@ services:
|
|||||||
- "--certificatesresolvers.le.acme.dnschallenge=true"
|
- "--certificatesresolvers.le.acme.dnschallenge=true"
|
||||||
- "--certificatesresolvers.le.acme.dnschallenge.provider=cloudflare"
|
- "--certificatesresolvers.le.acme.dnschallenge.provider=cloudflare"
|
||||||
- "--certificatesresolvers.le.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53"
|
- "--certificatesresolvers.le.acme.dnschallenge.resolvers=1.1.1.1:53,8.8.8.8:53"
|
||||||
|
- "--serversTransport.insecureSkipVerify=true"
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.dashboard.rule=Host(`${TRAEFIK_DOMAIN}`)"
|
- "traefik.http.routers.dashboard.rule=Host(`${TRAEFIK_DOMAIN}`)"
|
||||||
|
|||||||
Reference in New Issue
Block a user