Some stuff

This commit is contained in:
2026-08-04 22:02:01 +01:00
parent 4ba21094ca
commit 8faa717ebb
22 changed files with 2349 additions and 173 deletions
+119 -133
View File
@@ -14,21 +14,6 @@ x-logging: &logging
# PLAYWRIGHT_MICROSERVICE_URL: http://playwright:3000/scrape
services:
# change:
# <<: *logging
# profiles: ["prod"]
# container_name: change
# image: node:alpine
# build: ./change-game
# environment:
# - PORT=9000
# - VIRTUAL_HOST=rec.${DOMAIN}
# - CERT_NAME=${DOMAIN}
# - VIRTUAL_PORT=9000
# networks:
# - nginx
# volumes:
# - change:/change/public
foundry:
profiles: ["prod"]
@@ -62,7 +47,7 @@ services:
profiles: ["prod", "dev"]
<<: *logging
build: ./nextcloud
image: nextcloud:32-fpm-alpine
image: nextcloud:33-fpm-alpine
restart: unless-stopped
user: 1000:1000
ports:
@@ -165,62 +150,126 @@ services:
- nginx
depends_on:
- db
librechat:
image: ghcr.io/danny-avila/librechat-dev-api:latest
ports:
- 3080:3080
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
volumes:
- /mnt/tower/stardust/chris/files/Library/Audiobooks:/audiobooks
- /mnt/tower/stardust/chris/files/Library/Podcasts:/podcasts
- /mnt/tower/stardust/chris/files/Library/Audiobooks/.audiobookshelf/config:/config
- /mnt/tower/stardust/chris/files/Library/Audiobooks/.audiobookshelf:/metadata
environment:
- TZ=Europe/London
- VIRTUAL_HOST=echo.${DOMAIN}
- VIRTUAL_PORT=80
networks:
- nginx
- redis
- db
depends_on:
- mongodb
# - rag_api
restart: always
extra_hosts:
- "host.docker.internal:host-gateway"
<<: *logging
environment:
- VIRTUAL_HOST=droid.${DOMAIN}
- VIRTUAL_PORT=3080
- CERT_NAME=${DOMAIN}
- HOST=0.0.0.0
- NODE_ENV=production
- MONGO_URI=mongodb://${DB_USER}:${DB_PASSWORD}@mongodb:27017/LibreChat?authSource=admin
#- MEILI_HOST=http://meilisearch:7700
#- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
#- RAG_PORT=8000
#- RAG_API_URL=http://rag_api:8000
#- SEARXNG_INSTANCE_URL=http://searxng:8080
#- SEARXNG_API_KEY=${SEARXNG_SECRET_KEY}
#- FIRECRAWL_URL=http://firecrawl:3002
#- FIRECRWAL_API_KEY=
- ALLOW_EMAIL_LOGIN=true
- ALLOW_REGISTRATION=false
- ALLOW_SOCIAL_LOGIN=false
- ALLOW_SOCIAL_REGISTRATION=false
- ALLOW_PASSWORD_RESET=false
- ALLOW_ACCOUNT_DELETION=false
- ALLOW_UNVERIFIED_EMAIL_LOGIN=true
- CREDS_KEY=${LIBRECHAT_CREDS_KEY}
- CREDS_IV=${LIBRECHAT_CREDS_IV}
- JWT_SECRET=${LIBRECHAT_JWT_SECRET}
- JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
- AIHUBMIX_KEY=${AIHUBMIX_KEY}
- OPENROUTER_KEY=${OPENROUTER_KEY}
- IMAGE_GEN_OAI_BASEURL=https://aihubmix.com/v1
- IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY}
- IMAGE_GEN_OAI_MODEL=qwen-image-plus
#- JINA_API_KEY=${JINA_API_KEY}
kavita:
image: jvmilazz0/kavita:latest # Using the stable branch from the official dockerhub repo.
container_name: kavita
volumes:
- type: bind
source: ./librechat/librechat.yaml
target: /app/librechat.yaml
- /mnt/tower/stardust/chris/files/.droid/images:/app/client/public/images
- /mnt/tower/stardust/chris/files/.droid/uploads:/app/uploads
- /mnt/tower/stardust/chris/files/.droid/logs:/app/logs
- /mnt/tower/stardust/chris/files/:/files
# - /your/path/to/comics:/comics
- /mnt/tower/stardust/chris/files/Library/Books:/books
- /mnt/tower/stardust/chris/files/Library/Books/.kavita/config:/kavita/config
environment:
- TZ=Europe/London
- VIRTUAL_HOST=datapad.${DOMAIN}
- VIRTUAL_PORT=5000
restart: unless-stopped
networks:
- nginx
grocy:
image: lscr.io/linuxserver/grocy:latest
container_name: grocy
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- VIRTUAL_HOST=assets.${DOMAIN}
- VIRTUAL_PORT=9283
volumes:
- ./grocy/config:/config
restart: unless-stopped
# calibre-web-automated:
# image: crocodilestick/calibre-web-automated:latest
# container_name: calibre-web-automated
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=Europe/London
# - HARDCOVER_TOKEN=${HARDCOVER_TOKEN}
# - NETWORK_SHARE_MODE=false
# # If running behind multiple proxies (e.g., Cloudflare Tunnel + reverse proxy), set the total number of proxies
# # This ensures proper IP detection for session protection and rate limiting (default: 1)
# # - TRUSTED_PROXY_COUNT=2
# - VIRTUAL_HOST=datapad.${DOMAIN}
# - VIRTUAL_PORT=8083
# volumes:
# - /mnt/tower/stardust/chris/files/Library/Books/.calibre/config:/config
# - /mnt/tower/stardust/chris/files/Library/Books/.calibre/ingest:/cwa-book-ingest
# - /mnt/tower/stardust/chris/files/Library/Books/.calibre/library:/calibre-library
# networks:
# - nginx
# restart: unless-stopped
# librechat:
# image: ghcr.io/danny-avila/librechat-dev-api:latest
# ports:
# - 3080:3080
# networks:
# - nginx
# - redis
# - db
# depends_on:
# - mongodb
# # - rag_api
# restart: always
# extra_hosts:
# - "host.docker.internal:host-gateway"
# <<: *logging
# environment:
# - VIRTUAL_HOST=droid.${DOMAIN}
# - VIRTUAL_PORT=3080
# - CERT_NAME=${DOMAIN}
# - HOST=0.0.0.0
# - NODE_ENV=production
# - MONGO_URI=mongodb://${DB_USER}:${DB_PASSWORD}@mongodb:27017/LibreChat?authSource=admin
# #- MEILI_HOST=http://meilisearch:7700
# #- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
# #- RAG_PORT=8000
# #- RAG_API_URL=http://rag_api:8000
# #- SEARXNG_INSTANCE_URL=http://searxng:8080
# #- SEARXNG_API_KEY=${SEARXNG_SECRET_KEY}
# #- FIRECRAWL_URL=http://firecrawl:3002
# #- FIRECRWAL_API_KEY=
# - ALLOW_EMAIL_LOGIN=true
# - ALLOW_REGISTRATION=false
# - ALLOW_SOCIAL_LOGIN=false
# - ALLOW_SOCIAL_REGISTRATION=false
# - ALLOW_PASSWORD_RESET=false
# - ALLOW_ACCOUNT_DELETION=false
# - ALLOW_UNVERIFIED_EMAIL_LOGIN=true
# - CREDS_KEY=${LIBRECHAT_CREDS_KEY}
# - CREDS_IV=${LIBRECHAT_CREDS_IV}
# - JWT_SECRET=${LIBRECHAT_JWT_SECRET}
# - JWT_REFRESH_SECRET=${LIBRECHAT_JWT_REFRESH_SECRET}
# - AIHUBMIX_KEY=${AIHUBMIX_KEY}
# - OPENROUTER_KEY=${OPENROUTER_KEY}
# - IMAGE_GEN_OAI_BASEURL=https://aihubmix.com/v1
# - IMAGE_GEN_OAI_API_KEY=${AIHUBMIX_KEY}
# - IMAGE_GEN_OAI_MODEL=qwen-image-plus
# #- JINA_API_KEY=${JINA_API_KEY}
# volumes:
# - type: bind
# source: ./librechat/librechat.yaml
# target: /app/librechat.yaml
# - /mnt/tower/stardust/chris/files/.droid/images:/app/client/public/images
# - /mnt/tower/stardust/chris/files/.droid/uploads:/app/uploads
# - /mnt/tower/stardust/chris/files/.droid/logs:/app/logs
# - /mnt/tower/stardust/chris/files/:/files
searxng:
image: docker.io/searxng/searxng:latest
@@ -239,69 +288,6 @@ services:
- CERT_NAME=${DOMAIN}
<<: *logging
openclaw-gateway:
image: alpine/openclaw
build:
args:
OPENCLAW_DOCKER_APT_PACKAGES: "git curl jq ffmpeg build-essentials fzf ripgrep fd imagemagick exiftool"
NEXTCLOUD_USER: ${NEXTCLOUD_OPENCLAW_USER}
NEXTCLOUD_PASSWORD: ${NEXTCLOUD_OPENCLAW_PASSWORD}
user: 1000:1000
environment:
HOME: /home/node
TERM: xterm-256color
OPENROUTER_API_KEY: ${OPENROUTER_KEY}
OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
BRAVE_API_KEY: ${BRAVE_API_KEY}
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
VIRTUAL_HOST: kiwa.${DOMAIN}
VIRTUAL_PORT: "18789"
volumes:
- ./openclaw/config:/home/node/.openclaw
- ./openclaw/workspace:/home/node/.openclaw/workspace
- /mnt/tower/stardust/chris/files/:/files:ro
- openclaw:/home/node
ports:
- "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
- "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
networks:
- nginx
init: true
restart: unless-stopped
command:
[
"node",
"dist/index.js",
"gateway",
"--bind",
"${OPENCLAW_GATEWAY_BIND:-lan}",
"--port",
"18789",
]
openclaw-cli:
image: alpine/openclaw
build:
args:
OPENCLAW_DOCKER_APT_PACKAGES: "git curl jq ffmpeg build-essentials fzf ripgrep fd imagemagick exiftool"
user: 1000:1000
environment:
HOME: /home/node
TERM: xterm-256color
OPENROUTER_API_KEY: ${OPENROUTER_KEY}
BRAVE_API_KEY: ${BRAVE_API_KEY}
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN}
BROWSER: echo
volumes:
- ./openclaw/config:/home/node/.openclaw
- ./openclaw/workspace:/home/node/.openclaw/workspace
- /mnt/tower/stardust/chris/files/:/files:ro
- openclaw:/home/node
stdin_open: true
tty: true
init: true
entrypoint: ["node", "dist/index.js"]
minecraft:
profiles: ["prod"]
<<: *logging
@@ -355,7 +341,7 @@ services:
- ND_BASEURL=https://radio.${DOMAIN}
volumes:
- navidrome:/data
- /mnt/tower/stardust/chris/files/Music:/music:ro
- /mnt/tower/stardust/chris/files/Library/Music:/music:ro
networks:
- nginx