Removing Watchtower and fully switching to Renovate.
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Check and Create PR (push) Successful in 23s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Generate list of added/modified/deleted services (push) Successful in 1m26s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Dry Run (push) Successful in 12m6s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Cloudflare DNS Setup (push) Successful in 20s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Update README & Generate List of Modified Services (push) Successful in 1m7s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / PR Merge (push) Successful in 21s
Gitea Branch PR, Cloudflare DNS, README generation, & Docker Deployment / Docker Compose Deployment (push) Successful in 34m24s

This commit is contained in:
2025-09-22 18:54:48 -04:00
parent 45c51f0d42
commit 5b70e212ce
+214 -255
View File
@@ -40,7 +40,7 @@ x-maxun: &maxun-env
MAXUN_TELEMETRY: true MAXUN_TELEMETRY: true
PLAYWRIGHT_BROWSERS_PATH: /ms-playwright PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 0 PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 0
CHROMIUM_FLAGS: '--disable-gpu --no-sandbox --headless=new' CHROMIUM_FLAGS: "--disable-gpu --no-sandbox --headless=new"
#DEBUG: pw:api #DEBUG: pw:api
#PWDEBUG: 1 #PWDEBUG: 1
x-penpot-flags: &penpot-flags x-penpot-flags: &penpot-flags
@@ -344,7 +344,7 @@ services:
homepage.href: http://192.168.1.254:54995 homepage.href: http://192.168.1.254:54995
homepage.description: Multi-channel notification API homepage.description: Multi-channel notification API
homepage.widget.type: customapi homepage.widget.type: customapi
homepage.widget.headers: 'Accept: application/json' homepage.widget.headers: "Accept: application/json"
homepage.widget.url: http://apprise-api:8000/status homepage.widget.url: http://apprise-api:8000/status
homepage.widget.method: GET homepage.widget.method: GET
homepage.widget.mappings[0].label: Status homepage.widget.mappings[0].label: Status
@@ -366,14 +366,14 @@ services:
archivebox: archivebox:
container_name: archivebox container_name: archivebox
environment: environment:
ADMIN_USERNAME: admin # creates an admin user on first run with the given user/pass combo ADMIN_USERNAME: admin # creates an admin user on first run with the given user/pass combo
ADMIN_PASSWORD: ${ARCHIVEBOX_ADMIN_PASSWORD} ADMIN_PASSWORD: ${ARCHIVEBOX_ADMIN_PASSWORD}
ALLOWED_HOSTS: '*' # set this to the hostname(s) you're going to serve the site from! ALLOWED_HOSTS: "*" # set this to the hostname(s) you're going to serve the site from!
CSRF_TRUSTED_ORIGINS: http://localhost:8000 # you MUST set this to the server's URL for admin login and the REST API to work CSRF_TRUSTED_ORIGINS: http://localhost:8000 # you MUST set this to the server's URL for admin login and the REST API to work
PUBLIC_INDEX: false # set to False to prevent anonymous users from viewing snapshot list PUBLIC_INDEX: false # set to False to prevent anonymous users from viewing snapshot list
PUBLIC_SNAPSHOTS: false # set to False to prevent anonymous users from viewing snapshot content PUBLIC_SNAPSHOTS: false # set to False to prevent anonymous users from viewing snapshot content
PUBLIC_ADD_VIEW: false # set to True to allow anonymous users to submit new URLs to archive PUBLIC_ADD_VIEW: false # set to True to allow anonymous users to submit new URLs to archive
SEARCH_BACKEND_ENGINE: ripgrep # tells ArchiveBox to use sonic container below for fast full-text search SEARCH_BACKEND_ENGINE: ripgrep # tells ArchiveBox to use sonic container below for fast full-text search
image: archivebox/archivebox:latest image: archivebox/archivebox:latest
labels: labels:
homepage.group: Personal Tools homepage.group: Personal Tools
@@ -453,7 +453,7 @@ services:
expose: expose:
- 5432 - 5432
healthcheck: healthcheck:
test: ['CMD-SHELL', 'pg_isready -U asciinema'] test: ["CMD-SHELL", "pg_isready -U asciinema"]
interval: 2s interval: 2s
timeout: 5s timeout: 5s
retries: 10 retries: 10
@@ -593,7 +593,7 @@ services:
create_host_path: true create_host_path: true
authelia-valkey: authelia-valkey:
container_name: authelia-valkey container_name: authelia-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- authelia-valkey-data:/data/valkey - authelia-valkey-data:/data/valkey
bazarr: bazarr:
@@ -687,7 +687,7 @@ services:
environment: environment:
PORT: 45876 PORT: 45876
# Do not remove quotes around the key # Do not remove quotes around the key
KEY: '${BESZEL_RINOA_AGENT_KEY}' KEY: "${BESZEL_RINOA_AGENT_KEY}"
expose: expose:
- 45876 - 45876
image: henrygd/beszel-agent:latest image: henrygd/beszel-agent:latest
@@ -909,7 +909,7 @@ services:
- castopod-media:/var/www/castopod/public/media - castopod-media:/var/www/castopod/public/media
castopod-valkey: castopod-valkey:
container_name: castopod-valkey container_name: castopod-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- castopod-valkey-data:/data/valkey - castopod-valkey-data:/data/valkey
changedetection: changedetection:
@@ -982,10 +982,10 @@ services:
clipcascade: clipcascade:
container_name: clipcascade container_name: clipcascade
environment: environment:
CC_MAX_MESSAGE_SIZE_IN_MiB: 25 # Maximum message size in MiB (ignored if P2P mode is enabled) CC_MAX_MESSAGE_SIZE_IN_MiB: 25 # Maximum message size in MiB (ignored if P2P mode is enabled)
CC_P2P_ENABLED: false # Enables or disables peer-to-peer(P2P) mode CC_P2P_ENABLED: false # Enables or disables peer-to-peer(P2P) mode
# CC_ALLOWED_ORIGINS: https://clipcascade.example.com # Defines allowed CORS origins for security # CC_ALLOWED_ORIGINS: https://clipcascade.example.com # Defines allowed CORS origins for security
CC_SIGNUP_ENABLED: false # Enables or disables user self-registration CC_SIGNUP_ENABLED: false # Enables or disables user self-registration
image: sathvikrao/clipcascade:latest image: sathvikrao/clipcascade:latest
labels: labels:
homepage.group: Personal Tools homepage.group: Personal Tools
@@ -1009,7 +1009,7 @@ services:
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ${DOCKER_VOLUME_CONFIG}/clipcascade:/database # Persistent storage for user data - ${DOCKER_VOLUME_CONFIG}/clipcascade:/database # Persistent storage for user data
cloudflareddns: cloudflareddns:
container_name: cloudflareddns container_name: cloudflareddns
environment: environment:
@@ -1137,7 +1137,6 @@ services:
MGID: ${GID-1000} MGID: ${GID-1000}
image: metabase/metabase image: metabase/metabase
labels: labels:
com.centurylinklabs.watchtower.enable: false
homepage.group: Privacy/Security homepage.group: Privacy/Security
homepage.name: CrowdSec Dashboard homepage.name: CrowdSec Dashboard
homepage.href: https://csec.${MY_TLD} homepage.href: https://csec.${MY_TLD}
@@ -1255,7 +1254,7 @@ services:
homepage.icon: sh-dagu.svg homepage.icon: sh-dagu.svg
homepage.description: Cron alternative with a web UI homepage.description: Cron alternative with a web UI
homepage.widget.type: customapi homepage.widget.type: customapi
homepage.widget.headers: 'Authorization: Bearer ${DAGU_AUTH_TOKEN}' homepage.widget.headers: "Authorization: Bearer ${DAGU_AUTH_TOKEN}"
homepage.widget.url: http://dagu:8080/api/v2/health homepage.widget.url: http://dagu:8080/api/v2/health
homepage.widget.method: GET homepage.widget.method: GET
homepage.widget.mappings[0].label: Status homepage.widget.mappings[0].label: Status
@@ -1280,7 +1279,7 @@ services:
- ${DOCKER_VOLUME_STORAGE}/backups/:/backups - ${DOCKER_VOLUME_STORAGE}/backups/:/backups
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
dawarich-app: dawarich-app:
command: ['bin/rails', 'server', '-p', '3000', '-b', '::'] command: ["bin/rails", "server", "-p", "3000", "-b", "::"]
container_name: dawarich-app container_name: dawarich-app
depends_on: depends_on:
dawarich-pg-db: dawarich-pg-db:
@@ -1292,8 +1291,8 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: '0.50' # Limit CPU usage to 50% of one core cpus: "0.50" # Limit CPU usage to 50% of one core
memory: '4G' # Limit memory usage to 4GB memory: "4G" # Limit memory usage to 4GB
entrypoint: web-entrypoint.sh entrypoint: web-entrypoint.sh
environment: environment:
RAILS_ENV: production RAILS_ENV: production
@@ -1314,7 +1313,11 @@ services:
ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry ENABLE_TELEMETRY: false # More on telemetry: https://dawarich.app/docs/tutorials/telemetry
SELF_HOSTED: true SELF_HOSTED: true
healthcheck: healthcheck:
test: [ "CMD-SHELL", "wget -qO - http://127.0.0.1:3000/api/v1/health | grep -q '\"status\"\\s*:\\s*\"ok\"'" ] test:
[
"CMD-SHELL",
"wget -qO - http://127.0.0.1:3000/api/v1/health | grep -q '\"status\"\\s*:\\s*\"ok\"'",
]
interval: 10s interval: 10s
retries: 30 retries: 30
start_period: 30s start_period: 30s
@@ -1355,7 +1358,7 @@ services:
POSTGRES_USER: dawarich POSTGRES_USER: dawarich
POSTGRES_PASSWORD: ${DAWARICH_PG_PASSWORD} POSTGRES_PASSWORD: ${DAWARICH_PG_PASSWORD}
healthcheck: healthcheck:
test: [ "CMD-SHELL", "pg_isready -U dawarich -d dawarich" ] test: ["CMD-SHELL", "pg_isready -U dawarich -d dawarich"]
interval: 10s interval: 10s
retries: 5 retries: 5
start_period: 30s start_period: 30s
@@ -1368,7 +1371,7 @@ services:
- dawarich_db_data:/var/lib/postgresql/data - dawarich_db_data:/var/lib/postgresql/data
- dawarich_shared:/var/shared - dawarich_shared:/var/shared
dawarich-sidekiq: dawarich-sidekiq:
command: ['sidekiq'] command: ["sidekiq"]
container_name: dawarich-sidekiq container_name: dawarich-sidekiq
depends_on: depends_on:
dawarich-app: dawarich-app:
@@ -1383,8 +1386,8 @@ services:
deploy: deploy:
resources: resources:
limits: limits:
cpus: '0.50' # Limit CPU usage to 50% of one core cpus: "0.50" # Limit CPU usage to 50% of one core
memory: '4G' # Limit memory usage to 4GB memory: "4G" # Limit memory usage to 4GB
entrypoint: sidekiq-entrypoint.sh entrypoint: sidekiq-entrypoint.sh
environment: environment:
APPLICATION_HOSTS: localhost,loc.${MY_TLD} APPLICATION_HOSTS: localhost,loc.${MY_TLD}
@@ -1406,7 +1409,7 @@ services:
SELF_HOSTED: true SELF_HOSTED: true
STORE_GEODATA: true STORE_GEODATA: true
healthcheck: healthcheck:
test: [ "CMD-SHELL", "pgrep -f sidekiq" ] test: ["CMD-SHELL", "pgrep -f sidekiq"]
interval: 10s interval: 10s
retries: 30 retries: 30
start_period: 30s start_period: 30s
@@ -1422,7 +1425,7 @@ services:
- ${DOCKER_VOLUME_CONFIG}/dawarich/sidekiq-entrypoint.sh:/usr/local/bin/sidekiq-entrypoint.sh - ${DOCKER_VOLUME_CONFIG}/dawarich/sidekiq-entrypoint.sh:/usr/local/bin/sidekiq-entrypoint.sh
dawarich-valkey: dawarich-valkey:
container_name: dawarich-valkey container_name: dawarich-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- dawarich-valkey-data:/data/valkey - dawarich-valkey-data:/data/valkey
dead-man-hand: dead-man-hand:
@@ -1506,7 +1509,11 @@ services:
TUNNEL_NAME: dockflared-tunnel TUNNEL_NAME: dockflared-tunnel
TZ: ${TZ} TZ: ${TZ}
healthcheck: healthcheck:
test: ["CMD-SHELL", "wget -qO- --server-response http://localhost:5000/ping 2>&1 | awk '/^ HTTP/{code=$2} /^[^{]/{next} {print; fflush()} END{exit (code>=400 || code==0)}' >/dev/null"] test:
[
"CMD-SHELL",
"wget -qO- --server-response http://localhost:5000/ping 2>&1 | awk '/^ HTTP/{code=$2} /^[^{]/{next} {print; fflush()} END{exit (code>=400 || code==0)}' >/dev/null",
]
interval: 1m30s interval: 1m30s
timeout: 30s timeout: 30s
retries: 5 retries: 5
@@ -1677,7 +1684,7 @@ services:
MAIL_SMTP_CRYPTO: tls MAIL_SMTP_CRYPTO: tls
MAIL_SMTP_PORT: 25 MAIL_SMTP_PORT: 25
MAIL_FROM_ADDRESS: noreply@${MY_TLD} MAIL_FROM_ADDRESS: noreply@${MY_TLD}
MAIL_FROM_NAME: 'Trez' MAIL_FROM_NAME: "Trez"
MAIL_REPLY_TO_ADDRESS: it-services@${MY_TLD} MAIL_REPLY_TO_ADDRESS: it-services@${MY_TLD}
labels: labels:
homepage.group: Professional Services homepage.group: Professional Services
@@ -1703,7 +1710,7 @@ services:
# - easyappointments:/var/www/html # - easyappointments:/var/www/html
excalidraw: excalidraw:
container_name: excalidraw container_name: excalidraw
image: 'excalidraw/excalidraw:latest' image: "excalidraw/excalidraw:latest"
labels: labels:
homepage.group: Personal Tools homepage.group: Personal Tools
homepage.name: Excalidraw homepage.name: Excalidraw
@@ -2119,7 +2126,7 @@ services:
container_name: guacamole container_name: guacamole
environment: environment:
DOCKER_HOST: tcp://dockerproxy:2375 DOCKER_HOST: tcp://dockerproxy:2375
EXTENSIONS: 'auth-totp' EXTENSIONS: "auth-totp"
TZ: ${TZ} TZ: ${TZ}
image: flcontainers/guacamole:latest image: flcontainers/guacamole:latest
labels: labels:
@@ -2231,12 +2238,11 @@ services:
swag_proto: http swag_proto: http
swag_port: 2283 swag_port: 2283
swag_url: pics.${MY_TLD} swag_url: pics.${MY_TLD}
swag_server_custom_directive: swag_server_custom_directive: location /share {
location /share { proxy_pass http://immich-public-proxy:3000;
proxy_pass http://immich-public-proxy:3000;
} }
location /tools { location /tools {
proxy_pass http://immich-power-tools:3000; proxy_pass http://immich-power-tools:3000;
} }
swag.uptime-kuma.enabled: true swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa swag.uptime-kuma.monitor.parent: Rinoa
@@ -2354,7 +2360,7 @@ services:
restart: unless-stopped restart: unless-stopped
immich-valkey: immich-valkey:
container_name: immich-valkey container_name: immich-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- immich-valkey-data:/data/valkey - immich-valkey-data:/data/valkey
influxdb2: influxdb2:
@@ -3252,7 +3258,7 @@ services:
APP_PORT: ${JOPLIN_APP_PORT} APP_PORT: ${JOPLIN_APP_PORT}
APP_BASE_URL: ${JOPLIN_APP_BASE_URL} APP_BASE_URL: ${JOPLIN_APP_BASE_URL}
DB_CLIENT: pg DB_CLIENT: pg
INSTANCE_NAME: 'Joplin @ Rinoa' INSTANCE_NAME: "Joplin @ Rinoa"
IS_ADMIN_INSTANCE: true IS_ADMIN_INSTANCE: true
MAILER_ENABLED: 1 MAILER_ENABLED: 1
MAILER_HOST: postal-SMTP MAILER_HOST: postal-SMTP
@@ -3345,7 +3351,7 @@ services:
environment: environment:
LT_UPDATE_MODELS: true LT_UPDATE_MODELS: true
healthcheck: healthcheck:
test: ['CMD-SHELL', './venv/bin/python scripts/healthcheck.py'] test: ["CMD-SHELL", "./venv/bin/python scripts/healthcheck.py"]
image: libretranslate/libretranslate image: libretranslate/libretranslate
labels: labels:
homepage.group: Personal Tools homepage.group: Personal Tools
@@ -3550,7 +3556,7 @@ services:
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro - /var/run/docker.sock:/var/run/docker.sock:ro
- ${DOCKER_VOLUME_CONFIG}/loggifly/config.yaml:/app/config.yaml # Path to your config file (ignore if you are only using environment variables) - ${DOCKER_VOLUME_CONFIG}/loggifly/config.yaml:/app/config.yaml # Path to your config file (ignore if you are only using environment variables)
maloja: maloja:
container_name: maloja container_name: maloja
environment: environment:
@@ -3644,7 +3650,7 @@ services:
- ${DOCKER_VOLUME_CONFIG}/manyfold/library:/libraries #optional - ${DOCKER_VOLUME_CONFIG}/manyfold/library:/libraries #optional
manyfold-valkey: manyfold-valkey:
container_name: manyfold-valkey container_name: manyfold-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- manyfold-valkey-data:/data/valkey - manyfold-valkey-data:/data/valkey
mariadb: mariadb:
@@ -3655,7 +3661,11 @@ services:
PUID: ${PUID} PUID: ${PUID}
TZ: ${TZ} TZ: ${TZ}
healthcheck: healthcheck:
test: [ "CMD-SHELL", "mariadb-admin ping -h localhost -p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}|| exit 1" ] test:
[
"CMD-SHELL",
"mariadb-admin ping -h localhost -p${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}|| exit 1",
]
interval: 1m30s interval: 1m30s
timeout: 10s timeout: 10s
retries: 5 retries: 5
@@ -3762,7 +3772,7 @@ services:
- mastodon-pg-db:/var/lib/postgresql/data - mastodon-pg-db:/var/lib/postgresql/data
mastodon-valkey: mastodon-valkey:
container_name: mastodon-valkey container_name: mastodon-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- mastodon-valkey-data:/data/valkey - mastodon-valkey-data:/data/valkey
maxun-backend: maxun-backend:
@@ -3778,14 +3788,14 @@ services:
expose: expose:
- 8080 - 8080
image: getmaxun/maxun-backend:latest image: getmaxun/maxun-backend:latest
mem_limit: 2g # Set a 2GB memory limit mem_limit: 2g # Set a 2GB memory limit
ports: ports:
- 8369:8080 - 8369:8080
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
security_opt: security_opt:
- seccomp=unconfined # This might help with browser sandbox issues - seccomp=unconfined # This might help with browser sandbox issues
shm_size: '2gb' # Increase shared memory size for Chromium shm_size: "2gb" # Increase shared memory size for Chromium
volumes: volumes:
- /var/run/dbus:/var/run/dbus - /var/run/dbus:/var/run/dbus
maxun-frontend: maxun-frontend:
@@ -3801,7 +3811,7 @@ services:
swag_url: scrape.${MY_TLD} swag_url: scrape.${MY_TLD}
swag_server_custom_directive: swag_server_custom_directive:
location ~ ^/(auth|storage|record|workflow|robot|proxy|api-docs|api|webhook|socket.io)(/|$) { location ~ ^/(auth|storage|record|workflow|robot|proxy|api-docs|api|webhook|socket.io)(/|$) {
proxy_pass http://maxun-backend:8080; proxy_pass http://maxun-backend:8080;
} }
swag.uptime-kuma.enabled: true swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa swag.uptime-kuma.monitor.parent: Rinoa
@@ -3839,7 +3849,7 @@ services:
- maxun-pg-data:/var/lib/postgresql/data - maxun-pg-data:/var/lib/postgresql/data
maxun-valkey: maxun-valkey:
container_name: maxun-valkey container_name: maxun-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- maxun-valkey-data:/data/valkey - maxun-valkey-data:/data/valkey
meilisearch: meilisearch:
@@ -4035,15 +4045,15 @@ services:
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- mixpost-storage:/var/www/html/storage/app - mixpost-storage:/var/www/html/storage/app
- mixpost-logs:/var/www/html/storage/logs - mixpost-logs:/var/www/html/storage/logs
mixpost-valkey: mixpost-valkey:
container_name: mixpost-valkey container_name: mixpost-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- mixpost-valkey-data:/data/valkey - mixpost-valkey-data:/data/valkey
mgob: mgob:
command: '-LogLevel=info' command: "-LogLevel=info"
container_name: mgob container_name: mgob
image: stefanprodan/mgob image: stefanprodan/mgob
labels: labels:
@@ -4170,7 +4180,7 @@ services:
ND_AUTOIMPORTPLAYLISTS: true ND_AUTOIMPORTPLAYLISTS: true
ND_BASEURL: "" ND_BASEURL: ""
ND_BACKUP_PATH: /backups ND_BACKUP_PATH: /backups
ND_BACKUP_SCHEDULE: '@every 6h' ND_BACKUP_SCHEDULE: "@every 6h"
ND_BACKUP_COUNT: 7 ND_BACKUP_COUNT: 7
ND_ENABLEGRAVATAR: true ND_ENABLEGRAVATAR: true
ND_ENABLESHARING: true ND_ENABLESHARING: true
@@ -4182,7 +4192,7 @@ services:
ND_MUSICFOLDER: /music ND_MUSICFOLDER: /music
ND_PLAYLISTPATH: /playlists ND_PLAYLISTPATH: /playlists
ND_SCANNER_GROUPALBUMRELEASES: true ND_SCANNER_GROUPALBUMRELEASES: true
ND_SCANSCHEDULE: '@every 6h' ND_SCANSCHEDULE: "@every 6h"
ND_SESSIONTIMEOUT: 24h ND_SESSIONTIMEOUT: 24h
ND_SPOTIFY_ID: ${YOUR_SPOTIFY_ID} ND_SPOTIFY_ID: ${YOUR_SPOTIFY_ID}
ND_SPOTIFY_SECRET: ${YOUR_SPOTIFY_SECRET} ND_SPOTIFY_SECRET: ${YOUR_SPOTIFY_SECRET}
@@ -4357,7 +4367,7 @@ services:
healthcheck: healthcheck:
interval: 10s interval: 10s
retries: 10 retries: 10
test: "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\"" test: 'pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"'
timeout: 2s timeout: 2s
image: postgres:16-alpine@sha256:1c6d2f6e4d30d49c529e09a627e8178db5011dde88d955eb08db2e135e64aa09 image: postgres:16-alpine@sha256:1c6d2f6e4d30d49c529e09a627e8178db5011dde88d955eb08db2e135e64aa09
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
@@ -4366,7 +4376,7 @@ services:
- nocodb_pg_data:/var/lib/postgresql/data - nocodb_pg_data:/var/lib/postgresql/data
nocodb-valkey: nocodb-valkey:
container_name: nocodb-valkey container_name: nocodb-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- nocodb_valkey_data:/data/valkey - nocodb_valkey_data:/data/valkey
ollama: ollama:
@@ -4462,7 +4472,7 @@ services:
LIBRETRANSLATE: http://libretranslate:5000 LIBRETRANSLATE: http://libretranslate:5000
OLLAMA: http://ollama:11434 OLLAMA: http://ollama:11434
OLLAMA_MODEL: smollm2:1.7b OLLAMA_MODEL: smollm2:1.7b
THEME: 'pole' THEME: "pole"
DISABLE_DICTIONARY: false DISABLE_DICTIONARY: false
image: kweg/omnipoly:latest image: kweg/omnipoly:latest
labels: labels:
@@ -4553,7 +4563,7 @@ services:
- open-webui-data:/app/backend/data - open-webui-data:/app/backend/data
open-webui-valkey: open-webui-valkey:
container_name: open-webui-valkey container_name: open-webui-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- open-webui-valkey-data:/data/valkey - open-webui-valkey-data:/data/valkey
paperless-ngx: paperless-ngx:
@@ -4622,7 +4632,7 @@ services:
create_host_path: true create_host_path: true
paperless-valkey: paperless-valkey:
container_name: paperless-valkey container_name: paperless-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- paperless-valkey-data:/data/valkey - paperless-valkey-data:/data/valkey
penpot-frontend: penpot-frontend:
@@ -4632,7 +4642,7 @@ services:
- penpot-exporter - penpot-exporter
image: penpotapp/frontend:latest image: penpotapp/frontend:latest
environment: environment:
<< : [*penpot-flags, *penpot-http-body-size] <<: [*penpot-flags, *penpot-http-body-size]
labels: labels:
homepage.group: Professional Services homepage.group: Professional Services
homepage.name: Penpot homepage.name: Penpot
@@ -4664,7 +4674,7 @@ services:
penpot-redis: penpot-redis:
condition: service_healthy condition: service_healthy
environment: environment:
<< : [*penpot-flags, *penpot-public-uri, *penpot-http-body-size] <<: [*penpot-flags, *penpot-public-uri, *penpot-http-body-size]
PENPOT_SECRET_KEY: ${PENPOT_SECRET_KEY} PENPOT_SECRET_KEY: ${PENPOT_SECRET_KEY}
PENPOT_PREPL_HOST: 0.0.0.0 PENPOT_PREPL_HOST: 0.0.0.0
PENPOT_DATABASE_URI: postgresql://penpot-pg-db/penpot PENPOT_DATABASE_URI: postgresql://penpot-pg-db/penpot
@@ -4879,7 +4889,7 @@ services:
API_PORT: 8080 API_PORT: 8080
FLORACODEX_URL: https://api.floracodex.com FLORACODEX_URL: https://api.floracodex.com
FLORACODEX_KEY: ${PLANTIT_FLORACODEX_APP_KEY} FLORACODEX_KEY: ${PLANTIT_FLORACODEX_APP_KEY}
ALLOWED_ORIGINS: '*' # CORS allowed origins (comma separated list) ALLOWED_ORIGINS: "*" # CORS allowed origins (comma separated list)
LOG_LEVEL: DEBUG # could be: DEBUG, INFO, WARN, ERROR LOG_LEVEL: DEBUG # could be: DEBUG, INFO, WARN, ERROR
CONTACT_MAIL: noreply@${MY_TLD} # address used as "contact" for template email CONTACT_MAIL: noreply@${MY_TLD} # address used as "contact" for template email
REMINDER_NOTIFY_CHECK: 0 30 7 * * * # 6-values crontab expression to set the check time for reminders REMINDER_NOTIFY_CHECK: 0 30 7 * * * # 6-values crontab expression to set the check time for reminders
@@ -4902,9 +4912,8 @@ services:
swag_proto: http swag_proto: http
swag_port: 3000 swag_port: 3000
swag_url: plants.${MY_TLD} swag_url: plants.${MY_TLD}
swag_server_custom_directive: swag_server_custom_directive: location /api {
location /api { proxy_pass http://plant-it:8080;
proxy_pass http://plant-it:8080;
} }
swag.uptime-kuma.enabled: true swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa swag.uptime-kuma.monitor.parent: Rinoa
@@ -4930,14 +4939,14 @@ services:
- ${DOCKER_VOLUME_CONFIG}/plant-it:/upload-dir - ${DOCKER_VOLUME_CONFIG}/plant-it:/upload-dir
plant-it-valkey: plant-it-valkey:
container_name: plant-it-valkey container_name: plant-it-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- plant-it-valkey-data:/data/valkey - plant-it-valkey-data:/data/valkey
plantuml-server: plantuml-server:
container_name: plantuml-server container_name: plantuml-server
expose: expose:
- 8080 - 8080
image: 'plantuml/plantuml-server:jetty' image: "plantuml/plantuml-server:jetty"
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
portainer: portainer:
@@ -4982,8 +4991,8 @@ services:
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- portainer-data:/data - portainer-data:/data
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
portchecker-web: portchecker-web:
container_name: portchecker-web container_name: portchecker-web
depends_on: depends_on:
@@ -4991,9 +5000,9 @@ services:
required: true required: true
condition: service_healthy condition: service_healthy
environment: environment:
DEFAULT_HOST: # Optional, Populates a default host address value to be populataed in the in the UI input. Defaults to external/WAN IP. DEFAULT_HOST: # Optional, Populates a default host address value to be populataed in the in the UI input. Defaults to external/WAN IP.
DEFAULT_PORT: 443 # Optional, Populates a default port value to be populataed in the in the UI input DEFAULT_PORT: 443 # Optional, Populates a default port value to be populataed in the in the UI input
API_URL: http://portchecker-api:8000 # Optional, the URL of the API service. The scheme and port is required. Defaults to http://api:8000 if not set. API_URL: http://portchecker-api:8000 # Optional, the URL of the API service. The scheme and port is required. Defaults to http://api:8000 if not set.
# GOOGLE_ANALYTICS: # Optional, set for Google Analytics integration # GOOGLE_ANALYTICS: # Optional, set for Google Analytics integration
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-S", "http://127.0.0.1"] test: ["CMD", "wget", "--spider", "-S", "http://127.0.0.1"]
@@ -5026,7 +5035,7 @@ services:
portchecker-api: portchecker-api:
container_name: portchecker-api container_name: portchecker-api
environment: environment:
ALLOW_PRIVATE: true # Prevent usage of private IP addresses ALLOW_PRIVATE: true # Prevent usage of private IP addresses
healthcheck: healthcheck:
test: ["CMD", "wget", "--spider", "-S", "http://127.0.0.1:8000/healthz"] test: ["CMD", "wget", "--spider", "-S", "http://127.0.0.1:8000/healthz"]
interval: 30s interval: 30s
@@ -5173,8 +5182,8 @@ services:
image: ghcr.io/stuffanthings/qbit_manage:latest image: ghcr.io/stuffanthings/qbit_manage:latest
environment: environment:
# Web API Configuration # Web API Configuration
QBT_WEB_SERVER: true # Set to true to enable web API QBT_WEB_SERVER: true # Set to true to enable web API
QBT_PORT: 8080 # Web API port (default: 8080) QBT_PORT: 8080 # Web API port (default: 8080)
# Scheduler Configuration # Scheduler Configuration
QBT_RUN: false QBT_RUN: false
QBT_SCHEDULE: 1440 QBT_SCHEDULE: 1440
@@ -5193,7 +5202,7 @@ services:
QBT_DRY_RUN: false QBT_DRY_RUN: false
# Logging Configuration # Logging Configuration
QBT_LOG_LEVEL: INFO QBT_LOG_LEVEL: INFO
QBT_DIVIDER: '=' QBT_DIVIDER: "="
QBT_WIDTH: 100 QBT_WIDTH: 100
ports: ports:
- 5965:8080 - 5965:8080
@@ -5240,9 +5249,8 @@ services:
homepage.widget.user: admin homepage.widget.user: admin
homepage.widget.password: "${DELUGEVPN_PASSWORD}" homepage.widget.password: "${DELUGEVPN_PASSWORD}"
swag: enable swag: enable
swag_server_custom_directive: swag_server_custom_directive: location /mgmt {
location /mgmt { proxy_pass http://qbit-manage:8080;
proxy_pass http://qbit-manage:8080;
} }
swag_port: 8080 swag_port: 8080
swag_proto: http swag_proto: http
@@ -5536,17 +5544,17 @@ services:
container_name: renovate container_name: renovate
environment: environment:
# --- Authentication & platform --- # --- Authentication & platform ---
RENOVATE_TOKEN: "${RENOVATE_GITEA_TOKEN}" # Gitea personal access token for renovate-bot RENOVATE_TOKEN: "${RENOVATE_GITEA_TOKEN}" # Gitea personal access token for renovate-bot
RENOVATE_PLATFORM: "gitea" RENOVATE_PLATFORM: "gitea"
RENOVATE_ENDPOINT: "https://git.${MY_TLD}/api/v1" # your Gitea URL RENOVATE_ENDPOINT: "https://git.${MY_TLD}/api/v1" # your Gitea URL
RENOVATE_USERNAME: "renovate-bot" RENOVATE_USERNAME: "renovate-bot"
RENOVATE_GIT_AUTHOR: "Renovate Bot <it-services@trez.wtf>" RENOVATE_GIT_AUTHOR: "Renovate Bot <it-services@trez.wtf>"
RENOVATE_GITHUB_COM_TOKEN: ${LIBRECHAT_GITHUB_TOKEN} RENOVATE_GITHUB_COM_TOKEN: ${LIBRECHAT_GITHUB_TOKEN}
# --- Behavior --- # --- Behavior ---
RENOVATE_AUTODISCOVER: "true" # discover all repos renovate-bot has access to RENOVATE_AUTODISCOVER: "true" # discover all repos renovate-bot has access to
RENOVATE_ONBOARDING: "true" # create onboarding PR if repo not configured RENOVATE_ONBOARDING: "true" # create onboarding PR if repo not configured
RENOVATE_REQUIRE_CONFIG: "optional" # run even if no renovate config exists RENOVATE_REQUIRE_CONFIG: "optional" # run even if no renovate config exists
RENOVATE_REDIS_URL: redis://renovate-valkey:6379 RENOVATE_REDIS_URL: redis://renovate-valkey:6379
LOG_LEVEL: "info" LOG_LEVEL: "info"
@@ -5567,7 +5575,7 @@ services:
restart: unless-stopped restart: unless-stopped
renovate-valkey: renovate-valkey:
container_name: renovate-valkey container_name: renovate-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- renovate-valkey-data:/data/valkey - renovate-valkey-data:/data/valkey
rocketchat: rocketchat:
@@ -5650,9 +5658,9 @@ services:
SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON: 0 4 * * * # Cron expression for the scheduled update (default: 0 4 * * * At 4:00 AM every day) SCHEDULED_UPDATE_SWITCH_TITLEDB_CRON: 0 4 * * * # Cron expression for the scheduled update (default: 0 4 * * * At 4:00 AM every day)
ENABLE_SCHEDULED_UPDATE_MAME_XML: true # Updates the MAME XML database at a given time ENABLE_SCHEDULED_UPDATE_MAME_XML: true # Updates the MAME XML database at a given time
SCHEDULED_UPDATE_MAME_XML_CRON: 0 5 * * * # Cron expression for the scheduled update (default: 0 5 * * * At 5:00 AM every day) SCHEDULED_UPDATE_MAME_XML_CRON: 0 5 * * * # Cron expression for the scheduled update (default: 0 5 * * * At 5:00 AM every day)
IGDB_CLIENT_ID: ${ROMM_IGDB_CLIENT_ID} # Generate an ID and SECRET in IGDB IGDB_CLIENT_ID: ${ROMM_IGDB_CLIENT_ID} # Generate an ID and SECRET in IGDB
IGDB_CLIENT_SECRET: ${ROMM_IGDB_CLIENT_SECRET} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#igdb IGDB_CLIENT_SECRET: ${ROMM_IGDB_CLIENT_SECRET} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#igdb
MOBYGAMES_API_KEY: # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#mobygames MOBYGAMES_API_KEY: # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#mobygames
STEAMGRIDDB_API_KEY: ${ROMM_STEAMGRIDDB_API_KEY} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#steamgriddb STEAMGRIDDB_API_KEY: ${ROMM_STEAMGRIDDB_API_KEY} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#steamgriddb
SCREENSCRAPER_USER: ${ROMM_SCREENSCRAPER_USERNAME} # Use your ScreenScraper username and password SCREENSCRAPER_USER: ${ROMM_SCREENSCRAPER_USERNAME} # Use your ScreenScraper username and password
SCREENSCRAPER_PASSWORD: ${ROMM_SCREENSCRAPER_PASSWORD} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#screenscraper SCREENSCRAPER_PASSWORD: ${ROMM_SCREENSCRAPER_PASSWORD} # https://docs.romm.app/latest/Getting-Started/Generate-API-Keys/#screenscraper
@@ -5685,7 +5693,7 @@ services:
- ${DOCKER_VOLUME_CONFIG}/romm:/romm/config # Path where config.yml is stored - ${DOCKER_VOLUME_CONFIG}/romm:/romm/config # Path where config.yml is stored
romm-valkey: romm-valkey:
container_name: romm-valkey container_name: romm-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- romm-valkey-data:/data/valkey - romm-valkey-data:/data/valkey
sabnzbdvpn: sabnzbdvpn:
@@ -5922,7 +5930,7 @@ services:
create_host_path: true create_host_path: true
searxng-valkey: searxng-valkey:
container_name: searxng-valkey container_name: searxng-valkey
<< : *valkey-params <<: *valkey-params
volumes: volumes:
- searxng-valkey-data:/data/valkey - searxng-valkey-data:/data/valkey
semaphore-ui: semaphore-ui:
@@ -6032,7 +6040,7 @@ services:
expose: expose:
- 9000 - 9000
ports: ports:
# - "9000:9000" # - "9000:9000"
- "8123:8123" - "8123:8123"
- "9181:9181" - "9181:9181"
volumes: volumes:
@@ -6398,11 +6406,11 @@ services:
container_name: speedtest-tracker container_name: speedtest-tracker
image: lscr.io/linuxserver/speedtest-tracker:latest image: lscr.io/linuxserver/speedtest-tracker:latest
environment: environment:
PUID: ${PUID} PUID: ${PUID}
PGID: ${PGID} PGID: ${PGID}
APP_KEY: ${SPEEDTEST_TRACKER_APP_KEY} APP_KEY: ${SPEEDTEST_TRACKER_APP_KEY}
DB_CONNECTION: sqlite DB_CONNECTION: sqlite
SPEEDTEST_SCHEDULE: 15 */3 * * * SPEEDTEST_SCHEDULE: 15 */3 * * *
labels: labels:
homepage.name: Speedtest Tracker homepage.name: Speedtest Tracker
homepage.group: Infrastructure/App Performance Monitoring homepage.group: Infrastructure/App Performance Monitoring
@@ -6422,12 +6430,12 @@ services:
swag.uptime-kuma.monitor.retryInterval: 60 swag.uptime-kuma.monitor.retryInterval: 60
swag.uptime-kuma.monitor.maxretries: 5 swag.uptime-kuma.monitor.maxretries: 5
ports: ports:
- 47512:80 - 47512:80
- 62777:443 - 62777:443
profiles: ["rinoa-apps"] profiles: ["rinoa-apps"]
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- ${DOCKER_VOLUME_CONFIG}/speedtest-tracker:/config - ${DOCKER_VOLUME_CONFIG}/speedtest-tracker:/config
stable-diffusion-webui: stable-diffusion-webui:
container_name: stable-diffusion-webui container_name: stable-diffusion-webui
image: ghcr.io/neggles/sd-webui-docker:latest image: ghcr.io/neggles/sd-webui-docker:latest
@@ -6835,55 +6843,6 @@ services:
volumes: volumes:
- wallos-db:/var/www/html/db - wallos-db:/var/www/html/db
- wallos-logos:/var/www/html/images/uploads/logos - wallos-logos:/var/www/html/images/uploads/logos
watchtower:
container_name: watchtower
environment:
REPO_PASS:
REPO_USER:
TZ: ${TZ}
WATCHTOWER_CLEANUP: true
WATCHTOWER_INCLUDE_STOPPED: false
WATCHTOWER_MONITOR_ONLY: false
WATCHTOWER_NOTIFICATIONS_LEVEL: info
WATCHTOWER_NOTIFICATION_TEMPLATE: '{{range .}}{{.Message}}{{println}}{{end}}'
WATCHTOWER_NOTIFICATION_URL: "gotify://gotify/${WATCHTOWER_NOTIFICATION_GOTIFY_TOKEN}?disabletls=true"
WATCHTOWER_SCHEDULE: 0 0 4 * * *
WATCHTOWER_TIMEOUT: 30s
WATCHTOWER_HTTP_API_METRICS: true
WATCHTOWER_HTTP_API_TOKEN: ${WATCHTOWER_HTTP_API_TOKEN}
expose:
- 8080
hostname: Rinoa
image: ghcr.io/containrrr/watchtower:latest
labels:
homepage.group: Automation
homepage.name: Watchtower
homepage.icon: watchtower.svg
homepage.description: Container-based solution for automating Docker container base image updates
homepage.widget.type: watchtower
homepage.widget.url: http://watchtower:8080
homepage.widget.key: ${WATCHTOWER_HTTP_API_TOKEN}
networks:
default: null
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
- bind:
create_host_path: true
read_only: true
source: /etc/localtime
target: /etc/localtime
type: bind
- bind:
create_host_path: true
source: /rinoa-storage
target: /storage
type: bind
- bind:
create_host_path: true
source: /var/run/docker.sock
target: /var/run/docker.sock
type: bind
web-check: web-check:
container_name: web-check container_name: web-check
image: lissy93/web-check image: lissy93/web-check
@@ -6915,138 +6874,138 @@ services:
image: clidey/whodb image: clidey/whodb
environment: environment:
WHODB_CLICKHOUSE_1: '{ WHODB_CLICKHOUSE_1: '{
"host": "signoz-clickhouse" "host": "signoz-clickhouse"
}' }'
WHODB_MARIADB_1: '{ WHODB_MARIADB_1: '{
"host": "mariadb", "host": "mariadb",
"user": "root", "user": "root",
"password": "${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}" "password": "${MARIADB_ENVIRONMENT_MYSQL_ROOT_PASSWORD}"
}' }'
WHODB_MONGODB_1: '{ WHODB_MONGODB_1: '{
"host": "mongodb:27017/admin?replicaSet=rinoa", "host": "mongodb:27017/admin?replicaSet=rinoa",
"user": "root", "user": "root",
"password": "${MONGO_INITDB_ROOT_PASSWORD}" "password": "${MONGO_INITDB_ROOT_PASSWORD}"
}' }'
WHODB_POSTGRES_1: '{ WHODB_POSTGRES_1: '{
"host": "authelia-pg", "host": "authelia-pg",
"user": "authelia", "user": "authelia",
"password": "${AUTHELIA_STORAGE_POSTGRES_PASSWORD}", "password": "${AUTHELIA_STORAGE_POSTGRES_PASSWORD}",
"database": "authelia" "database": "authelia"
}' }'
WHODB_POSTGRES_2: '{ WHODB_POSTGRES_2: '{
"host": "dawarich-pg-db", "host": "dawarich-pg-db",
"user": "dawarich", "user": "dawarich",
"password": "${DAWARICH_PG_PASSWORD}", "password": "${DAWARICH_PG_PASSWORD}",
"database": "authelia" "database": "authelia"
}' }'
WHODB_POSTGRES_3: '{ WHODB_POSTGRES_3: '{
"host": "gitea-db", "host": "gitea-db",
"user": "gitea", "user": "gitea",
"password": "${GITEA_PG_DB_PASSWORD}", "password": "${GITEA_PG_DB_PASSWORD}",
"database": "gitea" "database": "gitea"
}' }'
WHODB_POSTGRES_4: '{ WHODB_POSTGRES_4: '{
"host": "immich-pg-db", "host": "immich-pg-db",
"user": "immich", "user": "immich",
"password": "${IMMICH_DB_PASSWORD}", "password": "${IMMICH_DB_PASSWORD}",
"database": "immich" "database": "immich"
}' }'
WHODB_POSTGRES_5: '{ WHODB_POSTGRES_5: '{
"host": "invidious-db", "host": "invidious-db",
"user": "kemal", "user": "kemal",
"password": "${INVID_PG_DB_PASSWORD}", "password": "${INVID_PG_DB_PASSWORD}",
"database": "invidious" "database": "invidious"
}' }'
WHODB_POSTGRES_6: '{ WHODB_POSTGRES_6: '{
"host": "joplin-db", "host": "joplin-db",
"user": "joplin", "user": "joplin",
"password": "${JOPLIN_POSTGRES_PASSWORD}", "password": "${JOPLIN_POSTGRES_PASSWORD}",
"database": "joplin" "database": "joplin"
}' }'
WHODB_POSTGRES_7: '{ WHODB_POSTGRES_7: '{
"host": "librechat-vectordb", "host": "librechat-vectordb",
"user": "librechat", "user": "librechat",
"password": "${LIBRECHAT_PG_DB_PASSWD}", "password": "${LIBRECHAT_PG_DB_PASSWD}",
"database": "librechat" "database": "librechat"
}' }'
WHODB_POSTGRES_8: '{ WHODB_POSTGRES_8: '{
"host": "mastodon-pg-db", "host": "mastodon-pg-db",
"user": "mastodon", "user": "mastodon",
"password": "${MASTODON_PG_DB_PASSWORD}", "password": "${MASTODON_PG_DB_PASSWORD}",
"database": "mastodon" "database": "mastodon"
}' }'
WHODB_POSTGRES_9: '{ WHODB_POSTGRES_9: '{
"host": "penpot-pg-db", "host": "penpot-pg-db",
"user": "penpot", "user": "penpot",
"password": "${PENPOT_PG_DB_PASSWORD}", "password": "${PENPOT_PG_DB_PASSWORD}",
"database": "penpot" "database": "penpot"
}' }'
WHODB_POSTGRES_10: '{ WHODB_POSTGRES_10: '{
"host": "planka-pg-db", "host": "planka-pg-db",
"user": "planka", "user": "planka",
"password": "${PLANKA_PG_PASSWORD}", "password": "${PLANKA_PG_PASSWORD}",
"database": "planka" "database": "planka"
}' }'
WHODB_POSTGRES_11: '{ WHODB_POSTGRES_11: '{
"host": "portnote-pg-db", "host": "portnote-pg-db",
"user": "portnote", "user": "portnote",
"password": "${PORTNOTE_POSTGRES_PASSWORD}", "password": "${PORTNOTE_POSTGRES_PASSWORD}",
"database": "portnote" "database": "portnote"
}' }'
WHODB_POSTGRES_12: '{ WHODB_POSTGRES_12: '{
"host": "reactive-resume-pg", "host": "reactive-resume-pg",
"user": "reactiveresume", "user": "reactiveresume",
"password": "${REACTIVE_RESUME_PGSQL_PASSWORD}", "password": "${REACTIVE_RESUME_PGSQL_PASSWORD}",
"database": "reactiveresume" "database": "reactiveresume"
}' }'
WHODB_POSTGRES_13: '{ WHODB_POSTGRES_13: '{
"host": "sonarqube-pg-db", "host": "sonarqube-pg-db",
"user": "sonar", "user": "sonar",
"password": "${SONARQUBE_POSTGRES_PASSWORD}", "password": "${SONARQUBE_POSTGRES_PASSWORD}",
"database": "sonar" "database": "sonar"
}' }'
WHODB_POSTGRES_14: '{ WHODB_POSTGRES_14: '{
"host": "tandoor-pg", "host": "tandoor-pg",
"user": "tandoor", "user": "tandoor",
"password": "${TANDOOR_POSTGRES_PASSWORD}", "password": "${TANDOOR_POSTGRES_PASSWORD}",
"database": "tandoor" "database": "tandoor"
}' }'
WHODB_POSTGRES_15: '{ WHODB_POSTGRES_15: '{
"host": "asciinema-pg-db", "host": "asciinema-pg-db",
"user": "asciinema", "user": "asciinema",
"password": "${ASCIINEMA_PG_DB_PASSWORD}", "password": "${ASCIINEMA_PG_DB_PASSWORD}",
"database": "asciinema" "database": "asciinema"
}' }'
WHODB_REDIS_1: '{ WHODB_REDIS_1: '{
"host": "castopod-valkey" "host": "castopod-valkey"
}' }'
WHODB_REDIS_2: '{ WHODB_REDIS_2: '{
"host": "dawarich-valkey" "host": "dawarich-valkey"
}' }'
WHODB_REDIS_3: '{ WHODB_REDIS_3: '{
"host": "immich-valkey" "host": "immich-valkey"
}' }'
WHODB_REDIS_4: '{ WHODB_REDIS_4: '{
"host": "librechat-valkey" "host": "librechat-valkey"
}' }'
WHODB_REDIS_5: '{ WHODB_REDIS_5: '{
"host": "manyfold-valkey" "host": "manyfold-valkey"
}' }'
WHODB_REDIS_6: '{ WHODB_REDIS_6: '{
"host": "mastodon-valkey" "host": "mastodon-valkey"
}' }'
WHODB_REDIS_7: '{ WHODB_REDIS_7: '{
"host": "maxun-valkey" "host": "maxun-valkey"
}' }'
WHODB_REDIS_8: '{ WHODB_REDIS_8: '{
"host": "mixpost-valkey" "host": "mixpost-valkey"
}' }'
WHODB_REDIS_9: '{ WHODB_REDIS_9: '{
"host": "paperless-valkey" "host": "paperless-valkey"
}' }'
WHODB_REDIS_10: '{ WHODB_REDIS_10: '{
"host": "plant-it-valkey" "host": "plant-it-valkey"
}' }'
WHODB_SQLITE3_1: '{"database":"kuma.db"}' WHODB_SQLITE3_1: '{"database":"kuma.db"}'
WHODB_OLLAMA_HOST: ollama WHODB_OLLAMA_HOST: ollama
WHODB_OLLAMA_PORT: 11434 WHODB_OLLAMA_PORT: 11434
@@ -7178,9 +7137,9 @@ services:
environment: environment:
# Enable authorization without HTTPS. For external access with # Enable authorization without HTTPS. For external access with
# SSL termination, use solutions like nginx-proxy-manager. # SSL termination, use solutions like nginx-proxy-manager.
ELASTICSEARCH_ENABLE_SECURITY: 'true' ELASTICSEARCH_ENABLE_SECURITY: "true"
ELASTICSEARCH_SKIP_TRANSPORT_TLS: 'true' ELASTICSEARCH_SKIP_TRANSPORT_TLS: "true"
ELASTICSEARCH_ENABLE_REST_TLS: 'false' ELASTICSEARCH_ENABLE_REST_TLS: "false"
# ELASTICSEARCH_USER is hardcoded to 'elastic' in the container. # ELASTICSEARCH_USER is hardcoded to 'elastic' in the container.
ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASS:-zammad} ELASTICSEARCH_PASSWORD: ${ELASTICSEARCH_PASS:-zammad}
zammad-init: zammad-init:
@@ -7452,4 +7411,4 @@ volumes:
zammad-postgresql-data: zammad-postgresql-data:
name: zammad-postgresql-data name: zammad-postgresql-data
zammad-redis-data: zammad-redis-data:
name: zammad-redis-data name: zammad-redis-data