diff --git a/.gitignore b/.gitignore index 01f94af..0f1ec4b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,6 @@ qbittorrent/config/qBittorrent/qBittorrent-data.conf !stash/cron/**/* !stash/config/config.yml !stash/stash-box-config/* -!stash/config/plugins/**/* \ No newline at end of file +!stash/config/plugins/**/* +!servarr/slskd/slskd.yml +qbittorrent/config/qBittorrent/qBittorrent-data.conf diff --git a/servarr/docker-compose.yml b/servarr/docker-compose.yml index 413b1b6..62db9e5 100644 --- a/servarr/docker-compose.yml +++ b/servarr/docker-compose.yml @@ -41,11 +41,12 @@ services: - SLSKD_SLSK_PASSWORD=asdf1234 volumes: - ./slskd:/app - - /mnt/servarr/data/media/music:/music + - /mnt/servarr/data/torrents/music:/music + - /mnt/servarr/data/media/music:/music-organized restart: unless-stopped lidarr: - image: lscr.io/linuxserver/lidarr:latest + image: ghcr.io/hotio/lidarr:pr-plugins container_name: lidarr environment: - PUID=1000 diff --git a/servarr/slskd/slskd.yml b/servarr/slskd/slskd.yml new file mode 100644 index 0000000..d5c0a6a --- /dev/null +++ b/servarr/slskd/slskd.yml @@ -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: +# secret: +# 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: +# 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: +# - +# cidrs: +# - +# 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: +# 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 diff --git a/stash/config/config.yml b/stash/config/config.yml index 4800273..94f33f2 100644 --- a/stash/config/config.yml +++ b/stash/config/config.yml @@ -39,48 +39,48 @@ defaults: sprites: false transcodes: false 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: fieldoptions: - - field: title + - createmissing: false + field: title strategy: IGNORE - createmissing: false - - field: studio + - createmissing: true + field: studio strategy: MERGE - createmissing: true - - field: performers + - createmissing: true + field: performers strategy: MERGE - createmissing: true - - field: tags + - createmissing: true + field: tags strategy: MERGE - createmissing: true + includemaleperformers: true setcoverimage: false setorganized: false - includemaleperformers: true skipmultiplematches: true skipmultiplematchtag: null skipsinglenameperformers: true skipsinglenameperformertag: null - sceneids: [] 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: scangenerateclippreviews: true scangeneratecovers: true @@ -146,8 +146,8 @@ stash: excludevideo: false path: /data/ 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 theme_color: '#202b33' ui: diff --git a/stash/docker-compose.yml b/stash/docker-compose.yml index 0957e6e..e7b1116 100644 --- a/stash/docker-compose.yml +++ b/stash/docker-compose.yml @@ -32,62 +32,12 @@ services: ## Point this at your collection. - /mnt/system:/data ## This is where your stash's metadata lives - - ./metadata:/metadata + - /mnt/ssd120/stash/metadata:/metadata ## Any other cache content. - - ./cache:/cache + - /mnt/ssd120/stash/cache:/cache ## 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) - - ./generated:/generated + #- ./generated:/generated + - /mnt/ssd120/stash/generated:/generated - ./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(``) - # - 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=" - # - "--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