Compare commits

..

1 Commits

5 changed files with 93 additions and 153 deletions
+4 -4
View File
@@ -12,13 +12,13 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
uses: actions/checkout@v4
with:
ref: main
- name: Generate system info (ANSI preserved)
id: gen-sysinfo
uses: appleboy/ssh-action@91f3272fc5907f4699dcf59761eb622a07342f5a # v1.2.3
uses: appleboy/ssh-action@v1.2.3
with:
host: 192.168.1.254
username: charish
@@ -41,7 +41,7 @@ jobs:
yq 'explode(.) | .services | to_entries | map({"service": .key, "image": (.value.image | sub("@sha256:.*$"; "")), "description": (.value.labels."homepage.description" // "")})' docker-compose.yml > services.yml
- name: Generate Markdown Table
uses: gazab/create-markdown-table@6686233d7008e8d8b9d4bbdbfd1fb1ae510019f0 # v1.0.7
uses: gazab/create-markdown-table@v1.0.7
id: service-table
with:
file: ./services.yml
@@ -61,7 +61,7 @@ jobs:
} > README.md
- name: Add/Commit README.md
uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9.1.4
uses: EndBug/add-and-commit@v9
with:
message: "chore: Update README"
add: "README.md"
@@ -25,7 +25,7 @@ jobs:
fetch-depth: 1
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -41,7 +41,7 @@ jobs:
assignee: ${{ github.actor }}
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -63,7 +63,7 @@ jobs:
git fetch origin ${{ github.event.pull_request.base.ref }}
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -197,7 +197,7 @@ jobs:
password: ${{ secrets.BOT_GITEA_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -213,6 +213,16 @@ jobs:
HC_VAULT_TOKEN: ${{ secrets.VAULT_GITEA_TOKEN }}
HC_VAULT_SECRETS_PATH: rinoa-docker/env
- name: Check services
env:
DSLIST: ${{ env.DOCKER_SVC_LIST }}
run: |
if [ -z ${DSLIST} ]; then
echo "DOCKER_SVC_LIST=" >> $GITHUB_ENV
else
echo "${DLIST}"
fi
- name: Pre-pull/build service images in parallel
continue-on-error: true
uses: https://git.trez.wtf/Trez/docker-select-image-pull@main
@@ -234,7 +244,7 @@ jobs:
services-log-level: debug
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -277,7 +287,7 @@ jobs:
sort > cloudflare_subdomains.txt
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -307,7 +317,7 @@ jobs:
done
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -358,7 +368,7 @@ jobs:
echo "pr_index=${pr_index}" >> $GITHUB_OUTPUT
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -402,7 +412,7 @@ jobs:
password: ${{ secrets.BOT_GITEA_PASSWORD }}
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -448,7 +458,7 @@ jobs:
skip-no-healthcheck: "true"
- name: Gotify Notification
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: https://git.trez.wtf/Trez/gotify-action@main
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
+2 -2
View File
@@ -126,7 +126,7 @@ jobs:
password: ${{ secrets.BOT_GITEA_PASSWORD }}
- name: Gotify Notification (Start)
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: eikendev/gotify-action@master
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
@@ -164,7 +164,7 @@ jobs:
skip-no-healthcheck: "true"
- name: Gotify Notification (Finish)
uses: eikendev/gotify-action@b678edfef1d7893eeffc494256f50c003cef3c77 # 0.0.3
uses: eikendev/gotify-action@master
with:
gotify_api_base: "${{ secrets.RUNNER_GOTIFY_URL }}"
gotify_app_token: "${{ secrets.RUNNER_GOTIFY_TOKEN }}"
+5 -6
View File
@@ -63,10 +63,10 @@ C<span style=color:#A00><b>CPU</b></span>: Intel Xeon D-1521 (8) @ 2.700GHz
C<span style=color:#A00><b>CPU</b></span>: Intel Xeon D-1521 (8) @ 2.700GHz
C<span style=color:#A00><b>GPU</b></span>: 07:00.0 ASPEED Technology, Inc. ASPEED Graphics Family
C<span style=color:#A00><b>GPU</b></span>: 07:00.0 ASPEED Technology, Inc. ASPEED Graphics Family
C<span style=color:#A00><b>Memory</b></span>: 103508MiB / 128710MiB
C<span style=color:#A00><b>Memory</b></span>: 102839MiB / 128710MiB
C<span style=color:#A00><b>Memory</b></span>: 102839MiB / 128710MiB
C<span style=color:#000><span style=background-color:#000> <span style=color:#A00><span style=background-color:#A00> <span style=color:#0A0><span style=background-color:#0A0> <span style=color:#A50><span style=background-color:#A50> <span style=color:#00A><span style=background-color:#00A> <span style=color:#A0A><span style=background-color:#A0A> <span style=color:#0AA><span style=background-color:#0AA> <span style=color:#AAA><span style=background-color:#AAA> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
C<span style=color:#555><span style=background-color:#555> <span style=color:#F55><span style=background-color:#F55> <span style=color:#5F5><span style=background-color:#5F5> <span style=color:#FF5><span style=background-color:#FF5> <span style=color:#55F><span style=background-color:#55F> <span style=color:#F5F><span style=background-color:#F5F> <span style=color:#5FF><span style=background-color:#5FF> <span style=color:#FFF><span style=background-color:#FFF> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
C<span style=color:#A00><b>Memory</b></span>: 103508MiB / 128710MiB
C<span style=color:#000><span style=background-color:#000> <span style=color:#A00><span style=background-color:#A00> <span style=color:#0A0><span style=background-color:#0A0> <span style=color:#A50><span style=background-color:#A50> <span style=color:#00A><span style=background-color:#00A> <span style=color:#A0A><span style=background-color:#A0A> <span style=color:#0AA><span style=background-color:#0AA> <span style=color:#AAA><span style=background-color:#AAA> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
C<span style=color:#555><span style=background-color:#555> <span style=color:#F55><span style=background-color:#F55> <span style=color:#5F5><span style=background-color:#5F5> <span style=color:#FF5><span style=background-color:#FF5> <span style=color:#55F><span style=background-color:#55F> <span style=color:#F5F><span style=background-color:#F5F> <span style=color:#5FF><span style=background-color:#5FF> <span style=color:#FFF><span style=background-color:#FFF> </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
?25h?7h
@@ -109,7 +109,7 @@ C<span style=color:#555><span style=background-color:#555> <span style=color:#
| bytestash | ghcr.io/jordan-dalby/bytestash:latest | Code Gists/Snippets |
| changedetection | ghcr.io/dgtlmoon/changedetection.io | Page change monitoring with alerts |
| changedetection-chrome | dgtlmoon/sockpuppetbrowser:latest | |
| chrome | gcr.io/zenika-hub/alpine-chrome:124 | |
| chrome | gcr.io/zenika-hub/alpine-chrome:123 | |
| clipcascade | sathvikrao/clipcascade:latest | Online file converter |
| cloudflareddns | ghcr.io/hotio/cloudflareddns:latest | |
| convertx | ghcr.io/c4illin/convertx | Online file converter |
@@ -184,7 +184,7 @@ C<span style=color:#555><span style=background-color:#555> <span style=color:#
| maxun-frontend | getmaxun/maxun-frontend:latest | No-code web data extraction platform |
| maxun-pg-db | postgres:17-alpine | |
| maxun-valkey | docker.io/valkey/valkey:9-alpine | |
| meilisearch | getmeili/meilisearch:v1.25 | |
| meilisearch | getmeili/meilisearch:v1.24 | |
| meme-search-pro | ghcr.io/neonwatty/meme_search_pro:latest | Meme search engine built with Python and Ruby |
| meme-search-pro-img2txt-gen | ghcr.io/neonwatty/image_to_text_generator:latest | |
| meme-search-db | pgvector/pgvector:pg17 | |
@@ -248,7 +248,7 @@ C<span style=color:#555><span style=background-color:#555> <span style=color:#
| signoz-clickhouse | clickhouse/clickhouse-server:25.5.6-alpine | |
| signoz-init-clickhouse | clickhouse/clickhouse-server:25.5.6-alpine | |
| signoz-logspout | pavanputhra/logspout-signoz | |
| signoz-otel-collector | signoz/signoz-otel-collector:v0.129.9 | |
| signoz-otel-collector | signoz/signoz-otel-collector:v0.129.8 | |
| signoz-schema-migrator-async | signoz/signoz-schema-migrator:v0.129.8 | |
| signoz-schema-migrator-sync | signoz/signoz-schema-migrator:v0.129.8 | |
| signoz-zookeeper-1 | signoz/zookeeper:3.7.1 | |
@@ -265,7 +265,6 @@ C<span style=color:#555><span style=background-color:#555> <span style=color:#
| swag | lscr.io/linuxserver/swag:latest | SWAG Dashboard for proxies |
| tandoor | vabene1111/recipes | Recipes, cookbooks, meal-planning, & grocery lists |
| tandoor-pg | postgres:16-alpine | |
| tdarr | ghcr.io/haveagitgat/tdarr:2.55.01 | Distributed transcode automation |
| unmanic | josh5/unmanic:latest | Library Optimizer |
| uptimekuma | louislam/uptime-kuma:latest | HTTP Endpoint Monitoring |
| vault | hashicorp/vault:latest | HashiCorp Vault for secrets, key/value stores, etc. |
+62 -131
View File
@@ -263,23 +263,15 @@ services:
APPRISE_STATEFUL_MODE: simple
image: lscr.io/linuxserver/apprise-api:latest@sha256:83a67230d071dd424ee004a0e88f35209f29d413ece2db515c4454aa4097c83f
labels:
swag: enable
swag_proto: http
swag_port: 8000
swag_auth: authelia
swag_auth_bypass: /status,/notify/,/details,/metrics,/json/urls
swag_url: apprise.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa
swag.uptime-kuma.name: Apprise-API
swag.uptime-kuma.monitor.url: https://apprise.${MY_TLD}
swag.uptime-kuma.monitor.interval: 300
swag.uptime-kuma.monitor.retryInterval: 60
swag.uptime-kuma.monitor.maxretries: 5
cloudflare.tunnel.enable: true
cloudflare.tunnel.hostname: apprise.${MY_TLD}
cloudflare.tunnel.service: http://apprise:8000
cloudflare.tunnel.zonename: ${MY_TLD}
cloudflare.tunnel.no_tls_verify: true
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Apprise
homepage.icon: apprise.png
homepage.href: https://apprise.${MY_TLD}
homepage.href: http://192.168.1.254:54995
homepage.description: Multi-channel notification API
homepage.widget.type: customapi
homepage.widget.headers: "Accept: application/json"
@@ -357,7 +349,7 @@ services:
URL_HOST: asciinema.trez.wtf
URL_PORT: 4000
URL_SCHEME: https
image: ghcr.io/asciinema/asciinema-server:latest@sha256:ce1dcd55850219d2b4fa729e5f6c64efbb0af1b05d94bd150334770231762507
image: ghcr.io/asciinema/asciinema-server:latest@sha256:fad89accd5cedb366cd9213ed90e02c4f3c069458771122a9065bc7ffb2e93e1
labels:
homepage.group: Code/DevOps
homepage.name: Asciinema
@@ -395,7 +387,7 @@ services:
interval: 2s
timeout: 5s
retries: 10
image: postgres:14-alpine@sha256:09f58ad6aa5b3e93c5cfc6144d89cc6b57fccffeddb69e95650882352c543063
image: postgres:14-alpine@sha256:cb54bb67c0fca8b439f18c1daadb315ad67de1faf8c387988c63080d15a54145
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
@@ -522,7 +514,7 @@ services:
retries: 5
start_period: 30s
timeout: 10s
image: postgres:15-alpine@sha256:7f1c7abf61c4cfbdaa8d9e7f95621bc8d53186546140ff1c98a8d60421a7fb58
image: postgres:15-alpine@sha256:64583b3cb4f2010277bdd9749456de78e5c36f8956466ba14b0b96922e510950
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
@@ -585,7 +577,7 @@ services:
expose:
- 9091
- 9959 # Metrics port for Prometheus
image: authelia/authelia:master@sha256:de1bdd9bcf7089ca2d9fa95cc904218e263091b61f91b49d9caa37bd0d87e57e
image: authelia/authelia:master@sha256:c7e075422f276c85e8feef043c96915b4838d859f1663e756a2bd85c987fc9ef
labels:
homepage.group: Privacy/Security
homepage.name: Authelia
@@ -621,7 +613,7 @@ services:
POSTGRES_DB: authelia
expose:
- 5432
image: postgres:16-alpine@sha256:ac55186cd25ebb254322af8daefd355d94decb6619318a4855f5635588bf4b44
image: postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
networks:
default: null
profiles: ["rinoa-apps"]
@@ -726,7 +718,7 @@ services:
container_name: beszel
extra_hosts:
- host.docker.internal:host-gateway
image: henrygd/beszel:latest@sha256:24c5513b364a2cb6f966819389128999817afbaebfe81ba2980289e39326f484
image: henrygd/beszel:latest@sha256:37858df37c29cc532d9af103b90a4f2645bc7555f6a291ed3f15c9096a00731e
labels:
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Beszel
@@ -758,16 +750,14 @@ services:
beszel-agent:
container_name: beszel-agent
depends_on:
beszel:
condition: service_started
required: true
- beszel
environment:
PORT: 45876
# Do not remove quotes around the key
KEY: "${BESZEL_RINOA_AGENT_KEY}"
expose:
- 45876
image: henrygd/beszel-agent:latest@sha256:dee59d68ac327a755aec7651dd31b9f9a6d7db3da6f093e16e8c36c1f71a18cd
image: henrygd/beszel-agent:latest@sha256:bc6c4068ce99d20e66ea28830d853339145552704497496d1d0cfd6999413070
network_mode: host
profiles: ["rinoa-apps"]
restart: unless-stopped
@@ -889,7 +879,7 @@ services:
- 3000
extra_hosts:
- "host.docker.internal:host-gateway"
image: ghcr.io/browserless/chromium:latest@sha256:afcea6f6d6896ec11f4c0780fd6a29e99380adcc473b594ca42b313ff1f34cff
image: ghcr.io/browserless/chromium:latest@sha256:3c467f68e3b588b89faa6d27556a798121defc46509100386cd100248599fd3f
labels:
swag: enable
swag_proto: http
@@ -949,7 +939,7 @@ services:
TZ: ${TZ}
LC_ALL: en_US.UTF-8
LISTEN_HOST: 0.0.0.0
image: ghcr.io/dgtlmoon/changedetection.io@sha256:3aa47c4ca4339a3331158e4aa75805267e1c07743615bdde89d2df08e984c11d
image: ghcr.io/dgtlmoon/changedetection.io@sha256:a3684335bc4806b305b40271abc787687e716fbf68bfdb8e7e069ee19c599670
labels:
homepage.description: Page change monitoring with alerts
homepage.group: System Administration
@@ -997,7 +987,7 @@ services:
- --remote-debugging-address=0.0.0.0
- --remote-debugging-port=9222
- --hide-scrollbars
image: gcr.io/zenika-hub/alpine-chrome:124@sha256:1a0046448e0bb6c275c88f86e01faf0de62b02ec8572901256ada0a8c08be23f
image: gcr.io/zenika-hub/alpine-chrome:123@sha256:e38563d4475a3d791e986500a2e4125c9afd13798067138881cf770b1f6f3980
profiles: ["rinoa-apps"]
restart: unless-stopped
clipcascade:
@@ -1101,11 +1091,9 @@ services:
crowdsec:
container_name: crowdsec
depends_on:
swag:
condition: service_started
required: true
- swag
environment:
DOCKER_HOST: tcp:/${DOCKER_VOLUME_CONFIG}proxy:2375
DOCKER_HOST: tcp://dockerproxy:2375
GID: 1000
BOUNCER_KEY_SWAG: ${CROWDSEC_SWAG_API_KEY}
COLLECTIONS: >-
@@ -1274,7 +1262,7 @@ services:
DAGU_AUTH_TOKEN: ${DAGU_AUTH_TOKEN}
PUID: ${PUID}
PGID: ${PGID}
image: ghcr.io/dagu-org/dagu:alpine@sha256:f90010095b00a951a3ec0d6081ba1b95ef94b4bec8923f2a84b04fc52950e0a9
image: ghcr.io/dagu-org/dagu:alpine@sha256:bbf22490daba516df1eab6360dc5a2726e5f12ee0bbf0ba12df99785c900a63a
labels:
homepage.group: Automation
homepage.name: Dagu
@@ -1692,7 +1680,7 @@ services:
type: bind
excalidraw:
container_name: excalidraw
image: "excalidraw/excalidraw:latest@sha256:67c6b93d6155fac09d30759ea5f28e5ce01b4e865a783fb418c878806bf5397d"
image: "excalidraw/excalidraw:latest@sha256:b0b28b8d822519bf7fb9e2fab4a1e74754a557a4f6f42d36756ce95d281d62c5"
labels:
homepage.group: Personal Tools
homepage.name: Excalidraw
@@ -1855,7 +1843,7 @@ services:
mail__options__auth__pass: ${POSTAL_SMTP_AUTH_PASSWORD}
mail__from: "'Ghost @ Rinoa' <noreply@${MY_TLD}>"
url: https://blog.${MY_TLD}
image: ghost:latest@sha256:85e15524ac7e437720fa4ac3cd4633daaae3f95786a25633415d8d4f7382b4c4
image: ghost:latest@sha256:287c765e594fd1197a9acde9328e02dfa6c54b3d8dd2f282e8d063850af6bd3f
labels:
homepage.group: Lifestyle
homepage.name: Ghost
@@ -1960,7 +1948,7 @@ services:
interval: 10s
start_period: 20s
test: ["CMD-SHELL", "pg_isready -U gitea -d gitea"]
image: postgres:14@sha256:2b0ce813acfc95c26ca5991183e92c08918873161e2cf01179f6815a565d2e8b
image: postgres:14@sha256:962ffbe9f6418387643411b127c1db27465e5a23b9a8849bfaf45fa6323963ce
networks:
default: null
profiles: ["rinoa-infra"]
@@ -2040,7 +2028,7 @@ services:
VPN_SERVICE_PROVIDER: private internet access
expose:
- 8000
image: qmcgaw/gluetun:latest@sha256:b62730dbe8b3535d6adee4b161ed38d3fe3f37c1c32e20fed54cd4c7f974a390
image: qmcgaw/gluetun:latest@sha256:ffc080cc41f2b9cc55d413aa5779de96f0c760100879152c7b296d590b1e8a46
ports:
- 3333:3333
- 3334:3334
@@ -2107,7 +2095,7 @@ services:
guacamole:
container_name: guacamole
environment:
DOCKER_HOST: tcp:/${DOCKER_VOLUME_CONFIG}proxy:2375
DOCKER_HOST: tcp://dockerproxy:2375
EXTENSIONS: "auth-totp"
TZ: ${TZ}
image: flcontainers/guacamole:latest@sha256:81a420f386ef8cbb4697208e13ea90f6a10a54619981241bed672e4a41b5f77f
@@ -2141,7 +2129,7 @@ services:
HOMEPAGE_ALLOWED_HOSTS: ${MY_TLD}
PUID: ${PUID}
PGID: ${PGID}
image: ghcr.io/gethomepage/homepage:latest@sha256:b6ac42c31845ea7c862d71451c16413a6284430d8ff08e16ad791f42718a7c71
image: ghcr.io/gethomepage/homepage:latest@sha256:8c7ec6a3c9094af7ac0686aa361fed3129264a8ed2c17594d5114a5e8342f7c9
labels:
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa
@@ -2430,7 +2418,7 @@ services:
container_name: invidious-companion
environment:
SERVER_SECRET_KEY: ${INVID_COMPANION_KEY}
image: quay.io/invidious/invidious-companion:latest@sha256:a445ef2390360a491c6e4ebee9e53588792ebdbfebf505a6b5df45cffaa8f554
image: quay.io/invidious/invidious-companion:latest@sha256:4f589b8eedf3c2d49de4a256ee018d7e4ff54fcce683f9005a31dbb7d1bf870f
logging:
options:
max-size: "1G"
@@ -2454,7 +2442,7 @@ services:
test:
- CMD-SHELL
- pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB
image: docker.io/library/postgres:14@sha256:fd8261236f7ecebba5ed807655dd91379901cc810e219758d4c66757565694f0
image: docker.io/library/postgres:14@sha256:962ffbe9f6418387643411b127c1db27465e5a23b9a8849bfaf45fa6323963ce
networks:
default: null
profiles: ["rinoa-apps"]
@@ -2470,7 +2458,7 @@ services:
bind:
create_host_path: true
- source: ${DOCKER_VOLUME_CONFIG}/invidious/entrypoint/init-invidious-db.sh
target: ${DOCKER_VOLUME_CONFIG}-entrypoint-initdb.d/init-invidious-db.sh
target: /docker-entrypoint-initdb.d/init-invidious-db.sh
type: bind
bind:
create_host_path: true
@@ -3130,7 +3118,7 @@ services:
POSTGRES_DB: ${JOPLIN_POSTGRES_DATABASE}
expose:
- 5432
image: postgres:17-alpine@sha256:c4df1591a679546facd3108679b9f90e8b6582c8b71c68b37221c5d79dab9f8b
image: postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94
networks:
default: null
profiles: ["rinoa-apps"]
@@ -3513,7 +3501,7 @@ services:
REDIS_URL: redis://manyfold-valkey:6379/2
SECRET_KEY_BASE: ${MANYFOLD_SECRET_KEY_BASE}
MUTLIUSER: enabled
image: lscr.io/linuxserver/manyfold:latest@sha256:be3b8aa759de8b9d68f434b8889a6971401669435244ae5c4e30c08238dae07f
image: lscr.io/linuxserver/manyfold:latest@sha256:d1641224025e227201b6110a9cb699b324395b0980d35f2808769f4ea79846f1
labels:
homepage.group: Lifestyle
homepage.name: Manyfold
@@ -3613,7 +3601,7 @@ services:
AWS_SECRET_ACCESS_KEY: ${MASTODON_MINIO_SECRET_KEY}
expose:
- 3000
image: lscr.io/linuxserver/mastodon:latest@sha256:823fe06be2f289f0d2700cb7f4ddaa2d609642c3d4e84779a4af3ee1c27c561a
image: lscr.io/linuxserver/mastodon:latest@sha256:b15c78b3bdaeb84bac40a6900dc2e37d188e0b9b512299e5b2f99766106a38d8
labels:
swag: enable
swag_proto: http
@@ -3654,7 +3642,7 @@ services:
timeout: 30s
interval: 10s
retries: 5
image: postgres:17-alpine@sha256:c4df1591a679546facd3108679b9f90e8b6582c8b71c68b37221c5d79dab9f8b
image: postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94
profiles: ["rinoa-apps"]
restart: always
volumes:
@@ -3676,7 +3664,7 @@ services:
<<: *maxun-env
expose:
- 8080
image: getmaxun/maxun-backend:latest@sha256:661dce59f8019476696200bb6a94504645618fb40fefbda8c08aa14f3ce89f42
image: getmaxun/maxun-backend:latest@sha256:d9c5f3036d2bccde7387cd3ab06f6cb9f23fb9f8094a9bf83eb194683724430e
mem_limit: 2g # Set a 2GB memory limit
ports:
- 8369:8080
@@ -3692,7 +3680,7 @@ services:
depends_on:
- maxun-backend
<<: *maxun-env
image: getmaxun/maxun-frontend:latest@sha256:6751156bb5bcd699b9c75d8d1b4c0bafa08c927e3047d9aa98b211ade5832c43
image: getmaxun/maxun-frontend:latest@sha256:fd6f977affa245a2b7d93ffada7c9a5d36657b1948d2374914d6a71e0df63dd6
labels:
swag: enable
swag_proto: http
@@ -3720,7 +3708,7 @@ services:
restart: unless-stopped
maxun-pg-db:
container_name: maxun-pg-db
image: postgres:17-alpine@sha256:c4df1591a679546facd3108679b9f90e8b6582c8b71c68b37221c5d79dab9f8b
image: postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94
environment:
POSTGRES_USER: maxun
POSTGRES_PASSWORD: ${MAXUN_DB_PASSWORD}
@@ -3747,7 +3735,7 @@ services:
MEILI_HOST: http://meilisearch:7700
MEILI_NO_ANALYTICS: true
MEILI_MASTER_KEY: ${MEILISEARCH_MASTER_KEY}
image: getmeili/meilisearch:v1.25@sha256:0c2c2b954bfc230fd54334e9dcc77601eb182d0eb5b6885ce21724525e678bf9
image: getmeili/meilisearch:v1.24@sha256:d991eb07331e9d1f9cec7bc0f9523fd5d51aee3b223d997e0e66206361952056
ports:
- 7700:7700
profiles: ["rinoa-apps"]
@@ -3787,7 +3775,7 @@ services:
volumes:
- ${DOCKER_VOLUME_CONFIG}/meme_search_pro/memes/:/rails/public/memes
meme-search-pro-img2txt-gen:
image: ghcr.io/neonwatty/image_to_text_generator:latest@sha256:177892a96b226e4fe5e49900de31b1960acef92421a7e200b22fa28827d1bfa3
image: ghcr.io/neonwatty/image_to_text_generator:latest@sha256:02f6d0efcbb61a27e565442c251220d295ee0f2a6f77ad113c4a0ca8f69f72f6
container_name: meme-search-pro-img2txt-gen
deploy:
resources:
@@ -3816,7 +3804,7 @@ services:
interval: 10s
timeout: 5s
retries: 5
image: pgvector/pgvector:pg17@sha256:1a5ea285a159bed991c74a9c4751b6eadc536b3c3263f3f95ec3865885a62b69
image: pgvector/pgvector:pg17@sha256:9ae02a756ba16a2d69dd78058e25915e36e189bb36ddf01ceae86390d7ed786a
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
@@ -3970,7 +3958,7 @@ services:
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
image: mongo:7@sha256:82db6c6c8103eee46ca820c190742b7c280d02d6f993903a603cec9d56be374b
image: mongo:7@sha256:a814f930db8c4514f5fe5dc3e489f58637fb7ee32a7b9bb0b7064d3274e90b8e
ports:
- 27017:27017
profiles: ["rinoa-apps"]
@@ -4006,7 +3994,7 @@ services:
LZ_TOKEN: ${MALOJA_LISTENBRAINZ_TOKEN}
SPOTIFY_CLIENT_ID: ${YOUR_SPOTIFY_ID}
SPOTIFY_CLIENT_SECRET: ${YOUR_SPOTIFY_SECRET}
image: foxxmd/multi-scrobbler@sha256:47cc038ad87c22dbcc03b49f8ce7b54690447217b33f2307934959b4a3c992a4
image: foxxmd/multi-scrobbler@sha256:e1e4832256f5fca895dc3e2f377abfb1476230eb6b30da97fbc32840f21d1e7f
labels:
homepage.group: Media Library
homepage.name: Multi-Scrobbler
@@ -4046,7 +4034,7 @@ services:
NODE_ENV: production
WEBHOOK_URL: https://n8n.${MY_TLD}/
GENERIC_TIMEZONE: ${TZ}
image: docker.n8n.io/n8nio/n8n@sha256:f4fa73d4c9672803f989d59bf02ae9cf5333045ea02c9058e3a5653bfe56654b
image: docker.n8n.io/n8nio/n8n@sha256:a17dbca282c95d2aa5021f0860ca136c1bda529daaa37dbece117c029d65ca39
labels:
swag: enable
swag_proto: http
@@ -4205,7 +4193,7 @@ services:
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- nextcloud_aio_mastercontainer:/mnt${DOCKER_VOLUME_CONFIG}-aio-config
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
nocodb:
container_name: nocodb
depends_on:
@@ -4265,7 +4253,7 @@ services:
retries: 10
test: 'pg_isready -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"'
timeout: 2s
image: postgres:16-alpine@sha256:ac55186cd25ebb254322af8daefd355d94decb6619318a4855f5635588bf4b44
image: postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
@@ -4277,7 +4265,7 @@ services:
- nocodb_valkey_data:/data/valkey
ollama:
container_name: ollama
image: ollama/ollama:latest@sha256:3d8a05e3432d50ea57594fabe971e46cc8fe963a0f9f8c40400bd56cd5388e47
image: ollama/ollama:latest@sha256:e2f0af4a865c61b580cc17a7e2bda3c82083046b74c5a5402ce32a0d84454f9b
ports:
- 11434:11434
profiles: ["rinoa-apps"]
@@ -4575,7 +4563,7 @@ services:
interval: 5s
timeout: 5s
retries: 5
image: postgres:17-alpine@sha256:c4df1591a679546facd3108679b9f90e8b6582c8b71c68b37221c5d79dab9f8b
image: postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94
restart: unless-stopped
volumes:
- pgbackweb-data:/var/lib/postgresql/data
@@ -4650,7 +4638,7 @@ services:
interval: 10s
timeout: 5s
retries: 5
image: postgres:16-alpine@sha256:ac55186cd25ebb254322af8daefd355d94decb6619318a4855f5635588bf4b44
image: postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
profiles: ["rinoa-apps"]
restart: unless-stopped
volumes:
@@ -5043,7 +5031,7 @@ services:
VPN_PASS: ${DELUGEVPN_ENVIRONMENT_VPN_PASS}
VPN_PROV: pia
WEBUI_PORT: 8080
image: ghcr.io/binhex/arch-qbittorrentvpn:latest@sha256:bd8fcf9cd7fbf63e5c8816f98ae806ac055e915d970f59a4d40b0d99685a3b1e
image: ghcr.io/binhex/arch-qbittorrentvpn:latest@sha256:e6556875ffa483ff603c0ed76c0c10122efad1edee2d9f5e4a94244accd5b3a3
labels:
homepage.group: Downloaders
homepage.name: qBittorrent
@@ -5249,7 +5237,7 @@ services:
POSTGRES_PASSWORD: ${REACTIVE_RESUME_PGSQL_PASSWORD}
expose:
- 5432
image: postgres:16-alpine@sha256:ac55186cd25ebb254322af8daefd355d94decb6619318a4855f5635588bf4b44
image: postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
networks:
default: null
profiles: ["rinoa-apps"]
@@ -5656,7 +5644,7 @@ services:
container_name: searxng
environment:
SEARXNG_BASE_URL: https://search.${MY_TLD}
image: searxng/searxng:latest@sha256:83c3d61dc9d8fa13016ba8208a9bdb60e29701a0f789fc9c7ecd1ff8c4ae51c2
image: searxng/searxng:latest@sha256:d477c0460cc06afa57541f24c7adcae3846303a125c3ae785b9893c9c2c2186f
labels:
homepage.group: Privacy/Security
homepage.name: SearxNG
@@ -5865,7 +5853,7 @@ services:
NGINX_ERROR_LOG_FILE: /swag/log/nginx/error.log
OTEL_RESOURCE_ATTRIBUTES: host.name=signoz-host,os.type=linux
LOW_CARDINAL_EXCEPTION_GROUPING: false
image: signoz/signoz-otel-collector:v0.129.9@sha256:be909e25b2a62e32b2d39b203ca99f51cff53885edd1f0e74cb6fef7b90d89f3
image: signoz/signoz-otel-collector:v0.129.8@sha256:1beda534e337767597c3fdc83fcca8593a98b6db89bc34032e8fec7c58b7c900
ports:
# - "1777:1777" # pprof extension
- "4317:4317" # OTLP gRPC receiver
@@ -5972,7 +5960,7 @@ services:
interval: 10s
timeout: 5s
retries: 5
image: postgres:17-alpine@sha256:c4df1591a679546facd3108679b9f90e8b6582c8b71c68b37221c5d79dab9f8b
image: postgres:17-alpine@sha256:ef257d85f76e48da1c64832459b59fcaba1a4dac97bf5d7450c77753542eee94
profiles: ["rinoa-infra"]
restart: unless-stopped
volumes:
@@ -6078,12 +6066,8 @@ services:
soularr:
container_name: soularr
depends_on:
lidarr:
condition: service_started
required: true
soulseek:
condition: service_started
required: true
- lidarr
- soulseek
environment:
PUID: ${PUID}
PGID: ${PGID}
@@ -6102,10 +6086,9 @@ services:
soularr-dashboard:
container_name: soularr-dashboard
depends_on:
soularr:
condition: service_started
- soularr
environment:
DOCKER_HOST: tcp:/${DOCKER_VOLUME_CONFIG}proxy:2375
DOCKER_HOST: tcp://dockerproxy:2375
PUID: ${PUID}
PGID: ${PGID}
TZ: ${TZ}
@@ -6173,7 +6156,7 @@ services:
- ${DOCKER_VOLUME_STORAGE}/downloads/incomplete/slsk:/app/incomplete
speedtest-tracker:
container_name: speedtest-tracker
image: lscr.io/linuxserver/speedtest-tracker:latest@sha256:dbc0aaf9c49c9fab199125d2bd2a46eb8cef0133e86b3ec4bed72d23ff4f250d
image: lscr.io/linuxserver/speedtest-tracker:latest@sha256:745eec62c8cd2fa70d13926237e154d5d0ddf5201b427c497906620fcb6744b0
environment:
PUID: ${PUID}
PGID: ${PGID}
@@ -6273,7 +6256,7 @@ services:
VALIDATION: dns
CROWDSEC_API_KEY: ${CROWDSEC_SWAG_API_KEY}
CROWDSEC_LAPI_URL: http://crowdsec:8080
DOCKER_MODS: linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-proxy|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-maxmind|linuxserver/mods:universal-stdout-logs|linuxserver/mods:universal-package-install|ghcr.io/linuxserver/mods:swag-crowdsec #|ghcr.io/trezone/swag-auto-uptime-kuma:d84284c8fbec305e94a6c2f6b825e8e3430d9569 #linuxserver/mods:swag-auto-uptime-kuma
DOCKER_MODS: linuxserver/mods:universal-docker|linuxserver/mods:swag-auto-proxy|linuxserver/mods:swag-dashboard|linuxserver/mods:swag-maxmind|linuxserver/mods:universal-stdout-logs|linuxserver/mods:universal-package-install|ghcr.io/linuxserver/mods:swag-crowdsec|ghcr.io/trezone/swag-auto-uptime-kuma:d84284c8fbec305e94a6c2f6b825e8e3430d9569 #linuxserver/mods:swag-auto-uptime-kuma
INSTALL_PACKAGES: nginx-mod-http-js
PROPAGATION: 30
UPTIME_KUMA_PASSWORD: ${UPTIME_KUMA_PASSWORD}
@@ -6382,7 +6365,7 @@ services:
POSTGRES_USER: tandoor
expose:
- 5432
image: postgres:16-alpine@sha256:ac55186cd25ebb254322af8daefd355d94decb6619318a4855f5635588bf4b44
image: postgres:16-alpine@sha256:029660641a0cfc575b14f336ba448fb8a75fd595d42e1fa316b9fb4378742297
networks:
default: null
profiles: ["rinoa-apps"]
@@ -6392,58 +6375,6 @@ services:
target: /var/lib/postgresql/data
type: volume
volume: {}
tdarr:
container_name: tdarr
environment:
TZ: ${TZ}
PUID: ${PUID}
PGID: ${PGID}
UMASK_SET: 002
serverIP: 0.0.0.0
serverPort: 8266
webUIPort: 8265
internalNode: true
inContainer: true
ffmpegVersion: 7
nodeName: tdarr-rinoa
auth: false
authSecretKey: ${TDARR_AUTH_SECRET_KEY}
openBrowser: true
maxLogSizeMB: 10
cronPluginUpdate:
NVIDIA_DRIVER_CAPABILITIES: all
NVIDIA_VISIBLE_DEVICES: all
image: ghcr.io/haveagitgat/tdarr:2.55.01@sha256:b1b8a353dcaacf648e8681a0cf9f324d64f6741cb80d427a7065f4881602f4d5
labels:
homepage.group: Servarr Stack
homepage.name: Tdarr
homepage.href: https://tdarr.${MY_TLD}
homepage.icon: tdarr.png
homepage.description: Distributed transcode automation
homepage.widget.type: tdarr
homepage.widget.url: http://tdarr:8266
swag: enable
swag_proto: http
swag_port: 8265
swag_address: tdarr
swag_url: tdarr.${MY_TLD}
swag.uptime-kuma.enabled: true
swag.uptime-kuma.monitor.parent: Rinoa
swag.uptime-kuma.name: Tdarr
swag.uptime-kuma.monitor.url: https://tdarr.${MY_TLD}
swag.uptime-kuma.monitor.interval: 300
swag.uptime-kuma.monitor.retryInterval: 60
swag.uptime-kuma.monitor.maxretries: 5
ports:
- 8265:8265
- 8266:8266
restart: unless-stopped
volumes:
- ${DOCKER_VOLUME_CONFIG}/tdarr/server:/app/server
- ${DOCKER_VOLUME_CONFIG}/tdarr/configs:/app/configs
- ${DOCKER_VOLUME_CONFIG}/tdarr/logs:/app/logs
- ${DOCKER_VOLUME_CONFIG}/tdarr/transcode_cache:/temp
- ${DOCKER_VOLUME_STORAGE}/:/media
unmanic:
container_name: unmanic
environment:
@@ -6503,9 +6434,9 @@ services:
TZ: ${TZ}
UPTIME_KUMA_USERNAME: ${UPTIME_KUMA_USERNAME}
UPTIME_KUMA_PASSWORD: ${UPTIME_KUMA_PASSWORD}
DOCKER_HOST: tcp:/${DOCKER_VOLUME_CONFIG}proxy:2375
DOCKER_HOST: tcp://dockerproxy:2375
hostname: Rinoa
image: louislam/uptime-kuma:latest@sha256:431fee3be822b04861cf0e35daf4beef6b7cb37391c5f26c3ad6e12ce280fe18
image: louislam/uptime-kuma:latest@sha256:3d632903e6af34139a37f18055c4f1bfd9b7205ae1138f1e5e8940ddc1d176f9
labels:
homepage.group: Infrastructure/App Performance Monitoring
homepage.name: Uptime Kuma
@@ -6636,7 +6567,7 @@ services:
restart: unless-stopped
whodb:
container_name: whodb
image: clidey/whodb@sha256:6cc1a109c739c824157c2782d07767ce9a5312a537f7056ec857ddab17e31c0f
image: clidey/whodb@sha256:9bdd46c7d37c2cf6aa57a689749eb28acd5ea6b63519c58d59cb25a1ee8f57ae
environment:
WHODB_CLICKHOUSE_1: '{
"host": "signoz-clickhouse"