Compare commits

..

5 Commits

8 changed files with 71 additions and 918 deletions
+31 -30
View File
@@ -1,35 +1,36 @@
services:
nextcloud-aio-mastercontainer:
image: ghcr.io/nextcloud-releases/all-in-one:latest # This is the container image used. You can switch to ghcr.io/nextcloud-releases/all-in-one:beta if you want to help testing new releases. See https://github.com/nextcloud/all-in-one#how-to-switch-the-channel
image: ghcr.io/nextcloud-releases/all-in-one:latest
init: true # This setting makes sure that signals from main process inside the container are correctly forwarded to children. See https://docs.docker.com/reference/compose-file/services/#init
restart: unless-stopped # This makes sure that the container starts always together with the host OS. See https://docs.docker.com/reference/compose-file/services/#restart
container_name: nextcloud-aio-mastercontainer # This line is not allowed to be changed as otherwise AIO will not work correctly
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer # Do not change
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # This line is not allowed to be changed as otherwise the built-in backup solution will not work
- /var/run/docker.sock:/var/run/docker.sock:ro # May be changed on macOS, Windows or docker rootless. See the applicable documentation. If adjusting, don't forget to also set 'WATCHTOWER_DOCKER_SOCKET_PATH'!
# network_mode: bridge # This adds the container to the same network as docker run would do. Comment this line and uncomment the line below and the networks section at the end of the file if you want to define a custom MTU size for the docker network
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config # Do not change (backup)
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- nextcloud-aio
- traefik-proxy # Optional: Connects the mastercontainer to the traefik-proxy network in order to make the built-in reverse proxy detection work.
- traefik-proxy # Optional: Connects the mastercontainer to the traefik-proxy network in order to make the built-in reverse proxy detection work. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# ports:
# - 8081:80 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - 8888:8080 # This is the AIO interface, served via https and self-signed certificate. See https://github.com/nextcloud/all-in-one#explanation-of-used-ports
# - 8443:8443 # Can be removed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
# - 8081:80 # may be removed if under reverse-proxy
# - 8443:8443
# - 8888:8080 # AIO
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-proxy"
# Prod Router - DISABLED per user request
# AIO Services configuration
- "traefik.http.services.nextcloud-aio.loadbalancer.server.port=8080"
- "traefik.http.services.nextcloud-aio.loadbalancer.server.scheme=https"
- "traefik.http.services.nextcloud-aio.loadbalancer.serverstransport=insecureTransport@file"
# Prod Router
# - "traefik.http.routers.nextcloud-aio.rule=Host(`nextcloud-aio.forust.xyz`)"
# - "traefik.http.routers.nextcloud-aio.entrypoints=websecure"
# - "traefik.http.routers.nextcloud-aio.middlewares=security-headers"
# - "traefik.http.routers.nextcloud-aio.service=nextcloud-aio"
# - "traefik.http.routers.nextcloud-aio.tls=true"
- "traefik.http.services.nextcloud-aio.loadbalancer.server.port=8080"
- "traefik.http.services.nextcloud-aio.loadbalancer.server.scheme=https"
- "traefik.http.services.nextcloud-aio.loadbalancer.serverstransport=insecureTransport@file"
# - "traefik.http.services.nextcloud-aio.loadbalancer.serverstransport=insecureTransport@file"
# Local Router
- "traefik.http.routers.nextcloud-aio-local.rule=Host(`nextcloud-aio.workstation.internal`) || Host(`nextcloud-aio.internal`)"
@@ -45,34 +46,34 @@ services:
- "traefik.http.routers.nextcloud-aio-dev.service=nextcloud-aio"
- "traefik.http.routers.nextcloud-aio-dev.tls=true"
# Glanceapp/glance config
- glance.name=Nextcloud
# - glance.icon=si:nextcloud
- glance.url=https://nextcloud.forust.xyz/
- glance.description=Nextcloud is a suite of client-server software for creating and using file hosting services.
environment:
# Is needed when using any of the options below
AIO_DISABLE_BACKUP_SECTION: false # Setting this to true allows to hide the backup section in the AIO interface. See https://github.com/nextcloud/all-in-one#how-to-disable-the-backup-section
AIO_DISABLE_BACKUP_SECTION: false
APACHE_PORT: 11000 # Is needed when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else). See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
APACHE_IP_BINDING: 0.0.0.0 # Should be set when running behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) that is running on the same host. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
APACHE_ADDITIONAL_NETWORK: traefik-proxy # (Optional) Connect the apache container to an additional docker network. Needed when behind a web server or reverse proxy (like Apache, Nginx, Caddy, Cloudflare Tunnel and else) running in a different docker network on same server. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Allows to adjust borgs retention policy. See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
APACHE_IP_BINDING: 0.0.0.0 # Configure when going with reverse-proxy https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
APACHE_ADDITIONAL_NETWORK: traefik-proxy # (Optional) Connect the apache container to an additional docker network. When going with reverse-proxy. See https://github.com/nextcloud/all-in-one/blob/main/reverse-proxy.md
BORG_RETENTION_POLICY: --keep-within=7d --keep-weekly=4 --keep-monthly=6 # Backup retention See https://github.com/nextcloud/all-in-one#how-to-adjust-borgs-retention-policy
COLLABORA_SECCOMP_DISABLED: false # Setting this to true allows to disable Collabora's Seccomp feature. See https://github.com/nextcloud/all-in-one#how-to-disable-collaboras-seccomp-feature
FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # Allows to adjust the fulltextsearch java options. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options
FULLTEXTSEARCH_JAVA_OPTIONS: "-Xms1024M -Xmx1024M" # adjust fulltextsearch java options. https://github.com/nextcloud/all-in-one#how-to-adjust-the-fulltextsearch-java-options
NEXTCLOUD_DATADIR: /media/forust/nextcloud/ncdata # Allows to set the host directory for Nextcloud's datadir. ⚠️⚠️⚠️ Warning: do not set or adjust this value after the initial Nextcloud installation is done! See https://github.com/nextcloud/all-in-one#how-to-change-the-default-location-of-nextclouds-datadir
NEXTCLOUD_MOUNT: /media/forust/nextcloud # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
NEXTCLOUD_UPLOAD_LIMIT: 16G # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
NEXTCLOUD_MAX_TIME: 3600 # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
NEXTCLOUD_MOUNT: /mnt/ # Allows the Nextcloud container to access the chosen directory on the host. See https://github.com/nextcloud/all-in-one#how-to-allow-the-nextcloud-container-to-access-directories-on-the-host
NEXTCLOUD_UPLOAD_LIMIT: 16G # https://github.com/nextcloud/all-in-one#how-to-adjust-the-upload-limit-for-nextcloud
NEXTCLOUD_MAX_TIME: 7200 # Max uploading time See https://github.com/nextcloud/all-in-one#how-to-adjust-the-max-execution-time-for-nextcloud
NEXTCLOUD_MEMORY_LIMIT: 512M # Can be adjusted if you need more. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-php-memory-limit-for-nextcloud
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts # CA certificates in this directory will be trusted by the OS of the nextcloud container (Useful e.g. for LDAPS) See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
# NEXTCLOUD_TRUSTED_CACERTS_DIR: /path/to/my/cacerts # CA certificates will be trusted by the OS of the nextcloud container See https://github.com/nextcloud/all-in-one#how-to-trust-user-defined-certification-authorities-ca
NEXTCLOUD_STARTUP_APPS: deck twofactor_totp tasks calendar contacts notes # Allows to modify the Nextcloud apps that are installed on starting AIO the first time. See https://github.com/nextcloud/all-in-one#how-to-change-the-nextcloud-apps-that-are-installed-on-the-first-startup
NEXTCLOUD_ADDITIONAL_APKS: imagemagick # This allows to add additional packages to the Nextcloud container permanently. Default is imagemagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-os-packages-permanently-to-the-nextcloud-container
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # This allows to add additional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
NEXTCLOUD_ADDITIONAL_PHP_EXTENSIONS: imagick # dditional php extensions to the Nextcloud container permanently. Default is imagick but can be overwritten by modifying this value. See https://github.com/nextcloud/all-in-one#how-to-add-php-extensions-permanently-to-the-nextcloud-container
NEXTCLOUD_ENABLE_DRI_DEVICE: true # This allows to enable the /dev/dri device for containers that profit from it. ⚠️⚠️⚠️ Warning: this only works if the '/dev/dri' device is present on the host! If it should not exist on your host, don't set this to true as otherwise the Nextcloud container will fail to start! See https://github.com/nextcloud/all-in-one#how-to-enable-hardware-acceleration-for-nextcloud
# NEXTCLOUD_KEEP_DISABLED_APPS: false # Setting this to true will keep Nextcloud apps that are disabled in the AIO interface and not uninstall them if they should be installed. See https://github.com/nextcloud/all-in-one#how-to-keep-disabled-apps
SKIP_DOMAIN_VALIDATION: false # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-skip-the-domain-validation
SKIP_DOMAIN_VALIDATION: true # This should only be set to true if things are correctly configured. See https://github.com/nextcloud/all-in-one?tab=readme-ov-file#how-to-skip-the-domain-validation
# TALK_PORT: 3478 # This a-llows to adjust the port that the talk container is using which is exposed on the host. See https://github.com/nextcloud/all-in-one#how-to-adjust-the-talk-port
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. Otherwise mastercontainer updates will fail. For macos it needs to be '/var/run/docker.sock'
# WATCHTOWER_DOCKER_SOCKET_PATH: /var/run/docker.sock # Needs to be specified if the docker socket on the host is not located in the default '/var/run/docker.sock'. For macos it needs to be '/var/run/docker.sock'
networks:
traefik-proxy:
@@ -83,4 +84,4 @@ networks:
volumes:
# If you want to store the data on a different drive, see https://github.com/nextcloud/all-in-one#how-to-store-the-filesinstallation-on-a-separate-drive
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer # This line is not allowed to be changed as otherwise the built-in backup solution will not work
name: nextcloud_aio_mastercontainer # Do not change
-328
View File
@@ -1,328 +0,0 @@
http:
routers:
# Traefik Dashboard (ADMIN, local only)
traefik-dashboard:
rule: "Host(`traefik.workstation`)"
entryPoints:
- websecure
service: api@internal
middlewares:
# - auth
- security-headers
tls: {}
# Nextcloud AIO Interface (ADMIN, local is better)
nextcloud-aio:
rule: "Host(`nextcloud-aio.workstation`)"
entryPoints:
- websecure
service: nextcloud-aio
middlewares:
- security-headers
tls: {}
# Termix (public (account required))
termix:
rule: "Host(`termix.forust.xyz`)"
entryPoints:
- websecure
service: termix
middlewares:
- security-headers
tls: {}
# MeTube
metube:
rule: "Host(`metube.forust.xyz`)"
entryPoints:
- websecure
service: metube
middlewares:
- metube-auth
- security-headers
tls: {}
# Portainer (public (account required))
portainer:
rule: "Host(`portainer.forust.xyz`)"
entryPoints:
- websecure
service: portainer
middlewares:
- security-headers
tls: {}
# Uptime Kuma
uptime-kuma:
rule: "Host(`uptime.forust.xyz`)"
entryPoints:
- websecure
service: uptime-kuma
tls: {}
# AdGuard Home (public (account required))
adguard:
rule: "Host(`adguard.forust.xyz`)"
entryPoints:
- websecure
service: adguard
middlewares:
- security-headers
tls: {}
# Nextcloud Main (public (account required))
nextcloud:
rule: "Host(`nextcloud.forust.xyz`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Dockmon (public (account required))
dockmon:
rule: "Host(`dockmon.forust.xyz`)"
entryPoints:
- websecure
service: dockmon
middlewares:
# - dockmon-auth
- security-headers
tls: {}
# Gitea (public (account required))
gitea:
rule: "Host(`gitea.forust.xyz`)"
entryPoints:
- websecure
- ssh
service: gitea
middlewares:
- security-headers
tls: {}
# # Glance (local only)
# glance:
# rule: "Host(`glance.workstation`)"
# entryPoints:
# - websecure
# service: glance
# middlewares:
# - security-headers
# tls: {}
# Watercrawl (local only)
watercrawl:
rule: "Host(`watercrawl.workstation`)"
entryPoints:
- websecure
service: watercrawl
middlewares:
- security-headers
tls: {}
# N8N (local only)
n8n:
rule: "Host(`n8n.workstation`)"
entryPoints:
- websecure
service: n8n
middlewares:
- security-headers
tls: {}
services:
# Portainer
portainer:
loadBalancer:
servers:
- url: "https://portainer:9443"
serversTransport: insecureTransport
# AdGuard Home
adguard:
loadBalancer:
servers:
- url: "http://adguardhome:3000"
# Nextcloud AIO Interface
nextcloud-aio:
loadBalancer:
servers:
- url: "https://nextcloud-aio-mastercontainer:8080"
serversTransport: insecureTransport
# Nextcloud Main
nextcloud:
loadBalancer:
servers:
- url: "http://nextcloud-aio-apache:11000"
# Uptime Kuma
uptime-kuma:
loadBalancer:
servers:
- url: "http://uptime-kuma:3001"
# Termix
termix:
loadBalancer:
servers:
- url: "http://termix:8080"
# Dockmon
dockmon:
loadBalancer:
servers:
- url: "https://dockmon:443"
serversTransport: insecureTransport
# # Glance
# glance:
# loadBalancer:
# servers:
# - url: "http://glance:8080"
# Watercrawl
watercrawl:
loadBalancer:
servers:
- url: "http://nginx:80"
# N8N
n8n:
loadBalancer:
servers:
- url: "http://n8n:5678"
# Gitea
gitea:
loadBalancer:
servers:
- url: "http://gitea:3000"
# MeTube
metube:
loadBalancer:
servers:
- url: "http://metube:8081"
serversTransports:
insecureTransport:
insecureSkipVerify: true
middlewares:
# HTTPS Redirect
redirect-https:
redirectScheme:
scheme: https
permanent: true
# Metube Basic Auth
metube-auth:
basicAuth:
users:
- "admin:$2y$05$3Q6gyLFW3NFNp4C6elnyfupntqB6VNB/tcIAeo8NEzvaqPxOjN0iC"
# - "jeepik:$2y$05$tIKrmhd7SYOe6yImRRAfpen7hpVdF8PnSbgBTCDZ.GI0Djx.Le2bq"
realm: "MeTube Access"
# Basic Auth Traefik Dashboard
auth:
basicAuth:
users:
- "admin:$$apr1$$57E60OUM$$JoYwmLr/uZKaTy6U4IQd9."
# - "jeepik:$2y$05$Q8QqJwSjpycVYONyk4id/.rDFApW9oL8tycRMlGttNySsDv71Rnsu"
# - "vv:"
realm: "Traefik Dashboard"
# Basic Auth Dockmon
dockmon-auth:
basicAuth:
users:
- "admin:$$apr1$$.bCpmIHl$$dxPEKdw5aZLAwo8wUz52b1"
realm: "Dockmon Access"
# Cloudflare IP Whitelist
cloudflare-ipwhitelist:
ipWhiteList:
sourceRange:
- "173.245.48.0/20"
- "103.21.244.0/22"
- "103.22.200.0/22"
- "103.31.4.0/22"
- "141.101.64.0/18"
- "108.162.192.0/18"
- "190.93.240.0/20"
- "188.114.96.0/20"
- "197.234.240.0/22"
- "198.41.128.0/17"
- "162.158.0.0/15"
- "104.16.0.0/13"
- "104.24.0.0/14"
- "172.64.0.0/13"
- "131.0.72.0/22"
# Security Headers
security-headers:
headers:
browserXssFilter: true
contentTypeNosniff: true
forceSTSHeader: true
stsIncludeSubdomains: true
stsPreload: true
stsSeconds: 31536000
customFrameOptionsValue: "SAMEORIGIN"
customResponseHeaders:
X-Content-Type-Options: "nosniff"
Referrer-Policy: "strict-origin-when-cross-origin"
# Nextcloud specific headers
nextcloud-secure-headers:
headers:
hostsProxyHeaders:
- "X-Forwarded-Host"
- "X-Forwarded-Proto"
referrerPolicy: "same-origin"
customFrameOptionsValue: "SAMEORIGIN"
# Rate limiting
rate-limit:
rateLimit:
average: 100
burst: 50
period: 1m
# Nextcloud chain
nextcloud-chain:
chain:
middlewares:
- nextcloud-secure-headers
- security-headers
# TLS Configuration
tls:
certificates:
# Cloudflare Origin CA *.forust.xyz
- certFile: /certs/cloudflare.pem
keyFile: /certs/cloudflare.key
# Local certificate
- certFile: /certs/workstation+1.pem
keyFile: /certs/workstation+1-key.pem
stores:
default:
defaultCertificate:
# Fallback local certificate
certFile: /certs/workstation+1.pem
keyFile: /certs/workstation+1-key.pem
options:
default:
minVersion: VersionTLS12
sniStrict: true
cipherSuites:
- TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
-17
View File
@@ -2,20 +2,3 @@ http:
serversTransports:
insecureTransport:
insecureSkipVerify: true
routers:
# Nextcloud Main (public (account required))
nextcloud:
rule: "Host(`nextcloud.forust.xyz`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
services:
# Nextcloud Main
nextcloud:
loadBalancer:
servers:
- url: "http://nextcloud-aio-apache:11000"
+40
View File
@@ -0,0 +1,40 @@
http:
routers:
# Nextcloud prod
nextcloud:
rule: "Host(`nextcloud.forust.xyz`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Nextcloud dev
nextcloud-local:
rule: "Host(`nextcloud.workstation.internal`)"
entrypoints:
- websecure
- web
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Nextcloud dev
nextcloud-dev:
rule: "Host(`nextcloud.gigaforust.internal`)"
entrypoints:
- websecure
- web
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
services:
# Nextcloud Main
nextcloud:
loadBalancer:
servers:
- url: "http://nextcloud-aio-apache:11000"
-153
View File
@@ -1,153 +0,0 @@
http:
routers:
# Traefik Dashboard (dev access. local only)
traefik-dashboard-dev:
rule: "Host(`traefik.gigaforust`)"
entryPoints:
- websecure
service: api@internal
middlewares:
# - auth
- security-headers
tls: {}
# Nextcloud AIO Interface (dev access. local only)
nextcloud-aio-dev:
rule: "Host(`nextcloud-aio.gigaforust`)"
entryPoints:
- websecure
service: nextcloud-aio
middlewares:
- security-headers
tls: {}
# Termix (dev access, (account required))
termix-dev:
rule: "Host(`termix.gigaforust`)"
entryPoints:
- websecure
service: termix
middlewares:
- security-headers
tls: {}
# MeTube (dev access, (auth required))
metube-dev:
rule: "Host(`metube.gigaforust`)"
entryPoints:
- websecure
service: metube
middlewares:
- metube-auth
- security-headers
tls: {}
# Portainer (dev acess, (account required))
portainer-dev:
rule: "Host(`portainer.gigaforust`)"
entryPoints:
- websecure
service: portainer
middlewares:
- security-headers
tls: {}
# Uptime Kuma (dev access, (account required))
uptime-kuma-dev:
rule: "Host(`uptime.gigaforust`)"
entryPoints:
- websecure
service: uptime-kuma
tls: {}
# AdGuard Home (dev access, (account required))
adguard-dev:
rule: "Host(`adguard.gigaforust`)"
entryPoints:
- websecure
service: adguard
middlewares:
- security-headers
tls: {}
# Nextcloud Main (public (account required))
nextcloud-dev:
rule: "Host(`nextcloud.gigaforust`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Dockmon (dev access (account required))
dockmon-dev:
rule: "Host(`dockmon.gigaforust`)"
entryPoints:
- websecure
service: dockmon
middlewares:
- security-headers
tls: {}
# Gitea (dev access (account required))
gitea-dev:
rule: "Host(`gitea.gigaforust`)"
entryPoints:
- websecure
- ssh
service: gitea
middlewares:
- security-headers
tls: {}
# Glance (dev access, local only)
glance-dev:
rule: "Host(`glance.gigaforust`)"
entryPoints:
- websecure
service: glance
middlewares:
- security-headers
tls: {}
# Watercrawl (dev access, local only)
watercrawl-dev:
rule: "Host(`watercrawl.gigaforust`)"
entryPoints:
- websecure
service: watercrawl
middlewares:
- security-headers
tls: {}
# N8N (local only)
n8n-dev:
rule: "Host(`n8n.gigaforust`)"
entryPoints:
- websecure
service: n8n
middlewares:
- security-headers
tls: {}
# Landing Page (public)
forust-homepage-dev:
rule: "Host(`landing.gigaforust`)"
entryPoints:
- websecure
service: forust-homepage
middlewares:
- security-headers
tls: {}
# Penpot
penpot-dev:
rule: "Host(`penpot.gigaforust`)"
entryPoints:
- websecure
- web
service: penpot
middlewares:
- security-headers
tls: {}
-152
View File
@@ -1,152 +0,0 @@
http:
routers:
# Traefik Dashboard (local access, ADMIN, local only)
traefik-dashboard-local:
rule: "Host(`traefik.workstation`)"
entryPoints:
- websecure
service: api@internal
middlewares:
# - auth
- security-headers
tls: {}
# Nextcloud AIO Interface (local access. ADMIN, local only)
nextcloud-aio-local:
rule: "Host(`nextcloud-aio.workstation`)"
entryPoints:
- websecure
service: nextcloud-aio
middlewares:
- security-headers
tls: {}
# Termix (local access, (account required))
termix-local:
rule: "Host(`termix.workstation`)"
entryPoints:
- websecure
service: termix
middlewares:
- security-headers
tls: {}
# MeTube (local access, (auth required))
metube-local:
rule: "Host(`metube.workstation`)"
entryPoints:
- websecure
service: metube
middlewares:
- metube-auth
- security-headers
tls: {}
# Portainer (dev acess, (account required))
portainer-local:
rule: "Host(`portainer.workstation`)"
entryPoints:
- websecure
service: portainer
middlewares:
- security-headers
tls: {}
# Uptime Kuma (local access, (account required))
uptime-kuma-local:
rule: "Host(`uptime.workstation`)"
entryPoints:
- websecure
service: uptime-kuma
tls: {}
# AdGuard Home (local access, (account required))
adguard-local:
rule: "Host(`adguard.workstation`)"
entryPoints:
- websecure
service: adguard
middlewares:
- security-headers
tls: {}
# Nextcloud Main (public (account required))
nextcloud-local:
rule: "Host(`nextcloud.workstation`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Nextcloud Main (public (account required))
penpot-local:
rule: "Host(`penpot.workstation`)"
entrypoints:
- websecure
service: penpot
middlewares:
- security-headers
tls: {}
# Dockmon (local access (account required))
dockmon-local:
rule: "Host(`dockmon.workstation`)"
entryPoints:
- websecure
service: dockmon
middlewares:
- security-headers
tls: {}
# Gitea (local access (account required))
gitea-local:
rule: "Host(`gitea.workstation`)"
entryPoints:
- websecure
- ssh
service: gitea
middlewares:
- security-headers
tls: {}
# Glance (local access)
glance-local:
rule: "Host(`glance.workstation`)"
entryPoints:
- websecure
service: glance
middlewares:
- security-headers
tls: {}
# Watercrawl (local access)
watercrawl-local:
rule: "Host(`watercrawl.workstation`)"
entryPoints:
- websecure
service: watercrawl
middlewares:
- security-headers
tls: {}
# N8N (local only)
n8n-local:
rule: "Host(`n8n.workstation`)"
entryPoints:
- websecure
service: n8n
middlewares:
- security-headers
tls: {}
# Landing Page (local access)
forust-homepage-local:
rule: "Host(`landing.workstation`)"
entryPoints:
- websecure
service: forust-homepage
middlewares:
- security-headers
tls: {}
-152
View File
@@ -1,152 +0,0 @@
http:
routers:
# Traefik Dashboard (ADMIN, without subdomeain)
traefik-dashboard:
rule: "Host(`traefik.forust.xyz`)"
entryPoints:
- websecure
service: api@internal
middlewares:
- auth
- security-headers
tls: {}
# Nextcloud AIO Interface (ADMIN, without subdomeain)
nextcloud-aio:
rule: "Host(`nextcloud-aio.forust.xyz`)"
entryPoints:
- websecure
service: nextcloud-aio
middlewares:
- security-headers
tls: {}
# Nextcloud AIO Interface (ADMIN, without subdomeain)
penpot:
rule: "Host(`penpot.forust.xyz`)"
entryPoints:
- websecure
service: penpot
middlewares:
- security-headers
tls: {}
# Termix (public (account required))
termix:
rule: "Host(`termix.forust.xyz`)"
entryPoints:
- websecure
service: termix
middlewares:
- security-headers
tls: {}
# MeTube (public (auth required))
metube:
rule: "Host(`metube.forust.xyz`)"
entryPoints:
- websecure
service: metube
middlewares:
- metube-auth
- security-headers
tls: {}
# Portainer (public (account required))
portainer:
rule: "Host(`portainer.forust.xyz`)"
entryPoints:
- websecure
service: portainer
middlewares:
- security-headers
tls: {}
# Uptime Kuma (public (account required))
uptime-kuma:
rule: "Host(`uptime.forust.xyz`)"
entryPoints:
- websecure
service: uptime-kuma
tls: {}
# AdGuard Home (public (account required))
adguard:
rule: "Host(`adguard.forust.xyz`)"
entryPoints:
- websecure
service: adguard
middlewares:
- security-headers
tls: {}
# Nextcloud Main (public (account required))
nextcloud:
rule: "Host(`nextcloud.forust.xyz`)"
entrypoints:
- websecure
service: nextcloud
middlewares:
- nextcloud-chain
tls: {}
# Dockmon (public (account required))
dockmon:
rule: "Host(`dockmon.forust.xyz`)"
entryPoints:
- websecure
service: dockmon
middlewares:
- security-headers
tls: {}
# Gitea (public (account required))
gitea:
rule: "Host(`gitea.forust.xyz`)"
entryPoints:
- websecure
- ssh
service: gitea
middlewares:
- security-headers
tls: {}
# Glance (public, without subdomain)
glance:
rule: "Host(`glance.forust.xyz`)"
entryPoints:
- websecure
service: glance
middlewares:
- security-headers
tls: {}
# Watercrawl (public, without subdomain)
watercrawl:
rule: "Host(`watercrawl.fourst.xyz`)"
entryPoints:
- websecure
service: watercrawl
middlewares:
- security-headers
tls: {}
# N8N (public, without subdomain)
n8n:
rule: "Host(`n8n.forust.xyz`)"
entryPoints:
- websecure
service: n8n
middlewares:
- security-headers
tls: {}
# Landing Page (public)
forust-homepage:
rule: "Host(`forust.xyz`)"
entryPoints:
- websecure
service: forust-homepage
middlewares:
- security-headers
tls: {}
-86
View File
@@ -1,86 +0,0 @@
http:
services:
# Portainer
portainer:
loadBalancer:
servers:
- url: "https://portainer:9443"
serversTransport: insecureTransport
# AdGuard Home
adguard:
loadBalancer:
servers:
- url: "http://adguardhome:3000"
# Nextcloud AIO Interface
nextcloud-aio:
loadBalancer:
servers:
- url: "https://nextcloud-aio-mastercontainer:8080"
serversTransport: insecureTransport
# Penpot
penpot:
loadBalancer:
servers:
- url: "http://penpot-frontend:8080"
# Nextcloud Main
nextcloud:
loadBalancer:
servers:
- url: "http://nextcloud-aio-apache:11000"
# Uptime Kuma
uptime-kuma:
loadBalancer:
servers:
- url: "http://uptime-kuma:3001"
# Termix
termix:
loadBalancer:
servers:
- url: "http://termix:8080"
# Dockmon
dockmon:
loadBalancer:
servers:
- url: "https://dockmon:443"
serversTransport: insecureTransport
# Glance
glance:
loadBalancer:
servers:
- url: "http://glance:8080"
# Watercrawl
watercrawl:
loadBalancer:
servers:
- url: "http://nginx:80"
# N8N
n8n:
loadBalancer:
servers:
- url: "http://n8n:5678"
# Gitea
gitea:
loadBalancer:
servers:
- url: "http://gitea:3000"
# MeTube
metube:
loadBalancer:
servers:
- url: "http://metube:8081"
# Landing Page
forust-homepage:
loadBalancer:
servers:
- url: "http://forust-homepage:80"