added nextcloud standalone
This commit is contained in:
parent
9fa6b16bed
commit
2badc54f91
|
@ -11,11 +11,18 @@ services:
|
||||||
- --providers.docker.network=proxy
|
- --providers.docker.network=proxy
|
||||||
- --serversTransport.insecureSkipVerify=true
|
- --serversTransport.insecureSkipVerify=true
|
||||||
- --api
|
- --api
|
||||||
#Lets Encrypt
|
|
||||||
- --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
|
- "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
|
||||||
- --certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}
|
- "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
|
||||||
- --certificatesresolvers.letsencrypt.acme.storage=/acme.json
|
#- "--certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
|
||||||
- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
|
- "--certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}"
|
||||||
|
- "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
|
||||||
|
|
||||||
|
#Lets Encrypt TLS Challenge
|
||||||
|
#- --certificatesresolvers.letsencrypt.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory
|
||||||
|
#- --certificatesresolvers.letsencrypt.acme.email=${ACME_EMAIL}
|
||||||
|
#- --certificatesresolvers.letsencrypt.acme.storage=/acme.json
|
||||||
|
#- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
|
||||||
#Logging
|
#Logging
|
||||||
- "--accesslog=true"
|
- "--accesslog=true"
|
||||||
- "--accesslog.filePath=/logs/access.log"
|
- "--accesslog.filePath=/logs/access.log"
|
||||||
|
@ -28,12 +35,12 @@ services:
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
- /etc/localtime:/etc/localtime:ro
|
- /etc/localtime:/etc/localtime:ro
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
- "./data/letsencrypt/acme.json:/acme.json"
|
- "./data/letsencrypt:/letsencrypt"
|
||||||
- ./data/logs/:/logs/
|
- ./data/logs/:/logs/
|
||||||
labels:
|
labels:
|
||||||
# Dashboard
|
# Dashboard
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.traefik.rule=Host(`treafik.dev.mertens.digital`)"
|
- "traefik.http.routers.traefik.rule=Host(`traefik.dev.mertens.digital`)"
|
||||||
- "traefik.http.routers.traefik.service=api@internal"
|
- "traefik.http.routers.traefik.service=api@internal"
|
||||||
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
|
- "traefik.http.routers.traefik.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.routers.traefik.entrypoints=websecure"
|
- "traefik.http.routers.traefik.entrypoints=websecure"
|
||||||
|
@ -54,22 +61,22 @@ services:
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
whoami:
|
# whoami:
|
||||||
image: traefik/whoami
|
# image: traefik/whoami
|
||||||
command:
|
# command:
|
||||||
- --port=2001
|
# - --port=2001
|
||||||
- --name=test
|
# - --name=test
|
||||||
ports:
|
# ports:
|
||||||
- "2001:2001"
|
# - "2001:2001"
|
||||||
networks:
|
# networks:
|
||||||
- proxy
|
# - proxy
|
||||||
labels:
|
# labels:
|
||||||
- "traefik.enable=true"
|
# - "traefik.enable=true"
|
||||||
- "traefik.http.routers.whoami.entrypoints=websecure"
|
# - "traefik.http.routers.whoami.entrypoints=websecure"
|
||||||
- "traefik.http.routers.whoami.rule=Host(`whoami.dev.mertens.digital`)"
|
# - "traefik.http.routers.whoami.rule=Host(`whoami.dev.mertens.digital`)"
|
||||||
- "traefik.http.routers.whoami.tls=true"
|
# - "traefik.http.routers.whoami.tls=true"
|
||||||
- "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
|
# - "traefik.http.routers.whoami.tls.certresolver=letsencrypt"
|
||||||
- "traefik.http.services.whoami.loadbalancer.server.port=2001"
|
# - "traefik.http.services.whoami.loadbalancer.server.port=2001"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,24 +1,29 @@
|
||||||
version: '3'
|
version: '3'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
|
|
||||||
app:
|
app:
|
||||||
image: nextcloud
|
image: nextcloud
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- caddy
|
- proxy
|
||||||
- nextcloud
|
- nextcloud
|
||||||
labels:
|
labels:
|
||||||
caddy: ${HOSTNAME}
|
- "traefik.enable=true"
|
||||||
caddy.reverse_proxy: "{{upstreams http 80}}"
|
- "traefik.http.routers.nextcloud.rule=Host(`${HOSTNAME}`)"
|
||||||
caddy.0_redir: "/.well-known/carddav /remote.php/dav 301"
|
- "traefik.http.routers.nextcloud.service=nextcloud"
|
||||||
caddy.1_redir: "/.well-known/caldav /remote.php/dav 301"
|
- "traefik.http.routers.nextcloud.entrypoints=websecure"
|
||||||
caddy.header: "Strict-Transport-Security max-age=15552000"
|
- "traefik.http.services.nextcloud.loadbalancer.server.port=80"
|
||||||
caddy.tls: "internal"
|
- "traefik.http.routers.nextcloud.tls=true"
|
||||||
|
- "traefik.http.routers.nextcloud.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.nextcloud.loadbalancer.passhostheader=true"
|
||||||
|
- "traefik.http.routers.nextcloud.middlewares=compresstraefik"
|
||||||
|
- "traefik.http.middlewares.compresstraefik.compress=true"
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/nextcloud/www:/var/www/html
|
- ./data/nextcloud/www:/var/www/html
|
||||||
- ./default-config/preview.config.php:/var/www/html/config/preview.config.php
|
#- ./default-config/preview.config.php:/var/www/html/config/preview.config.php
|
||||||
depends_on:
|
depends_on:
|
||||||
- clamav
|
#- clamav
|
||||||
- preview
|
- preview
|
||||||
- db
|
- db
|
||||||
- redis
|
- redis
|
||||||
|
@ -42,14 +47,38 @@ services:
|
||||||
- PORT=9000
|
- PORT=9000
|
||||||
command: -concurrency 50 -enable-url-source
|
command: -concurrency 50 -enable-url-source
|
||||||
|
|
||||||
clamav:
|
collabora-code:
|
||||||
image: "clamav/clamav:stable_base"
|
image: collabora/code
|
||||||
container_name: "clamav"
|
container_name: collabora-code
|
||||||
networks:
|
cap_add:
|
||||||
- nextcloud
|
- MKNOD
|
||||||
volumes:
|
ports:
|
||||||
- ./data/clamav/virus_db:/var/lib/clamav/ # Virus database
|
- 9980:9980
|
||||||
|
environment:
|
||||||
|
- "domain=cloud\\.dev\\.mertens\\.digital"
|
||||||
|
- username=admin
|
||||||
|
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
|
||||||
|
- password=CREATE-A-SECURE-PASSWORD-HERE
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
labels:
|
||||||
|
- "traefik.enable=true"
|
||||||
|
- "traefik.http.routers.collabora.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.collabora.rule=Host(`${COLLABORA_FQDN}`)"
|
||||||
|
- "traefik.http.routers.collabora.tls=true"
|
||||||
|
- "traefik.http.routers.collabora.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.collabora.loadbalancer.server.port=9980"
|
||||||
|
#- "traefik.http.services.collabora.loadbalancer.passhostheader=true"
|
||||||
|
networks:
|
||||||
|
- proxy
|
||||||
|
|
||||||
|
# clamav:
|
||||||
|
# image: "clamav/clamav:stable_base"
|
||||||
|
# container_name: "clamav"
|
||||||
|
# networks:
|
||||||
|
# - nextcloud
|
||||||
|
# volumes:
|
||||||
|
# - ./data/clamav/virus_db:/var/lib/clamav/ # Virus database
|
||||||
|
# restart: unless-stopped
|
||||||
|
|
||||||
# Does Not Work
|
# Does Not Work
|
||||||
#notify_push:
|
#notify_push:
|
||||||
|
@ -89,12 +118,12 @@ services:
|
||||||
|
|
||||||
|
|
||||||
db:
|
db:
|
||||||
container_name: db
|
|
||||||
image: postgres:alpine
|
image: postgres:alpine
|
||||||
restart: always
|
restart: always
|
||||||
networks:
|
networks:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
environment:
|
environment:
|
||||||
|
POSTGRES_DB: nextcloud
|
||||||
POSTGRES_USER: ${POSTGRES_USER}
|
POSTGRES_USER: ${POSTGRES_USER}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -111,5 +140,5 @@ services:
|
||||||
networks:
|
networks:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
internal: true
|
internal: true
|
||||||
caddy:
|
proxy:
|
||||||
external: true
|
external: true
|
Loading…
Reference in a new issue