Compare commits

..

3 Commits

Author SHA1 Message Date
PorridgePi
b46745df14 traefik: feat: Add static IP and disable SSL cert verification for nextcloud 2022-09-24 12:05:33 +01:00
PorridgePi
903c153dc3 nextcloud: feat: Add collabora 2022-09-24 12:02:22 +01:00
PorridgePi
1554e4a9ba nextcloud: Initial commit 2022-09-24 11:59:11 +01:00
3 changed files with 84 additions and 1 deletions

4
nextcloud/.env.example Normal file
View 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

View 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"

View File

@@ -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}`)"