From 809b545ecedc84737f4890d5d2557616a14d054c Mon Sep 17 00:00:00 2001 From: Christoph Califice Date: Wed, 13 Aug 2025 23:58:58 -0300 Subject: [PATCH] initial commit --- .gitignore | 9 + glances/docker-compose.yml | 17 ++ kavita/docker-compose.yml | 15 + .../config/qBittorrent/categories.json | 23 ++ .../config/qBittorrent/qBittorrent-data.conf | 2 + .../config/qBittorrent/qBittorrent.conf | 114 ++++++++ .../config/qBittorrent/watched_folders.json | 2 + qbittorrent/docker-compose.yml | 45 +++ servarr/docker-compose.yml | 276 ++++++++++++++++++ stash/docker-compose.yml | 42 +++ streaming/docker-compose.yml | 64 ++++ 11 files changed, 609 insertions(+) create mode 100644 .gitignore create mode 100644 glances/docker-compose.yml create mode 100644 kavita/docker-compose.yml create mode 100644 qbittorrent/config/qBittorrent/categories.json create mode 100644 qbittorrent/config/qBittorrent/qBittorrent-data.conf create mode 100644 qbittorrent/config/qBittorrent/qBittorrent.conf create mode 100644 qbittorrent/config/qBittorrent/watched_folders.json create mode 100644 qbittorrent/docker-compose.yml create mode 100644 servarr/docker-compose.yml create mode 100644 stash/docker-compose.yml create mode 100644 streaming/docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..63f82bc --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +* + +!*/ +!.gitignore +!*/docker-compose.y*ml +!*/.*env* + +!qbittorrent/config/qBittorrent/*.conf +!qbittorrent/config/qBittorrent/*.json \ No newline at end of file diff --git a/glances/docker-compose.yml b/glances/docker-compose.yml new file mode 100644 index 0000000..26e5229 --- /dev/null +++ b/glances/docker-compose.yml @@ -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" diff --git a/kavita/docker-compose.yml b/kavita/docker-compose.yml new file mode 100644 index 0000000..3a01190 --- /dev/null +++ b/kavita/docker-compose.yml @@ -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 diff --git a/qbittorrent/config/qBittorrent/categories.json b/qbittorrent/config/qBittorrent/categories.json new file mode 100644 index 0000000..539f23f --- /dev/null +++ b/qbittorrent/config/qBittorrent/categories.json @@ -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": "" + } +} diff --git a/qbittorrent/config/qBittorrent/qBittorrent-data.conf b/qbittorrent/config/qBittorrent/qBittorrent-data.conf new file mode 100644 index 0000000..a6243a5 --- /dev/null +++ b/qbittorrent/config/qBittorrent/qBittorrent-data.conf @@ -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) diff --git a/qbittorrent/config/qBittorrent/qBittorrent.conf b/qbittorrent/config/qBittorrent/qBittorrent.conf new file mode 100644 index 0000000..a008774 --- /dev/null +++ b/qbittorrent/config/qBittorrent/qBittorrent.conf @@ -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})" diff --git a/qbittorrent/config/qBittorrent/watched_folders.json b/qbittorrent/config/qBittorrent/watched_folders.json new file mode 100644 index 0000000..2c63c08 --- /dev/null +++ b/qbittorrent/config/qBittorrent/watched_folders.json @@ -0,0 +1,2 @@ +{ +} diff --git a/qbittorrent/docker-compose.yml b/qbittorrent/docker-compose.yml new file mode 100644 index 0000000..6900152 --- /dev/null +++ b/qbittorrent/docker-compose.yml @@ -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 diff --git a/servarr/docker-compose.yml b/servarr/docker-compose.yml new file mode 100644 index 0000000..4640f80 --- /dev/null +++ b/servarr/docker-compose.yml @@ -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 diff --git a/stash/docker-compose.yml b/stash/docker-compose.yml new file mode 100644 index 0000000..d365175 --- /dev/null +++ b/stash/docker-compose.yml @@ -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 diff --git a/streaming/docker-compose.yml b/streaming/docker-compose.yml new file mode 100644 index 0000000..c84bdf2 --- /dev/null +++ b/streaming/docker-compose.yml @@ -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