Compare commits

..

2 commits

9 changed files with 46 additions and 45 deletions

View file

@ -3,14 +3,14 @@ services:
syncserver: syncserver:
image: mozilla/syncserver:latest image: mozilla/syncserver:latest
volumes: volumes:
- ${VOLUMES_PATH}/firefoxsync/syncserver:/data - ${STORAGE_PATH}/syncserver:/data
user: ${UID}:${GID} user: ${UID}:${GID}
networks: networks:
- web - web
- firefoxsync - firefoxsync
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.ffs.rule=Host(`firefoxsync.${DOMAIN}`)" - "traefik.http.routers.ffs.rule=Host(`${FQDN_FIREFOXSYNC}`)"
- "traefik.http.routers.ffs.entrypoints=websecure" - "traefik.http.routers.ffs.entrypoints=websecure"
- "traefik.http.routers.ffs.tls.certresolver=netcup" - "traefik.http.routers.ffs.tls.certresolver=netcup"
- "traefik.http.routers.ffs.tls.options=intermediate@file" - "traefik.http.routers.ffs.tls.options=intermediate@file"
@ -18,7 +18,7 @@ services:
- "docker.group=firefoxsync" - "docker.group=firefoxsync"
restart: unless-stopped restart: unless-stopped
environment: environment:
- SYNCSERVER_PUBLIC_URL=https://firefoxsync.${DOMAIN} - SYNCSERVER_PUBLIC_URL=https://${FQDN_FIREFOXSYNC}
- SYNCSERVER_SECRET=&{SECRET} - SYNCSERVER_SECRET=&{SECRET}
- SYNCSERVER_SQLURI=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB} - SYNCSERVER_SQLURI=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db/${POSTGRES_DB}
- SYNCSERVER_BATCH_UPLOAD_ENABLED=true - SYNCSERVER_BATCH_UPLOAD_ENABLED=true
@ -38,7 +38,7 @@ services:
networks: networks:
- firefoxsync - firefoxsync
volumes: volumes:
- ${VOLUMES_PATH}/firefoxsync/db:/var/lib/postgresql/data - ${STORAGE_PATH}/db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s interval: 10s

View file

@ -3,7 +3,7 @@ services:
forgejo: forgejo:
image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION} image: codeberg.org/forgejo/forgejo:${FORGEJO_VERSION}
volumes: volumes:
- ${VOLUMES_PATH}/git/forgejo_data:/data - ${STORAGE_PATH}/forgejo_data:/data
- /etc/timezone:/etc/timezone:ro - /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro - /etc/localtime:/etc/localtime:ro
ports: ports:
@ -29,13 +29,13 @@ services:
timeout: 3s timeout: 3s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.forgejo.rule=Host(`gitea.${DOMAIN}`, `git.${DOMAIN}`)" - "traefik.http.routers.forgejo.rule=Host(`${FQDN_GIT}`, `${FQDN_GIT_OLD}`)"
- "traefik.http.routers.forgejo.entrypoints=websecure" - "traefik.http.routers.forgejo.entrypoints=websecure"
- "traefik.http.routers.forgejo.tls.certresolver=netcup" - "traefik.http.routers.forgejo.tls.certresolver=netcup"
- "traefik.http.routers.forgejo.tls.options=intermediate@file" - "traefik.http.routers.forgejo.tls.options=intermediate@file"
- "traefik.http.routers.forgejo.middlewares=gitearedir" - "traefik.http.routers.forgejo.middlewares=gitearedir"
- "traefik.http.middlewares.gitearedir.redirectregex.regex=^https://gitea.${DOMAIN}/(.*)" - "traefik.http.middlewares.gitearedir.redirectregex.regex=^https://${FQDN_GIT_OLD}/(.*)"
- "traefik.http.middlewares.gitearedir.redirectregex.replacement=https://git.${DOMAIN}/$${1}" - "traefik.http.middlewares.gitearedir.redirectregex.replacement=https://${FQDN_GIT}/$${1}"
- "traefik.http.middlewares.gitearedir.redirectregex.permanent=true" - "traefik.http.middlewares.gitearedir.redirectregex.permanent=true"
- "traefik.http.services.forgejo.loadbalancer.server.port=3000" - "traefik.http.services.forgejo.loadbalancer.server.port=3000"
- "docker.group=git" - "docker.group=git"
@ -51,7 +51,7 @@ services:
networks: networks:
- git - git
volumes: volumes:
- ${VOLUMES_PATH}/git/forgejo_db:/var/lib/postgresql/data - ${STORAGE_PATH}/forgejo_db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"] test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
interval: 10s interval: 10s

View file

@ -15,14 +15,14 @@ services:
- CREATE_ADMIN=1 - CREATE_ADMIN=1
- ADMIN_USERNAME=${ADMIN_USER} - ADMIN_USERNAME=${ADMIN_USER}
- ADMIN_PASSWORD=${ADMIN_PASSWORD} - ADMIN_PASSWORD=${ADMIN_PASSWORD}
- BASE_URL=https://news.${DOMAIN} - BASE_URL=https://${FQDN_NEWS}
- POLLING_FREQUENCY=15 # minutes - POLLING_FREQUENCY=15 # minutes
# - LOG_LEVEL=debug # - LOG_LEVEL=debug
healthcheck: healthcheck:
test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"] test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"]
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.news.rule=Host(`news.${DOMAIN}`)" - "traefik.http.routers.news.rule=Host(`${FQDN_NEWS}`)"
- "traefik.http.routers.news.entrypoints=websecure" - "traefik.http.routers.news.entrypoints=websecure"
- "traefik.http.routers.news.tls.certresolver=netcup" - "traefik.http.routers.news.tls.certresolver=netcup"
- "traefik.http.routers.news.tls.options=intermediate@file" - "traefik.http.routers.news.tls.options=intermediate@file"
@ -40,7 +40,7 @@ services:
networks: networks:
- news - news
volumes: volumes:
- ${VOLUMES_PATH}/news/db:/var/lib/postgresql/data - ${STORAGE_PATH}/db:/var/lib/postgresql/data
healthcheck: healthcheck:
test: ["CMD", "pg_isready", "-U", "miniflux"] test: ["CMD", "pg_isready", "-U", "miniflux"]
interval: 10s interval: 10s

View file

@ -5,7 +5,7 @@ services:
depends_on: depends_on:
- app - app
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/html:/var/www/html:ro - ${STORAGE_PATH}/html:/var/www/html:ro
- $PWD/nginx.conf:/etc/nginx/nginx.conf:ro - $PWD/nginx.conf:/etc/nginx/nginx.conf:ro
restart: unless-stopped restart: unless-stopped
networks: networks:
@ -17,7 +17,7 @@ services:
# timeout: 3s # timeout: 3s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.nextcloud.rule=Host(`cloud.${DOMAIN}`)" - "traefik.http.routers.nextcloud.rule=Host(`${FQDN_NEXTCLOUD}`)"
- "traefik.http.routers.nextcloud.entrypoints=websecure" - "traefik.http.routers.nextcloud.entrypoints=websecure"
- "traefik.http.routers.nextcloud.tls.certresolver=netcup" - "traefik.http.routers.nextcloud.tls.certresolver=netcup"
- "traefik.http.routers.nextcloud.tls.options=intermediate@file" - "traefik.http.routers.nextcloud.tls.options=intermediate@file"
@ -38,15 +38,15 @@ services:
args: args:
- NC_MAIN_VERSION=${NC_MAIN_VERSION} - NC_MAIN_VERSION=${NC_MAIN_VERSION}
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/html:/var/www/html - ${STORAGE_PATH}/html:/var/www/html
- ${VOLUMES_PATH}/nextcloud/data:/var/www/html/data - ${STORAGE_PATH}/data:/var/www/html/data
- type: tmpfs - type: tmpfs
target: /tmp target: /tmp
restart: unless-stopped restart: unless-stopped
networks: networks:
- nextcloud - nextcloud
environment: environment:
- NEXTCLOUD_TRUSTED_DOMAINS=${NEXTCLOUD_TRUSTED_DOMAINS} - NEXTCLOUD_TRUSTED_TLDS=${FQDN_NEXTCLOUD}
- MYSQL_HOST=db - MYSQL_HOST=db
- MYSQL_PASSWORD=${MYSQL_PASSWORD} - MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE} - MYSQL_DATABASE=${MYSQL_DATABASE}
@ -70,8 +70,8 @@ services:
networks: networks:
- nextcloud - nextcloud
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/html:/var/www/html - ${STORAGE_PATH}/html:/var/www/html
- ${VOLUMES_PATH}/nextcloud/data:/var/www/html/data - ${STORAGE_PATH}/data:/var/www/html/data
entrypoint: /cron.sh entrypoint: /cron.sh
depends_on: depends_on:
- db - db
@ -89,15 +89,15 @@ services:
- web - web
- nextcloud - nextcloud
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/html:/var/www/html:ro - ${STORAGE_PATH}/html:/var/www/html:ro
- ${VOLUMES_PATH}/nextcloud/data:/var/www/html/data:ro - ${STORAGE_PATH}/data:/var/www/html/data:ro
environment: environment:
- PORT=7867 - PORT=7867
- NEXTCLOUD_URL=http://web - NEXTCLOUD_URL=http://web
entrypoint: /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php entrypoint: /var/www/html/custom_apps/notify_push/bin/x86_64/notify_push /var/www/html/config/config.php
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.ncpush.rule=Host(`cloud.${DOMAIN}`) && PathPrefix(`/push`)" - "traefik.http.routers.ncpush.rule=Host(`${FQDN_NEXTCLOUD}`) && PathPrefix(`/push`)"
- "traefik.http.routers.ncpush.entrypoints=websecure" - "traefik.http.routers.ncpush.entrypoints=websecure"
- "traefik.http.routers.ncpush.tls.certresolver=netcup" - "traefik.http.routers.ncpush.tls.certresolver=netcup"
- "traefik.http.routers.ncpush.tls.options=intermediate@file" - "traefik.http.routers.ncpush.tls.options=intermediate@file"
@ -111,7 +111,7 @@ services:
image: mariadb:${MARIADB_VERSION} image: mariadb:${MARIADB_VERSION}
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --skip-innodb-read-only-compressed
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/db:/var/lib/mysql - ${STORAGE_PATH}/db:/var/lib/mysql
restart: unless-stopped restart: unless-stopped
environment: environment:
- PUID=1000 - PUID=1000
@ -151,7 +151,7 @@ services:
# - db # - db
# labels: # labels:
# - "traefik.enable=true" # - "traefik.enable=true"
# - "traefik.http.routers.adminer.rule=Host(`adminer.${DOMAIN}`)" # - "traefik.http.routers.adminer.rule=Host(`${FQDN_ADMINER}`)"
# - "traefik.http.routers.adminer.entrypoints=websecure" # - "traefik.http.routers.adminer.entrypoints=websecure"
# - "traefik.http.routers.adminer.tls.certresolver=netcup" # - "traefik.http.routers.adminer.tls.certresolver=netcup"
# - "traefik.http.routers.adminer.tls.options=intermediate@file" # - "traefik.http.routers.adminer.tls.options=intermediate@file"
@ -167,7 +167,7 @@ services:
networks: networks:
- nextcloud - nextcloud
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/redis:/data - ${STORAGE_PATH}/redis:/data
healthcheck: healthcheck:
test: ["CMD", "redis-cli", "ping"] test: ["CMD", "redis-cli", "ping"]
interval: 5s interval: 5s
@ -189,14 +189,15 @@ services:
expose: expose:
- 9980 - 9980
environment: environment:
- domain=cloud.${DOMAIN} - domain=${FQDN_NEXTCLOUD}
- aliasgroup1=https://${FQDN_NEXTCLOUD}
- username=${COLLABORA_ADMIN_USER} - username=${COLLABORA_ADMIN_USER}
- password=${COLLABORA_ADMIN_PASSWORD} - password=${COLLABORA_ADMIN_PASSWORD}
- "extra_params=--o:ssl.enable=false --o:ssl.termination=true" - "extra_params=--o:ssl.enable=false --o:ssl.termination=true"
restart: unless-stopped restart: unless-stopped
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.collabora.rule=Host(`collabora.${DOMAIN}`)" - "traefik.http.routers.collabora.rule=Host(`${FQDN_OFFICE}`)"
- "traefik.http.routers.collabora.entrypoints=websecure" - "traefik.http.routers.collabora.entrypoints=websecure"
- "traefik.http.routers.collabora.tls.certresolver=netcup" - "traefik.http.routers.collabora.tls.certresolver=netcup"
- "traefik.http.routers.collabora.tls.options=intermediate@file" - "traefik.http.routers.collabora.tls.options=intermediate@file"
@ -211,7 +212,7 @@ services:
networks: networks:
- nextcloud - nextcloud
volumes: volumes:
- ${VOLUMES_PATH}/nextcloud/fonts:/usr/share/fonts/drawio - ${STORAGE_PATH}/fonts:/usr/share/fonts/drawio
restart: unless-stopped restart: unless-stopped
labels: labels:
- "docker.group=netxtcloud" - "docker.group=netxtcloud"
@ -225,7 +226,7 @@ services:
depends_on: depends_on:
- drawio-export - drawio-export
environment: environment:
- VIRTUAL_HOST=drawio.${DOMAIN} - VIRTUAL_HOST=${FQDN_DRAWIO}
- VIRTUAL_PORT=8080 - VIRTUAL_PORT=8080
- LETS_ENCRYPT_ENABLED=false - LETS_ENCRYPT_ENABLED=false
- EXPORT_URL=http://drawio-export:8000/ - EXPORT_URL=http://drawio-export:8000/
@ -238,7 +239,7 @@ services:
start_period: 20s start_period: 20s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.drawio.rule=Host(`drawio.${DOMAIN}`)" - "traefik.http.routers.drawio.rule=Host(`${FQDN_DRAWIO}`)"
- "traefik.http.routers.drawio.entrypoints=websecure" - "traefik.http.routers.drawio.entrypoints=websecure"
- "traefik.http.routers.drawio.tls.certresolver=netcup" - "traefik.http.routers.drawio.tls.certresolver=netcup"
- "traefik.http.routers.drawio.tls.options=intermediate@file" - "traefik.http.routers.drawio.tls.options=intermediate@file"

View file

@ -41,7 +41,7 @@ services:
- web - web
- dockersocket - dockersocket
volumes: volumes:
- ${VOLUMES_PATH}/proxy/letsencrypt:/letsencrypt - ${STORAGE_PATH}/letsencrypt:/letsencrypt
- $PWD/tls.toml:/etc/traefik/tls.toml - $PWD/tls.toml:/etc/traefik/tls.toml
healthcheck: healthcheck:
test: traefik healthcheck --ping test: traefik healthcheck --ping
@ -49,7 +49,7 @@ services:
timeout: 1s timeout: 1s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.dashboard.rule=Host(`traefik.${DOMAIN}`)" - "traefik.http.routers.dashboard.rule=Host(`${FQDN_TRAEFIK}`)"
- "traefik.http.routers.dashboard.service=api@internal" - "traefik.http.routers.dashboard.service=api@internal"
- "traefik.http.routers.dashboard.entrypoints=websecure" - "traefik.http.routers.dashboard.entrypoints=websecure"
- "traefik.http.routers.dashboard.tls.certresolver=netcup" - "traefik.http.routers.dashboard.tls.certresolver=netcup"
@ -88,7 +88,7 @@ services:
# - web # - web
# labels: # labels:
# - "traefik.enable=true" # - "traefik.enable=true"
# - "traefik.http.routers.whoami.rule=Host(`whoami.${DOMAIN}`)" # - "traefik.http.routers.whoami.rule=Host(`${FQDN_WHOAMI}`)"
# - "traefik.http.routers.whoami.entrypoints=websecure" # - "traefik.http.routers.whoami.entrypoints=websecure"
# - "traefik.http.routers.whoami.tls.certresolver=netcup" # - "traefik.http.routers.whoami.tls.certresolver=netcup"
# - "docker.group=proxy" # - "docker.group=proxy"

View file

@ -9,7 +9,7 @@ services:
- serve - serve
environment: environment:
- TZ=UTC - TZ=UTC
- NTFY_BASE_URL=https://push.${DOMAIN} - NTFY_BASE_URL=https://${FQDN_PUSH}
- NTFY_LISTEN_HTTP=0.0.0.0:80 - NTFY_LISTEN_HTTP=0.0.0.0:80
- NTFY_CACHE_FILE=/var/cache/ntfy/cache.db - NTFY_CACHE_FILE=/var/cache/ntfy/cache.db
- NTFY_CACHE_DURATION=24h - NTFY_CACHE_DURATION=24h
@ -22,11 +22,11 @@ services:
- NTFY_ENABLE_LOGIN=true - NTFY_ENABLE_LOGIN=true
- NTFY_ENABLE_RESERVATIONS=false - NTFY_ENABLE_RESERVATIONS=false
volumes: volumes:
- ${VOLUMES_PATH}/push/ntfy/cache/:/var/cache/ntfy - ${STORAGE_PATH}/ntfy/cache/:/var/cache/ntfy
- ${VOLUMES_PATH}/push/ntfy/varlib/:/var/lib/ntfy/ - ${STORAGE_PATH}/ntfy/varlib/:/var/lib/ntfy/
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.push.rule=Host(`push.${DOMAIN}`)" - "traefik.http.routers.push.rule=Host(`${FQDN_PUSH}`)"
- "traefik.http.routers.push.entrypoints=websecure" - "traefik.http.routers.push.entrypoints=websecure"
- "traefik.http.routers.push.tls.certresolver=netcup" - "traefik.http.routers.push.tls.certresolver=netcup"
- "traefik.http.routers.push.tls.options=intermediate@file" - "traefik.http.routers.push.tls.options=intermediate@file"

View file

@ -9,7 +9,7 @@ services:
image: rustdesk/rustdesk-server:${RUSTDESK_VERSION} image: rustdesk/rustdesk-server:${RUSTDESK_VERSION}
command: hbbs -r ${DOMAIN}:21117 -k _ command: hbbs -r ${DOMAIN}:21117 -k _
volumes: volumes:
- ${VOLUMES_PATH}/rustdesk:/root - ${STORAGE_PATH}:/root
networks: networks:
- rustdesk - rustdesk
depends_on: depends_on:
@ -26,7 +26,7 @@ services:
image: rustdesk/rustdesk-server:latest image: rustdesk/rustdesk-server:latest
command: hbbr -k _ command: hbbr -k _
volumes: volumes:
- ${VOLUMES_PATH}/rustdesk:/root - ${STORAGE_PATH}:/root
networks: networks:
- rustdesk - rustdesk
restart: unless-stopped restart: unless-stopped

View file

@ -15,19 +15,19 @@ services:
- SYMFONY__ENV__MAILER_USER=~ - SYMFONY__ENV__MAILER_USER=~
- SYMFONY__ENV__MAILER_PASSWORD=~ - SYMFONY__ENV__MAILER_PASSWORD=~
- SYMFONY__ENV__FROM_EMAIL=wallabag@${DOMAIN} - SYMFONY__ENV__FROM_EMAIL=wallabag@${DOMAIN}
- SYMFONY__ENV__DOMAIN_NAME=https://wallabag.${DOMAIN} - SYMFONY__ENV__DOMAIN_NAME=https://${FQDN_WALLABAG}
networks: networks:
- web - web
- wallabag - wallabag
volumes: volumes:
- ${VOLUMES_PATH}/wallabag/images:/var/www/wallabag/web/assets/images - ${STORAGE_PATH}/images:/var/www/wallabag/web/assets/images
healthcheck: healthcheck:
test: ["CMD", "curl" ,"--fail", "http://localhost/api/info"] test: ["CMD", "curl" ,"--fail", "http://localhost/api/info"]
interval: 10s interval: 10s
timeout: 3s timeout: 3s
labels: labels:
- "traefik.enable=true" - "traefik.enable=true"
- "traefik.http.routers.wallabag.rule=Host(`wallabag.${DOMAIN}`)" - "traefik.http.routers.wallabag.rule=Host(`${FQDN_WALLABAG}`)"
- "traefik.http.routers.wallabag.entrypoints=websecure" - "traefik.http.routers.wallabag.entrypoints=websecure"
- "traefik.http.routers.wallabag.tls.certresolver=netcup" - "traefik.http.routers.wallabag.tls.certresolver=netcup"
- "traefik.http.routers.wallabag.tls.options=intermediate@file" - "traefik.http.routers.wallabag.tls.options=intermediate@file"
@ -44,7 +44,7 @@ services:
networks: networks:
- wallabag - wallabag
volumes: volumes:
- /var/dockervolumes/wallabag/db:/var/lib/mysql - ${STORAGE_PATH}/db:/var/lib/mysql
labels: labels:
- "docker.group=wallabag" - "docker.group=wallabag"

View file

@ -20,10 +20,10 @@ services:
- "traefik.http.routers.webroot.tls.options=intermediate@file" - "traefik.http.routers.webroot.tls.options=intermediate@file"
- "traefik.http.routers.webroot.middlewares=redirect-to-www" - "traefik.http.routers.webroot.middlewares=redirect-to-www"
- "traefik.http.middlewares.redirect-to-www.redirectregex.regex=^https?://${DOMAIN}/(.*)" - "traefik.http.middlewares.redirect-to-www.redirectregex.regex=^https?://${DOMAIN}/(.*)"
- "traefik.http.middlewares.redirect-to-www.redirectregex.replacement=https://www.${DOMAIN}/$${1}" - "traefik.http.middlewares.redirect-to-www.redirectregex.replacement=https://${FQDN_WWW}/$${1}"
- "traefik.http.middlewares.redirect-to-www.redirectregex.permanent=true" - "traefik.http.middlewares.redirect-to-www.redirectregex.permanent=true"
- "traefik.http.routers.www-secure.entrypoints=websecure" - "traefik.http.routers.www-secure.entrypoints=websecure"
- "traefik.http.routers.www-secure.rule=Host(`www.${DOMAIN}`)" - "traefik.http.routers.www-secure.rule=Host(`${FQDN_WWW}`)"
- "traefik.http.routers.www-secure.tls.certresolver=netcup" - "traefik.http.routers.www-secure.tls.certresolver=netcup"
- "traefik.http.routers.www-secure.tls.options=intermediate@file" - "traefik.http.routers.www-secure.tls.options=intermediate@file"
- "docker.group=www" - "docker.group=www"