move stash generated location

This commit is contained in:
Christoph Califice
2025-10-11 17:47:34 -03:00
parent c9d4480e96
commit 295bcba288
5 changed files with 307 additions and 89 deletions

2
.gitignore vendored
View File

@@ -12,3 +12,5 @@ qbittorrent/config/qBittorrent/qBittorrent-data.conf
!stash/config/config.yml !stash/config/config.yml
!stash/stash-box-config/* !stash/stash-box-config/*
!stash/config/plugins/**/* !stash/config/plugins/**/*
!servarr/slskd/slskd.yml
qbittorrent/config/qBittorrent/qBittorrent-data.conf

View File

@@ -41,11 +41,12 @@ services:
- SLSKD_SLSK_PASSWORD=asdf1234 - SLSKD_SLSK_PASSWORD=asdf1234
volumes: volumes:
- ./slskd:/app - ./slskd:/app
- /mnt/servarr/data/media/music:/music - /mnt/servarr/data/torrents/music:/music
- /mnt/servarr/data/media/music:/music-organized
restart: unless-stopped restart: unless-stopped
lidarr: lidarr:
image: lscr.io/linuxserver/lidarr:latest image: ghcr.io/hotio/lidarr:pr-plugins
container_name: lidarr container_name: lidarr
environment: environment:
- PUID=1000 - PUID=1000

265
servarr/slskd/slskd.yml Normal file
View File

@@ -0,0 +1,265 @@
# debug: false
# headless: false
# remote_configuration: false
# remote_file_management: false
# instance_name: default
# flags:
# no_logo: false
# no_start: false
# no_config_watch: false
# no_connect: false
# no_share_scan: false
# force_share_scan: false
# no_version_check: false
# log_sql: false
# experimental: false
# volatile: false
# case_sensitive_reg_ex: false
# legacy_windows_tcp_keepalive: false
# optimistic_relay_file_info: false
# relay:
# enabled: false
# mode: controller # controller (default), agent, or debug (for local development)
# # controller config is required when running in 'agent' mode
# # this specifies the relay controller that will be controlling this agent
# controller:
# address: https://some.site.com:5000
# ignore_certificate_errors: false
# api_key: <a 16-255 character string corresponding to one of the controller's 'readwrite' or 'administrator' API keys>
# secret: <a 16-255 character shared secret matching the controller's config for this agent>
# downloads: false
# # agent config is optional when running in 'controller' mode
# # this specifies all of the agents capable of connecting
# agents:
# my_agent:
# instance_name: my_agent # make sure the top-level instance_name of the agent matches!
# secret: <a 16-255 character string unique to this agent>
# cidr: 0.0.0.0/0,::/0
# permissions:
# file:
# mode: ~ # not for Windows, chmod syntax, e.g. 644, 777. can't escalate beyond umask
directories:
# incomplete: ~
downloads: /music
shares:
directories:
- /music-organized
# filters:
# - \.ini$
# - Thumbs.db$
# - \.DS_Store$
# cache:
# storage_mode: memory
# workers: 16
# retention: ~ # retain indefinitely (do not automatically re-scan)
# rooms:
# - ~
# global:
# upload:
# slots: 20
# speed_limit: 1000 # in kibibytes
# limits:
# queued:
# files: 500
# megabytes: 5000
# daily:
# files: 1000
# megabytes: 10000
# failures: 200
# weekly:
# files: 5000
# megabytes: 50000
# failures: 1000
# download:
# slots: 500
# speed_limit: 1000
# groups:
# default:
# upload:
# priority: 500
# strategy: roundrobin
# slots: 10
# limits:
# queued:
# files: 150
# megabytes: 1500
# daily: ~ # no daily limits (weekly still apply)
# weekly:
# files: 1500
# megabytes: 15000
# failures: 150
# leechers:
# thresholds:
# files: 1
# directories: 1
# upload:
# priority: 999
# strategy: roundrobin
# slots: 1
# speed_limit: 100
# limits:
# queued:
# files: 15
# megabytes: 150
# daily:
# files: 30
# megabytes: 300
# failures: 10
# weekly:
# files: 150
# megabytes: 1500
# failures: 30
# blacklisted:
# members:
# - <username to blacklist>
# cidrs:
# - <CIDR to blacklist, e.g. 255.255.255.255/32>
# user_defined:
# my_buddies:
# upload:
# priority: 250
# strategy: firstinfirstout
# slots: 10
# limits:
# queued:
# files: 1000 # override global default
# members:
# - alice
# - bob
# blacklist:
# enabled: true
# file: <path to file containing CIDRs to blacklist>
# filters:
# search:
# request:
# - ^.{1,2}$
web:
# port: 5030
# https:
# disabled: false
# port: 5031
# force: false
# certificate:
# pfx: ~
# password: ~
# url_base: /
# content_path: wwwroot
# logging: false
authentication:
# disabled: false
# username: slskd
# password: slskd
# jwt:
# key: ~
# ttl: 604800000
api_keys:
my_api_key:
key: qwertyuiopasdfghjklzxcvbnm
# role: readonly # readonly, readwrite, administrator
# cidr: 0.0.0.0/0,::/0
# retention:
# searches: 10080 # 7 days, in minutes
# transfers:
# upload:
# succeeded: 1440 # 1 day, in minutes
# errored: 30
# cancelled: 5
# download:
# succeeded: 1440 # 1 day, in minutes
# errored: 20160 # 2 weeks, in minutes
# cancelled: 5
# files:
# complete: 20160 # 2 weeks, in minutes
# incomplete: 43200 # 30 days, in minutes
# logs: 180 # days
# logger:
# disk: false
# no_color: false
# loki: ~
# metrics:
# enabled: false
# url: /metrics
# authentication:
# disabled: false
# username: slskd
# password: slskd
# feature:
# swagger: false
# soulseek:
# address: vps.slsknet.org
# port: 2271
# username: ~
# password: ~
# description: |
# A slskd user. https://github.com/slskd/slskd
# listen_ip_address: 0.0.0.0
# listen_port: 50300
# diagnostic_level: Info
# distributed_network:
# disabled: false
# disable_children: false
# child_limit: 25
# logging: false
# connection:
# timeout:
# connect: 10000
# inactivity: 15000
# buffer:
# read: 16384
# write: 16384
# transfer: 262144
# write_queue: 250
# proxy:
# enabled: false
# address: ~
# port: ~
# username: ~
# password: ~
# integration:
# webhooks:
# my_webhook:
# on:
# - DownloadFileComplete
# call:
# url: https://192.168.1.42:8080/slskd_webhook
# headers:
# - name: X-API-Key
# value: foobar1234
# - name: Authorization
# value: Bearer eyJ...ssw5c
# - name: User-Agent
# value: slskd/0.0
# ignore_certificate_errors: false
# timeout: 5000 # in milliseconds
# retry:
# attempts: 3
# scripts:
# my_post_download_script:
# on:
# - DownloadFileComplete
# - DownloadDirectoryComplete
# run: data/my_script.sh --json-to-process $EVENT
# my_logging_script:
# on:
# - All
# run: data/log_slskd_events.sh $DATA
# ftp:
# enabled: false
# address: ~
# port: ~
# username: ~
# password: ~
# remote_path: /
# encryption_mode: auto
# ignore_certificate_errors: false
# overwrite_existing: true
# connection_timeout: 5000
# retry_attempts: 3
# pushbullet:
# enabled: false
# access_token: ~
# notification_prefix: "From slskd:"
# notify_on_private_message: true
# notify_on_room_mention: true
# retry_attempts: 3
# cooldown_time: 900000

View File

@@ -39,48 +39,48 @@ defaults:
sprites: false sprites: false
transcodes: false transcodes: false
identify_task: identify_task:
sources:
- source:
stashboxindex: null
stashboxendpoint: null
scraperid: builtin_autotag
options:
fieldoptions: []
setcoverimage: null
setorganized: false
includemaleperformers: null
skipmultiplematches: true
skipmultiplematchtag: null
skipsinglenameperformers: true
skipsinglenameperformertag: null
- source:
stashboxindex: null
stashboxendpoint: https://stashdb.org/graphql
scraperid: null
options: null
options: options:
fieldoptions: fieldoptions:
- field: title - createmissing: false
field: title
strategy: IGNORE strategy: IGNORE
createmissing: false - createmissing: true
- field: studio field: studio
strategy: MERGE strategy: MERGE
createmissing: true - createmissing: true
- field: performers field: performers
strategy: MERGE strategy: MERGE
createmissing: true - createmissing: true
- field: tags field: tags
strategy: MERGE strategy: MERGE
createmissing: true includemaleperformers: true
setcoverimage: false setcoverimage: false
setorganized: false setorganized: false
includemaleperformers: true
skipmultiplematches: true skipmultiplematches: true
skipmultiplematchtag: null skipmultiplematchtag: null
skipsinglenameperformers: true skipsinglenameperformers: true
skipsinglenameperformertag: null skipsinglenameperformertag: null
sceneids: []
paths: [] paths: []
sceneids: []
sources:
- options:
fieldoptions: []
includemaleperformers: null
setcoverimage: null
setorganized: false
skipmultiplematches: true
skipmultiplematchtag: null
skipsinglenameperformers: true
skipsinglenameperformertag: null
source:
scraperid: builtin_autotag
stashboxendpoint: null
stashboxindex: null
- options: null
source:
scraperid: null
stashboxendpoint: https://stashdb.org/graphql
stashboxindex: null
scan_task: scan_task:
scangenerateclippreviews: true scangenerateclippreviews: true
scangeneratecovers: true scangeneratecovers: true
@@ -146,8 +146,8 @@ stash:
excludevideo: false excludevideo: false
path: /data/ path: /data/
stash_boxes: stash_boxes:
- endpoint: https://stashdb.org/graphql - apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJhMmU5NTc3Ny0zOGEwLTQwMWYtYWMxNC01MjBkZmFjOWJhOTMiLCJzdWIiOiJBUElLZXkiLCJpYXQiOjE3NTk3NjAxMjV9.gOzykd_FyhgUNiircH9gE7S3nvLQrNMQ_26yzupVMkY
apikey: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJhMmU5NTc3Ny0zOGEwLTQwMWYtYWMxNC01MjBkZmFjOWJhOTMiLCJzdWIiOiJBUElLZXkiLCJpYXQiOjE3NTk3NjAxMjV9.gOzykd_FyhgUNiircH9gE7S3nvLQrNMQ_26yzupVMkY endpoint: https://stashdb.org/graphql
name: stash-box name: stash-box
theme_color: '#202b33' theme_color: '#202b33'
ui: ui:

View File

@@ -32,62 +32,12 @@ services:
## Point this at your collection. ## Point this at your collection.
- /mnt/system:/data - /mnt/system:/data
## This is where your stash's metadata lives ## This is where your stash's metadata lives
- ./metadata:/metadata - /mnt/ssd120/stash/metadata:/metadata
## Any other cache content. ## Any other cache content.
- ./cache:/cache - /mnt/ssd120/stash/cache:/cache
## Where to store binary blob data (scene covers, images) ## Where to store binary blob data (scene covers, images)
- ./blobs:/blobs - /mnt/ssd120/stash/blobs:/blobs
## Where to store generated content (screenshots,previews,transcodes,sprites) ## Where to store generated content (screenshots,previews,transcodes,sprites)
- ./generated:/generated #- ./generated:/generated
- /mnt/ssd120/stash/generated:/generated
- ./cron/15min:/etc/periodic/15min - ./cron/15min:/etc/periodic/15min
postgres:
container_name: postgres-stash-box
#build: ./postgres
image: postgres:14-alpine
restart: unless-stopped
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: asdf1234
POSTGRES_DB: postgres
volumes:
- ./pgdata:/var/lib/postgresql/data
stash-box:
container_name: stash-box
image: stashapp/stash-box:latest
restart: unless-stopped
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
links:
- postgres
volumes:
- ./stash-box-config:/root/.stash-box
# labels:
# - traefik.http.routers.stash-box.rule=Host(`<DOMAIN>`)
# - traefik.http.routers.stash-box.tls=true
# - traefik.http.routers.stash-box.tls.certresolver=stash-box
# - traefik.port=9998
# traefik:
# container_name: traefik
# image: traefik:2.3
# restart: unless-stopped
# ports:
# - 80:80
# - 443:443
# command:
# - "--entrypoints.web.address=:80"
# - "--entrypoints.websecure.address=:443"
# - "--entryPoints.web.http.redirections.entryPoint.to=websecure"
# - "--entryPoints.web.http.redirections.entryPoint.scheme=https"
# - "--providers.docker=true"
# - "--certificatesResolvers.stash-box.acme.email=<EMAIL>"
# - "--certificatesResolvers.stash-box.acme.storage=/acme.json"
# - "--certificatesresolvers.stash-box.acme.tlschallenge=true"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock:ro
# - /traefik/acme.json:/acme.json