initial commit

This commit is contained in:
Christoph Califice
2025-08-13 23:58:58 -03:00
commit 809b545ece
11 changed files with 609 additions and 0 deletions

9
.gitignore vendored Normal file
View File

@@ -0,0 +1,9 @@
*
!*/
!.gitignore
!*/docker-compose.y*ml
!*/.*env*
!qbittorrent/config/qBittorrent/*.conf
!qbittorrent/config/qBittorrent/*.json

View File

@@ -0,0 +1,17 @@
services:
glances:
#image: nicolargo/glances:3.4.0.5-full
image: nicolargo/glances:latest-full
container_name: glances-arr
restart: always
pid: host
ports:
- 61208:61208
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Uncomment the below line if you want glances to display host OS detail instead of container's
- /etc/os-release:/etc/os-release:ro
- /mnt/hdd_1tb:/mnt/hdd_1tb
- /:/host
environment:
- "GLANCES_OPT=-w"

15
kavita/docker-compose.yml Normal file
View File

@@ -0,0 +1,15 @@
services:
kavita:
image: jvmilazz0/kavita:latest # Using the stable branch from the official dockerhub repo.
container_name: kavita
volumes:
- /mnt/system/Etc/NotPorn:/images # Manga is just an example you can have the name you want. See the following
# - ./comics:/comics # Use as many as you want
# - ./books:/books #
- ./data:/kavita/config # Change './data if you want to have the config files in a different place.
# /kavita/config must not be changed
environment:
- TZ=America/Sao_Paulo
ports:
- "5000:5000" # Change the public port (the first 5000) if you have conflicts with other services
restart: unless-stopped

View File

@@ -0,0 +1,23 @@
{
"books": {
"save_path": ""
},
"games": {
"save_path": ""
},
"movies": {
"save_path": ""
},
"music": {
"save_path": ""
},
"radarr": {
"save_path": ""
},
"tv": {
"save_path": ""
},
"xxx": {
"save_path": ""
}
}

View File

@@ -0,0 +1,2 @@
[Stats]
AllStats=@Variant(\0\0\0\x1c\0\0\0\x2\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0\x44\0L\0\0\0\x4\0\0\t\x14\x1ak\xe9\xfe\0\0\0\x12\0\x41\0l\0l\0t\0i\0m\0\x65\0U\0L\0\0\0\x4\0\0R\x10\x46L\xcf\xe5)

View File

@@ -0,0 +1,114 @@
[Application]
FileLogger\Age=1
FileLogger\AgeType=1
FileLogger\Backup=true
FileLogger\DeleteOld=true
FileLogger\Enabled=true
FileLogger\MaxSizeBytes=66560
FileLogger\Path=/config/qBittorrent/logs
[AutoRun]
OnTorrentAdded\Enabled=false
OnTorrentAdded\Program=
enabled=false
program=
[BitTorrent]
Session\AddTorrentStopped=false
Session\AlternativeGlobalDLSpeedLimit=10000
Session\AlternativeGlobalUPSpeedLimit=0
Session\BandwidthSchedulerEnabled=true
Session\DHTEnabled=true
Session\DefaultSavePath=/data/torrents
Session\DisableAutoTMMByDefault=false
Session\ExcludedFileNames=
Session\GlobalDLSpeedLimit=0
Session\IgnoreSlowTorrentsForQueueing=true
Session\LSDEnabled=true
Session\MaxActiveCheckingTorrents=2
Session\MaxActiveDownloads=10
Session\MaxActiveTorrents=100
Session\MaxActiveUploads=20
Session\MaxConnections=-1
Session\MaxUploads=-1
Session\MaxUploadsPerTorrent=-1
Session\PeXEnabled=true
Session\Port=40848
Session\QueueingSystemEnabled=true
Session\SSL\Port=55040
Session\ShareLimitAction=Stop
Session\Tags=LastFiles, SceneTime
Session\TempPath=/downloads/incomplete/
Session\UseAlternativeGlobalSpeedLimit=true
[Core]
AutoDeleteAddedTorrentFile=Never
[LegalNotice]
Accepted=true
[Meta]
MigrationVersion=8
[Network]
Cookies=@Invalid()
PortForwardingEnabled=false
Proxy\HostnameLookupEnabled=false
Proxy\Profiles\BitTorrent=true
Proxy\Profiles\Misc=true
Proxy\Profiles\RSS=true
[Preferences]
Advanced\RecheckOnCompletion=false
Advanced\trackerPort=9000
Advanced\trackerPortForwarding=false
Connection\PortRangeMin=6881
Connection\ResolvePeerCountries=true
Connection\UPnP=false
Downloads\SavePath=/downloads/
Downloads\TempPath=/downloads/incomplete/
DynDNS\DomainName=aaaaaa.dyndns.org
DynDNS\Enabled=false
DynDNS\Password=
DynDNS\Service=DynDNS
DynDNS\Username=
General\Locale=en
MailNotification\email=
MailNotification\enabled=false
MailNotification\password=
MailNotification\req_auth=true
MailNotification\req_ssl=false
MailNotification\sender=qBittorrent_notification@example.com
MailNotification\smtp_server=smtp.changeme.com
MailNotification\username=
Scheduler\end_time=@Variant(\0\0\0\xf\x5%q\xa0)
Scheduler\start_time=@Variant(\0\0\0\xf\x1\xee\x62\x80)
WebUI\Address=*
WebUI\AlternativeUIEnabled=false
WebUI\AuthSubnetWhitelist=192.168.1.0/24
WebUI\AuthSubnetWhitelistEnabled=true
WebUI\BanDuration=3600
WebUI\CSRFProtection=true
WebUI\ClickjackingProtection=true
WebUI\CustomHTTPHeaders=
WebUI\CustomHTTPHeadersEnabled=false
WebUI\HTTPS\CertificatePath=
WebUI\HTTPS\Enabled=false
WebUI\HTTPS\KeyPath=
WebUI\HostHeaderValidation=true
WebUI\LocalHostAuth=true
WebUI\MaxAuthenticationFailCount=10
WebUI\Password_PBKDF2="@ByteArray(OUcpojCntLZHBzdhkSxH9A==:6SbAK9PPyaEU4We0xKGyOEG9ktK0c1zdZszzsvi5jMtrJR0WuwZut60cV8IEDukvNXofPjWrGCv12kQCCKS/JA==)"
WebUI\Port=8181
WebUI\ReverseProxySupportEnabled=true
WebUI\RootFolder=
WebUI\SecureCookie=true
WebUI\ServerDomains=*
WebUI\SessionTimeout=3600
WebUI\TrustedReverseProxiesList=qbittorrent.ccalifice.com
WebUI\UseUPnP=false
WebUI\Username=admin
[RSS]
AutoDownloader\DownloadRepacks=true
AutoDownloader\SmartEpisodeFilter=s(\\d+)e(\\d+), (\\d+)x(\\d+), "(\\d{4}[.\\-]\\d{1,2}[.\\-]\\d{1,2})", "(\\d{1,2}[.\\-]\\d{1,2}[.\\-]\\d{4})"

View File

@@ -0,0 +1,2 @@
{
}

View File

@@ -0,0 +1,45 @@
services:
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1000
- PGID=1000
- TZ=America/Sao_Paulo
- WEBUI_PORT=8181
volumes:
- ./config:/config
- /mnt/Public/data/torrents:/data/torrents
ports:
- "8181:8181"
- "40848:40848"
- "40848:40848/udp"
restart: unless-stopped
# qbit_manage:
# container_name: qbit_manage
# image: ghcr.io/stuffanthings/qbit_manage:latest
# volumes:
# - ./config:/config:rw
# - /mnt/user/data/torrents/:/data/torrents:rw
# - /mnt/hdd_1tb/data/torrents:/qbittorrent/:ro
# environment:
# - QBT_RUN=false
# - QBT_SCHEDULE=1440
# - QBT_CONFIG=config.yml
# - QBT_LOGFILE=activity.log
# - QBT_CROSS_SEED=false
# - QBT_RECHECK=false
# - QBT_CAT_UPDATE=false
# - QBT_TAG_UPDATE=false
# - QBT_REM_UNREGISTERED=false
# - QBT_REM_ORPHANED=false
# - QBT_TAG_TRACKER_ERROR=false
# - QBT_TAG_NOHARDLINKS=false
# - QBT_SHARE_LIMITS=false
# - QBT_SKIP_CLEANUP=false
# - QBT_DRY_RUN=false
# - QBT_LOG_LEVEL=INFO
# - QBT_DIVIDER==
# - QBT_WIDTH=100
# restart: on-failure:2

276
servarr/docker-compose.yml Normal file
View File

@@ -0,0 +1,276 @@
---
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
volumes:
- ./sonarr:/config
- /mnt/Public/data:/data
ports:
- "8989:8989"
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
volumes:
- ./radarr:/config
- /mnt/Public/data:/data
ports:
- "7878:7878"
restart: unless-stopped
lazylibrarian:
image: lscr.io/linuxserver/lazylibrarian:latest
container_name: lazylibrarian
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
# - DOCKER_MODS=linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg #optional
volumes:
- ./lazylibrarian:/config
- /mnt/Public/data/media/books:/downloads
# - /path/to/data/:/books #optional
ports:
- 5299:5299
restart: unless-stopped
# sabnzbd:
# image: lscr.io/linuxserver/sabnzbd:latest
# container_name: sabnzbd
# environment:
# - PUID=1000
# - PGID=1002
# volumes:
# - ./sabnzbd:/config
# - /mnt/hdd_1tb/data/downloads:/downloads #optional
# - /path/to/incomplete/downloads:/incomplete-downloads #optional
# ports:
# - 8383:8080
# restart: unless-stopped
# lidarr:
# image: lscr.io/linuxserver/lidarr:latest
# container_name: lidarr
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=America/Sao_Paulo
# volumes:
# - ./lidarr:/config
# - /mnt/hdd_1tb/data:/data
# ports:
# - "8686:8686"
# restart: unless-stopped
slskd:
image: slskd/slskd
container_name: slskd
ports:
- "5030:5030"
- "5031:5031"
- "50300:50300"
environment:
- SLSKD_REMOTE_CONFIGURATION=true
- SLSKD_SLSK_USERNAME=ticonouvido
- SLSKD_SLSK_PASSWORD=asdf1234
volumes:
- ./slskd:/app
- /mnt/Public/data/media/music:/music
restart: unless-stopped
# soularr:
# restart: unless-stopped
# container_name: soularr
# hostname: soularr
# environment:
# - PUID=1000
# - PGID=1000
# - TZ=America/Sao_Paulo
#Script interval in seconds
# - SCRIPT_INTERVAL=300
# user: "1000:1000"
# volumes:
#"You can set /downloads to whatever you want but will then need to change the Slskd download dir in your config file"
# - /mnt/hdd_1tb/data/downloads:/downloads
#Select where you are storing your config file.
#Leave "/data" since thats where the script expects the config file to be
# - ./soularr:/data
# image: mrusse08/soularr:latest
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
volumes:
- ./prowlarr:/config
ports:
- "9696:9696"
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
volumes:
- ./bazarr:/config
- /mnt/Public/data/media/movies:/movies
- /mnt/Public/data/media/tv:/tv
ports:
- "6767:6767"
restart: unless-stopped
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=info
- TZ=America/Sao_Paulo
ports:
- 5055:5055
volumes:
- ./jellyseer:/app/config
restart: unless-stopped
networks:
- pangolin
flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=America/Sao_Paulo
ports:
- "${PORT:-8191}:8191"
restart: unless-stopped
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
environment:
- PUID=1000
- PGID=1002
- TZ=America/Sao_Paulo
- AUTO_UPDATE=true #optional
- RUN_OPTS= #optional
volumes:
- ./jackett:/config
- ./blackhole:/downloads
ports:
- 9117:9117
restart: unless-stopped
# unpackerr:
# image: golift/unpackerr
# container_name: unpackerr
# volumes:
# You need at least this one volume mapped so Unpackerr can find your files to extract.
# Make sure this matches your Starr apps; the folder mount (/downloads or /data) should be identical.
# - /mnt/Public/data:/data
# restart: unless-stopped
# Get the user:group correct so unpackerr can read and write to your files.
#user: ${PUID}:${PGID}
# user: 1000:1000
# What you see below are defaults for this compose. You only need to modify things specific to your environment.
# Remove apps and feature configs you do not use or need.
# ie. Remove all lines that begin with UN_CMDHOOK, UN_WEBHOOK, UN_FOLDER, UN_WEBSERVER, and other apps you do not use.
# environment:
# - TZ=${TZ}
# General config
# - UN_DEBUG=false
# - UN_LOG_FILE=
# - UN_LOG_FILES=10
# - UN_LOG_FILE_MB=10
# - UN_INTERVAL=2m
# - UN_START_DELAY=1m
# - UN_RETRY_DELAY=5m
# - UN_MAX_RETRIES=3
# - UN_PARALLEL=1
# - UN_FILE_MODE=0644
# - UN_DIR_MODE=0755
# # Sonarr Config
# - UN_SONARR_0_URL=http://192.168.1.201:8989
# - UN_SONARR_0_API_KEY=2c3dff8fe1424040b7ec10c12f074e33
# - UN_SONARR_0_PATHS_0=/data
# - UN_SONARR_0_PROTOCOLS=torrent
# - UN_SONARR_0_TIMEOUT=10s
# - UN_SONARR_0_DELETE_ORIG=false
# - UN_SONARR_0_DELETE_DELAY=-1m
# # Radarr Config
# - UN_RADARR_0_URL=http://192.168.1.201:7878
# - UN_RADARR_0_API_KEY=0ed5600b7e474a9bbf6f948a369c4358
# - UN_RADARR_0_PATHS_0=/data
# - UN_RADARR_0_PROTOCOLS=torrent
# - UN_RADARR_0_TIMEOUT=10s
# - UN_RADARR_0_DELETE_ORIG=false
# - UN_RADARR_0_DELETE_DELAY=-1m
# # Lidarr Config
# - UN_LIDARR_0_URL=http://192.168.1.201:8686
# - UN_LIDARR_0_API_KEY=988083230beb45138cc90ec5aa30339c
# - UN_LIDARR_0_PATHS_0=/data
# - UN_LIDARR_0_PROTOCOLS=torrent
# - UN_LIDARR_0_TIMEOUT=10s
# - UN_LIDARR_0_DELETE_ORIG=false
# - UN_LIDARR_0_DELETE_DELAY=-1m
# # Folder Config
# - UN_FOLDER_0_PATH=
# - UN_FOLDER_0_EXTRACT_PATH=
# - UN_FOLDER_0_DELETE_AFTER=10m
# - UN_FOLDER_0_DELETE_ORIGINAL=false
# - UN_FOLDER_0_DELETE_FILES=false
# - UN_FOLDER_0_MOVE_BACK=false
# # Webhook Config
# - UN_WEBHOOK_0_URL=https://discord.com/api/webhooks/1242850370506457099/1J4Hv_sxNcc_r6PaB7Wm5EBd7xqBqWvlxapWSKJafiQjr85xNHrdrLjAx81SyevX9WNu
# - UN_WEBHOOK_0_NAME=
# - UN_WEBHOOK_0_NICKNAME=Unpackerr
# - UN_WEBHOOK_0_CHANNEL=
# - UN_WEBHOOK_0_TIMEOUT=10s
# - UN_WEBHOOK_0_SILENT=false
# - UN_WEBHOOK_0_IGNORE_SSL=false
# - UN_WEBHOOK_0_EXCLUDE_0=
# - UN_WEBHOOK_0_EVENTS_0=0
# - UN_WEBHOOK_0_TEMPLATE_PATH=
# - UN_WEBHOOK_0_TEMPLATE=discord
# - UN_WEBHOOK_0_CONTENT_TYPE=application/json
# # Command Hook Config
# - UN_CMDHOOK_0_COMMAND=
# - UN_CMDHOOK_0_NAME=
# - UN_CMDHOOK_0_TIMEOUT=10s
# - UN_CMDHOOK_0_SILENT=false
# - UN_CMDHOOK_0_SHELL=false
# - UN_CMDHOOK_0_EXCLUDE_0=
# - UN_CMDHOOK_0_EVENTS_0=0
# # Web Server Config
# - UN_WEBSERVER_METRICS=false
# - UN_WEBSERVER_LISTEN_ADDR=0.0.0.0:5656
# - UN_WEBSERVER_LOG_FILE=
# - UN_WEBSERVER_LOG_FILES=10
# - UN_WEBSERVER_LOG_FILE_MB=10
# - UN_WEBSERVER_SSL_CERT_FILE=
# - UN_WEBSERVER_SSL_KEY_FILE=
# - UN_WEBSERVER_URLBASE=/
# - UN_WEBSERVER_UPSTREAMS=
networks:
pangolin:
external: true
name: pangolin

42
stash/docker-compose.yml Normal file
View File

@@ -0,0 +1,42 @@
# APPNICENAME=Stash
services:
stash:
image: stashapp/stash:latest
container_name: stash
restart: unless-stopped
## the container's port must be the same with the STASH_PORT in the environment section
#ports:
# - "9999:9999"
# - "8200:8200"
# - "1900:1900"
## If you intend to use stash's DLNA functionality uncomment the below network mode and comment out the above ports section
network_mode: host
logging:
driver: "json-file"
options:
max-file: "10"
max-size: "2m"
environment:
- STASH_STASH=/data/
- STASH_GENERATED=/generated/
- STASH_METADATA=/metadata/
- STASH_CACHE=/cache/
## Adjust below to change default port (9999)
- STASH_PORT=9999
volumes:
- /etc/localtime:/etc/localtime:ro
## Adjust below paths (the left part) to your liking.
## E.g. you can change ./config:/root/.stash to ./stash:/root/.stash
## Keep configs, scrapers, and plugins here.
- ./config:/root/.stash
## Point this at your collection.
- /mnt/system:/data
- /mnt/hdd_1tb/data/torrents/xxx:/data/local
## This is where your stash's metadata lives
- ./metadata:/metadata
## Any other cache content.
- ./cache:/cache
## Where to store binary blob data (scene covers, images)
- ./blobs:/blobs
## Where to store generated content (screenshots,previews,transcodes,sprites)
- ./generated:/generated

View File

@@ -0,0 +1,64 @@
services:
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
ports:
- 32400:32400
environment:
- PUID=1000
- PGID=1000
- VERSION=docker
- PLEX_CLAIM=claim-WNcs7miZ5vyG_1PX_VUN
volumes:
- ./plex:/config
- /mnt/Public/data/media:/media
restart: unless-stopped
jellyfin:
image: jellyfin/jellyfin:latest
container_name: jellyfin
user: 1000:1000
# network_mode: host
ports:
- 8096:8096
volumes:
- ./jellyfin/config:/config
- ./jellyfin/cache:/cache
- /mnt/Public/data/media/movies:/movies:ro
- /mnt/Public/data/media/tv:/tv:ro
- /mnt/Public/data/media/music:/music:ro
restart: 'unless-stopped'
networks:
- pangolin
# # Optional - alternative address used for autodiscovery
# environment:
# - JELLYFIN_PublishedServerUrl=http://192.168.1.201:8096
# # Optional - may be necessary for docker healthcheck to pass if running in host network mode
# extra_hosts:
# - 'host.docker.internal:host-gateway'
# navidrome:
# image: deluan/navidrome:latest
# container_name: navidrome
# user: 1000:1000 # should be owner of volumes
# network_mode: host
# ports:
# - "4533:4533"
# restart: unless-stopped
# environment:
# Optional: put your config options customization here. Examples:
# ND_SCANSCHEDULE: 1h
# ND_LOGLEVEL: info
# ND_SESSIONTIMEOUT: 24h
# ND_BASEURL: ""
# volumes:
# - ./navidrome/data:/data
# - /mnt/hdd_1tb/data/media/music:/music:ro
networks:
pangolin:
name: pangolin
external: true