diff --git a/.env b/.env index 6e0d6a7..6dfda57 100644 --- a/.env +++ b/.env @@ -117,6 +117,7 @@ ACTUAL_BUDGET_HOSTNAME=actual-budget.${DOMAIN?} ADDON_MANAGER_HOSTNAME=addon-manager.${DOMAIN?} ADGUARD_HOSTNAME=adguard.${DOMAIN?} AIOLISTS_HOSTNAME=aiolists.${DOMAIN?} +AIOMETADATA_HOSTNAME=aiometadata.${DOMAIN?} AIOSTREAMS_HOSTNAME=aiostreams.${DOMAIN} AIOSTREMIO_HOSTNAME=aiostremio.${DOMAIN} ANIME_KITSU_HOSTNAME=kitsu.${DOMAIN} @@ -193,7 +194,6 @@ TANDOOR_HOSTNAME=tandoor.${DOMAIN} TAUTULLI_HOSTNAME=tautulli.${DOMAIN} THE_LOUNGE_HOSTNAME=thelounge.${DOMAIN} TMDB_ADDON_HOSTNAME=tmdb.${DOMAIN} -TMDB_ADDON_REDIS_HOSTNAME=tmdb-redis.${DOMAIN} TMDB_COLLECTIONS_HOSTNAME=tmdb-collections.${DOMAIN} TORBOX_MANAGER_HOSTNAME=tbm.${DOMAIN} TRAEFIK_HOSTNAME=traefik.${DOMAIN} diff --git a/apps/tmdb-addon-redis/.env b/apps/aiometadata/.env similarity index 75% rename from apps/tmdb-addon-redis/.env rename to apps/aiometadata/.env index ccab9dd..4d6b941 100644 --- a/apps/tmdb-addon-redis/.env +++ b/apps/aiometadata/.env @@ -1,3 +1,4 @@ +# These are the default API Keys to be used and will be prefilled in the UI for users. Can be left blank. # Get your API key from https://www.themoviedb.org/settings/api TMDB_API_KEY= # Get your API key from https://fanart.tv/get-an-api-key/ @@ -6,7 +7,3 @@ FANART_API_KEY= TVDB_API_KEY= # Tip: The information that TMDb/TVDb/Fanart.tv ask from you does not need to be real. - -# Metrics configuration -METRICS_USER=admin -METRICS_PASSWORD=admin \ No newline at end of file diff --git a/apps/aiometadata/compose.yaml b/apps/aiometadata/compose.yaml new file mode 100644 index 0000000..836d105 --- /dev/null +++ b/apps/aiometadata/compose.yaml @@ -0,0 +1,48 @@ +services: + aiometadata: + image: ghcr.io/cedya77/aiometadata:beta + container_name: aiometadata + restart: unless-stopped + expose: + - ${PORT:-3232} + environment: + - PORT=${PORT:-3232} + - TMDB_API=${TMDB_API_KEY?} + - TVDB_API_KEY=${TVDB_API_KEY?} + - FANART_API_KEY=${FANART_API_KEY?} + - HOST_NAME=https://${AIOMETADATA_HOSTNAME?} + - REDIS_URL=redis://aiometadata_redis:6379 + - META_TTL=604800 + - CATALOG_TTL=86400 + - NO_CACHE=false + - DEBUG=true + labels: + - "traefik.enable=true" + - "traefik.http.routers.aiometadata.rule=Host(`${AIOMETADATA_HOSTNAME?}`)" + - "traefik.http.routers.aiometadata.entrypoints=websecure" + - "traefik.http.routers.aiometadata.tls.certresolver=letsencrypt" + - "traefik.http.services.aiometadata.loadbalancer.server.port=${PORT:-3232}" + volumes: + - ${DOCKER_DATA_DIR}/aiometadata/data:/app/addon/data + depends_on: + aiometadata_redis: + condition: service_healthy + profiles: + - aiometadata + - all + + aiometadata_redis: + image: redis:latest + container_name: aiometadata_redis + restart: unless-stopped + volumes: + - ${DOCKER_DATA_DIR}/aiometadata/cache:/data + command: redis-server --appendonly yes --save 60 1 + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 10s + timeout: 5s + retries: 5 + profiles: + - aiometadata + - all \ No newline at end of file diff --git a/apps/aiostreams/.env b/apps/aiostreams/.env index 8541c67..5653068 100644 --- a/apps/aiostreams/.env +++ b/apps/aiostreams/.env @@ -33,8 +33,8 @@ ADDON_ID="aiostreams.viren070.com" # Default: 3000 PORT=3000 -# The base URL of your addon. Highly recommended for proper functioning. -# Used for generating installation URLs and identifying self-scraping. +# The base URL of your addon. Required for proper functioning. +# Used for generating installation URLs, identifying self scraping, replacing genre links, generating stream URLs for built in addons etc. # Example: https://aiostreams.yourdomain.com BASE_URL=https://${AIOSTREAMS_HOSTNAME} @@ -50,6 +50,8 @@ SECRET_KEY= # API key to protect your addon installation and usage. # Leave empty to disable password protection. # Can be any string. +# Supports multiple passwords separated by commas +# Example: ADDON_PASSWORD="password1,password2" ADDON_PASSWORD= # --- Database --- @@ -66,12 +68,48 @@ ADDON_PASSWORD= DATABASE_URI=sqlite://./data/db.sqlite +# ============================================================================== +# BUILT-IN ADDON CONFIGURATION +# ============================================================================== +# AIOStreams provides some built-in addons that you can configure here. +# These require BASE_URL to be set above. +# Some of these built-in integrations require StremThru for Debrid integration. +# Set the URL to your StremThru instance here: +# If self-hosting stremthru, this can instead be set to http://stremthru:8080 +BUILTIN_STREMTHRU_URL=https://stremthru.13377001.xyz + + +# ---- Stremio GDrive ----- +# Client ID and Secret generated following this guide: https://guides.viren070.me/stremio/addons/stremio-gdrive +# Follow only: +# - All steps from 'Setting up our Google App' (but set redirect URL to Set the redirect URL to ${BASE_URL}/oauth/callback/gdrive) +# - Step 7 from 'Setting up the cloudflare worker' +# And then paste in the Client ID and Secret here. +# BUILTIN_GDRIVE_CLIENT_ID= +# BUILTIN_GDRIVE_CLIENT_SECRET= + +# The limit to the amount of items that can possibly be queried from the Google Drive API in a given request. +BUILTIN_GDRIVE_PAGE_SIZE_LIMIT=1000 +# BUILTIN_GDRIVE_TIMEOUT= + +# ---- TorBox Search ----- +# Has no required configuration apart from BASE_URL +# The amount of time to wait for requests to the TorBox Search API. +BUILTIN_TORBOX_SEARCH_SEARCH_API_TIMEOUT=30000 +# Whether to cache results for users who've enabled user search engines. This requires a cache entry for each user for each title rather than +# A shared cache. +BUILTIN_TORBOX_SEARCH_CACHE_PER_USER_SEARCH_ENGINE=false +# BUILTIN_TORBOX_SEARCH_SEARCH_API_CACHE_TTL=3600 +# BUILTIN_TORBOX_SEARCH_METADATA_CACHE_TTL=604800 +# BUILTIN_TORBOX_SEARCH_INSTANT_AVAILABILITY_CACHE_TTL=900 + # ============================================================================== # DEBRID & OTHER SERVICE API KEYS # ============================================================================== # Provide a default TMDB access token to be used for the Title Matching filter if a user does not provide any. TMDB_ACCESS_TOKEN= +TMDB_API_KEY= # Configure API keys for debrid services and others you plan to use. # 'DEFAULT_' values are pre-filled in the user's config page. @@ -155,6 +193,13 @@ CUSTOM_HTML= # Default: trusted REGEX_FILTER_ACCESS=trusted +# --- Allowed Regexes ---- +# Set allowed regexes which are available to all users, regardless of the setting of REGEX_FILTER_ACCESS. +# Format: e.g. ["/(\\[(Aergia|smol|SoM|Vodes)\\]|-(Aergia(?!-raws)|smol|SoM)\\b|\\b(Arg0|LYS1TH3A|OZR|SCY|ZeroBuild)\\b)|(?- ${AIOLISTS_HOSTNAME}, + ${AIOMETADATA_HOSTNAME}, ${AIOSTREAMS_HOSTNAME}, ${AIOSTREMIO_HOSTNAME}, ${ANIME_KITSU_HOSTNAME}, @@ -39,7 +40,6 @@ services: ${STREMIO_STREAMING_CATALOGS_HOSTNAME}, ${SYNCRIBULLET_HOSTNAME}, ${TMDB_ADDON_HOSTNAME}, - ${TMDB_ADDON_REDIS_HOSTNAME}, ${TMDB_COLLECTIONS_HOSTNAME}, ${WEBSTREAMR_HOSTNAME} TEMPLATE_FRESHRSS_HOSTNAME: ${FRESHRSS_HOSTNAME?} diff --git a/apps/bazarr/compose.yaml b/apps/bazarr/compose.yaml index f466e0e..bfa540f 100644 --- a/apps/bazarr/compose.yaml +++ b/apps/bazarr/compose.yaml @@ -23,11 +23,13 @@ services: profiles: - all - bazarr - - debrid_media_server depends_on: - - rclone - - sonarr - - radarr + decypharr: + condition: service_healthy + sonarr: + condition: service_healthy + radarr: + condition: service_healthy bazarr4k: @@ -54,8 +56,10 @@ services: profiles: - all - bazarr - - debrid_media_server depends_on: - - rclone - - sonarr4k - - radarr4k + decypharr: + condition: service_healthy + sonarr4k: + condition: service_healthy + radarr4k: + condition: service_healthy diff --git a/apps/cloudflare-ddns/compose.yaml b/apps/cloudflare-ddns/compose.yaml index a9e4cc2..fe9d7a1 100644 --- a/apps/cloudflare-ddns/compose.yaml +++ b/apps/cloudflare-ddns/compose.yaml @@ -16,6 +16,7 @@ services: ${ADDON_MANAGER_HOSTNAME}, ${ADGUARD_HOSTNAME}, ${AIOLISTS_HOSTNAME}, + ${AIOMETADATA_HOSTNAME}, ${AIOSTREAMS_HOSTNAME}, ${AIOSTREMIO_HOSTNAME}, ${ANIME_KITSU_HOSTNAME}, @@ -92,7 +93,6 @@ services: ${TAUTULLI_HOSTNAME}, ${THE_LOUNGE_HOSTNAME}, ${TMDB_ADDON_HOSTNAME}, - ${TMDB_ADDON_REDIS_HOSTNAME}, ${TMDB_COLLECTIONS_HOSTNAME}, ${TORBOX_MANAGER_HOSTNAME}, ${TRAEFIK_HOSTNAME}, diff --git a/apps/comet/compose.yaml b/apps/comet/compose.yaml index 90047ac..93a1153 100644 --- a/apps/comet/compose.yaml +++ b/apps/comet/compose.yaml @@ -23,7 +23,6 @@ services: start_period: 10s profiles: - comet - - stremio - all # If you would like to use postgres instead of sqlite, uncomment the followling lines, @@ -45,5 +44,4 @@ services: # retries: 5 # profiles: # - comet - # - stremio # - all diff --git a/apps/decypharr/.env b/apps/decypharr/.env new file mode 100644 index 0000000..e770096 --- /dev/null +++ b/apps/decypharr/.env @@ -0,0 +1,8 @@ +# Release channel +# 'latest' or 'beta' +DECYPHARR_CHANNEL=latest + +# The following should be done before starting Decypharr, the rest can be edited in the UI. +# - set rclone.uid and rclone.gid to the value of PUID and PGID in the main .env respectively +# - if using real debrid, simply add your api key to debrids.[0].api_key + diff --git a/apps/decypharr/compose.yaml b/apps/decypharr/compose.yaml index b7d922b..ebe65f3 100644 --- a/apps/decypharr/compose.yaml +++ b/apps/decypharr/compose.yaml @@ -1,17 +1,22 @@ services: decypharr: - image: cy01/blackhole:latest # or cy01/blackhole:beta + image: cy01/blackhole:${DECYPHARR_CHANNEL:-latest} container_name: decypharr restart: unless-stopped - user: "${PUID}:${PGID}" security_opt: - "apparmor:unconfined" + devices: + - /dev/fuse:/dev/fuse:rwm + cap_add: + - SYS_ADMIN + expose: + - 8282 environment: - PUID=${PUID} - PGID=${PGID} - UMASK=002 volumes: - - /mnt:/mnt:rslave + - /mnt:/mnt:rshared - ${DOCKER_DATA_DIR}/decypharr:/app - ./config.json:/app/config.json labels: @@ -20,66 +25,7 @@ services: - "traefik.http.routers.decypharr.entrypoints=websecure" - "traefik.http.routers.decypharr.tls.certresolver=letsencrypt" - "traefik.http.routers.decypharr.middlewares=authelia@docker" + - "traefik.http.services.decypharr.loadbalancer.server.port=8282" profiles: - decypharr - - debrid_media_server - all - - rclone: - image: rclone/rclone:latest - container_name: rclone - restart: unless-stopped - environment: - TZ: ${TZ:-UTC} - PUID: ${PUID} - PGID: ${PGID} - RCLONE_BUFFER_SIZE: "0" - RCLONE_VFS_FAST_FINGERPRINT: "false" - RCLONE_VFS_READ_CHUNK_SIZE: "2M" - RCLONE_VFS_READ_CHUNK_SIZE_LIMIT: "32M" - RCLONE_VFS_READ_AHEAD: "2M" - RCLONE_VFS_READ_WAIT: "30ms" - RCLONE_VFS_CACHE_MIN_FREE_SPACE: "1G" - RCLONE_VFS_CACHE_MAX_AGE: "72h" - volumes: - - /mnt/remote/realdebrid:/data:rshared - - ./rclone.conf:/config/rclone/rclone.conf - - /mnt:/mnt - - ${DOCKER_DATA_DIR}/decypharr/cache:/cache - cap_add: - - SYS_ADMIN - security_opt: - - apparmor:unconfined - devices: - - /dev/fuse:/dev/fuse:rwm - depends_on: - - decypharr - command: > - mount decypharr: /data - --allow-non-empty - --uid=${PUID} - --gid=${PGID} - --umask=002 - --allow-other - --log-level=INFO - --vfs-fast-fingerprint - --async-read=true - --use-mmap - --no-checksum - --no-modtime - --rc - --rc-addr=0.0.0.0:9990 - --rc-no-auth - --rc-web-gui - --rc-web-gui-no-open-browser - --user-agent='Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36' - --dir-cache-time=10s - --vfs-cache-mode=full - --vfs-cache-max-size=100G - --vfs-cache-poll-interval=30s - --cache-dir=/cache - --vfs-read-chunk-size-limit=32M - profiles: - - all - - decypharr - - debrid_media_server \ No newline at end of file diff --git a/apps/decypharr/config.json b/apps/decypharr/config.json index 20e7ade..59d154d 100644 --- a/apps/decypharr/config.json +++ b/apps/decypharr/config.json @@ -1,4 +1,7 @@ { + "url_base": "/", + "port": "8282", + "log_level": "trace", "debrids": [ { "name": "realdebrid", @@ -10,67 +13,147 @@ "download_links_refresh_interval": "40m", "workers": 200, "auto_expire_links_after": "3d", - "folder_naming": "original_no_ext", - "rc_url": "http://rclone:9990", - "download_uncached": false, - "serve_from_rclone": true + "folder_naming": "original_no_ext" } ], - "max_cache_size": 10000, "qbittorrent": { "download_folder": "/mnt/symlinks/", - "categories": [ - "sonarr", - "sonarr4k", - "sonarranime", - "radarr", - "radarr4k", - "radarranime" - ], - "refresh_interval": 5, - "skip_pre_cache": false - }, - "repair": { - "enabled": true, - "interval": "12h", - "run_on_start": false, - "use_webdav": true, - "auto_process": true, - "_comment_addThisIfYouAreUsingZurg_zurg_url": "http://zurg:9999" + "refresh_interval": 5 }, "arrs": [ { "name": "sonarr", "host": "http://sonarr:8989", - "token": "" + "token": "", + "download_uncached": false }, { "name": "sonarr4k", "host": "http://sonarr4k:8989", - "token": "" + "token": "", + "download_uncached": false }, { "name": "sonarranime", "host": "http://sonarranime:8989", - "token": "" + "token": "", + "download_uncached": false }, { "name": "radarr", "host": "http://radarr:7878", - "token": "" + "token": "", + "download_uncached": false }, { "name": "radarr4k", "host": "http://radarr4k:7878", - "token": "" + "token": "", + "download_uncached": false }, { "name": "radarranime", "host": "http://radarranime:7878", - "token": "" + "token": "", + "download_uncached": false } ], - "use_auth": false, - "log_level": "info", - "port": "8282" + "repair": { + "enabled": true, + "interval": "12h", + "auto_process": true, + "use_webdav": true, + "workers": 1, + "strategy": "per_torrent" + }, + "webdav": {}, + "rclone": { + "enabled": true, + "mount_path": "/mnt/remote", + "vfs_cache_mode": "writes", + "vfs_cache_max_age": "48h", + "vfs_cache_max_size": "30G", + "vfs_cache_poll_interval": "30s", + "vfs_read_chunk_size": "256M", + "vfs_read_chunk_size_limit": "8192M", + "vfs_read_ahead": "512M", + "buffer_size": "128M", + "uid": 1001, + "gid": 1001, + "attr_timeout": "1s", + "dir_cache_time": "5s", + "no_modtime": true, + "no_checksum": true + }, + "allowed_file_types": [ + "3gp", + "ac3", + "aiff", + "alac", + "amr", + "ape", + "asf", + "asx", + "avc", + "avi", + "bin", + "bivx", + "dat", + "divx", + "dts", + "dv", + "dvr-ms", + "flac", + "fli", + "flv", + "ifo", + "img", + "iso", + "m2ts'", + "m2v", + "m3u", + "m4a", + "m4p", + "m4v", + "mid", + "midi", + "mk3d", + "mka", + "mkv", + "mov", + "mp2", + "mp3", + "mp4", + "mpa", + "mpeg", + "mpg", + "nrg", + "nsv", + "nuv", + "ogg", + "ogm", + "ogv", + "pva", + "qt", + "ra", + "rm", + "rmvb", + "strm", + "svq3", + "ts", + "ty", + "viv", + "vob", + "voc", + "vp3", + "wav", + "webm", + "wma", + "wmv", + "wpl", + "wtv", + "wv", + "xvid" + ], + "discord_webhook_url": "" } \ No newline at end of file diff --git a/apps/decypharr/rclone.conf b/apps/decypharr/rclone.conf deleted file mode 100644 index 98d7ba3..0000000 --- a/apps/decypharr/rclone.conf +++ /dev/null @@ -1,5 +0,0 @@ -[decypharr] -type = webdav -url = http://decypharr:8282/webdav/realdebrid -vendor = other -pacer_min_sleep = 0 \ No newline at end of file diff --git a/apps/easynews-plus/compose.yaml b/apps/easynews-plus/compose.yaml index fcfd056..657b643 100644 --- a/apps/easynews-plus/compose.yaml +++ b/apps/easynews-plus/compose.yaml @@ -13,5 +13,4 @@ services: - "traefik.http.routers.easynews-plus.middlewares=authelia@docker" profiles: - easynews-plus - - stremio - all \ No newline at end of file diff --git a/apps/jackettio/compose.yaml b/apps/jackettio/compose.yaml index c51b81d..fa7b806 100644 --- a/apps/jackettio/compose.yaml +++ b/apps/jackettio/compose.yaml @@ -21,6 +21,5 @@ services: - "traefik.http.routers.jackettio.middlewares=authelia@docker" profiles: - jackettio - - stremio - all diff --git a/apps/jellyfin/compose.yaml b/apps/jellyfin/compose.yaml index 3094534..35a68a2 100644 --- a/apps/jellyfin/compose.yaml +++ b/apps/jellyfin/compose.yaml @@ -19,8 +19,8 @@ services: - "traefik.http.services.jellyfin.loadbalancer.server.port=8096" - "traefik.http.routers.jellyfin.tls.certresolver=letsencrypt" depends_on: - - rclone + decypharr: + condition: service_healthy profiles: - jellyfin - - debrid_media_server - all diff --git a/apps/jellyseer/compose.yaml b/apps/jellyseer/compose.yaml index ecbc0eb..f67ab36 100644 --- a/apps/jellyseer/compose.yaml +++ b/apps/jellyseer/compose.yaml @@ -16,8 +16,8 @@ services: volumes: - ${DOCKER_DATA_DIR}/jellyseer:/app/config depends_on: - - rclone + decypharr: + condition: service_healthy profiles: - jellyseer - - debrid_media_server - all diff --git a/apps/mediaflow-proxy/compose.yaml b/apps/mediaflow-proxy/compose.yaml index 76520de..ba41bf3 100644 --- a/apps/mediaflow-proxy/compose.yaml +++ b/apps/mediaflow-proxy/compose.yaml @@ -21,5 +21,4 @@ services: start_period: 10s profiles: - mediaflow-proxy - - stremio - all diff --git a/apps/mediafusion/compose.yaml b/apps/mediafusion/compose.yaml index 90fc964..38433b1 100644 --- a/apps/mediafusion/compose.yaml +++ b/apps/mediafusion/compose.yaml @@ -26,7 +26,6 @@ services: - "traefik.http.routers.mediafusion.middlewares=authelia@docker" profiles: - mediafusion - - stremio - all mediafusion_scheduler: @@ -43,7 +42,6 @@ services: condition: service_healthy profiles: - mediafusion - - stremio - all browserless: @@ -59,7 +57,6 @@ services: retries: 3 profiles: - mediafusion - - stremio - all mediafusion_mongodb: @@ -76,7 +73,6 @@ services: start_period: 40s profiles: - mediafusion - - stremio - all mediafusion_redis: @@ -93,5 +89,4 @@ services: retries: 5 profiles: - mediafusion - - stremio - all diff --git a/apps/omg-tv-addon/compose.yaml b/apps/omg-tv-addon/compose.yaml index 3ef4199..3838276 100644 --- a/apps/omg-tv-addon/compose.yaml +++ b/apps/omg-tv-addon/compose.yaml @@ -20,5 +20,4 @@ services: - "traefik.http.services.omg-tv-stremio-addon.loadbalancer.server.port=7860" profiles: - omg-tv-stremio-addon - - stremio - all diff --git a/apps/overseerr/compose.yaml b/apps/overseerr/compose.yaml index 6d52b2f..8c4a299 100644 --- a/apps/overseerr/compose.yaml +++ b/apps/overseerr/compose.yaml @@ -18,5 +18,4 @@ services: - ${DOCKER_DATA_DIR}/overseerr:/app/config profiles: - overseerr - - debrid_media_server - all diff --git a/apps/plex/compose.yaml b/apps/plex/compose.yaml index 72b7efa..5b34425 100644 --- a/apps/plex/compose.yaml +++ b/apps/plex/compose.yaml @@ -37,8 +37,8 @@ services: retries: 3 start_period: 1m depends_on: - - rclone + decypharr: + condition: service_healthy profiles: - all - plex - - debrid_media_server diff --git a/apps/plexio/compose.yaml b/apps/plexio/compose.yaml index a6767b5..ad97f76 100644 --- a/apps/plexio/compose.yaml +++ b/apps/plexio/compose.yaml @@ -7,32 +7,19 @@ services: context: https://github.com/vanchaxy/plexio.git dockerfile_inline: | FROM node:18.2.0-alpine AS build - WORKDIR /app - COPY frontend/package.json . - RUN npm install - COPY frontend . - RUN npm run build - + FROM unit:1.32.1-python3.11 - WORKDIR /app - COPY pyproject.toml pyproject.toml COPY plexio plexio - RUN pip install -e . --no-cache-dir - COPY --from=build /app/dist frontend - COPY unit-nginx-config.json /docker-entrypoint.d/config.json - - - expose: - 80 env_file: diff --git a/apps/prowlarr/compose.yaml b/apps/prowlarr/compose.yaml index bdfb2df..35c67ad 100644 --- a/apps/prowlarr/compose.yaml +++ b/apps/prowlarr/compose.yaml @@ -27,6 +27,4 @@ services: start_period: 30s profiles: - prowlarr - - stremio - - debrid_media_server - all diff --git a/apps/radarr/compose.yaml b/apps/radarr/compose.yaml index 4fe0b8c..d375cc8 100644 --- a/apps/radarr/compose.yaml +++ b/apps/radarr/compose.yaml @@ -20,7 +20,8 @@ services: - "traefik.http.routers.radarr.middlewares=authelia@docker" - "traefik.http.services.radarr.loadbalancer.server.port=7878" depends_on: - - rclone + decypharr: + condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:7878/ping | grep -q '\"status\": \"OK\"' || exit 1"] interval: 1m @@ -28,7 +29,6 @@ services: retries: 5 start_period: 10s profiles: - - debrid_media_server - radarr - all @@ -62,7 +62,6 @@ services: retries: 5 start_period: 10s profiles: - - debrid_media_server - radarr - all @@ -87,7 +86,8 @@ services: - "traefik.http.routers.radarranime.middlewares=authelia@docker" - "traefik.http.services.radarranime.loadbalancer.server.port=7878" depends_on: - - rclone + decypharr: + condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:7878/ping | grep -q '\"status\": \"OK\"' || exit 1"] interval: 1m @@ -95,6 +95,5 @@ services: retries: 5 start_period: 10s profiles: - - debrid_media_server - radarr - all diff --git a/apps/recyclarr/compose.yaml b/apps/recyclarr/compose.yaml index e20b5a3..24cf650 100644 --- a/apps/recyclarr/compose.yaml +++ b/apps/recyclarr/compose.yaml @@ -11,13 +11,18 @@ services: - ./recyclarr.yml:/config/recyclarr.yml - ./secrets.yml:/config/secrets.yml depends_on: - - sonarr - - sonarr4k - - sonarranime - - radarr - - radarr4k - - radarranime + sonarr: + condition: service_healthy + sonarr4k: + condition: service_healthy + sonarranime: + condition: service_healthy + radarr: + condition: service_healthy + radarr4k: + condition: service_healthy + radarranime: + condition: service_healthy profiles: - all - recyclarr - - debrid_media_server diff --git a/apps/sonarr/compose.yaml b/apps/sonarr/compose.yaml index 01efde9..73f15fe 100644 --- a/apps/sonarr/compose.yaml +++ b/apps/sonarr/compose.yaml @@ -20,7 +20,8 @@ services: - ${DOCKER_DATA_DIR}/sonarr/default:/config - /usr/bin/rclone:/usr/bin/rclone depends_on: - - rclone + decypharr: + condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:8989/ping | grep -q '\"status\": \"OK\"' || exit 1"] interval: 1m @@ -28,7 +29,6 @@ services: retries: 5 start_period: 10s profiles: - - debrid_media_server - all sonarr4k: @@ -52,7 +52,8 @@ services: - ${DOCKER_DATA_DIR}/sonarr/4k:/config - /usr/bin/rclone:/usr/bin/rclone depends_on: - - rclone + decypharr: + condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:8989/ping | grep -q '\"status\": \"OK\"' || exit 1"] interval: 1m @@ -61,7 +62,6 @@ services: start_period: 10s profiles: - sonarr - - debrid_media_server - all @@ -86,8 +86,8 @@ services: - ${DOCKER_DATA_DIR}/sonarr/anime:/config - /usr/bin/rclone:/usr/bin/rclone depends_on: - - sonarr - - rclone + decypharr: + condition: service_healthy healthcheck: test: ["CMD-SHELL", "curl -s http://localhost:8989/ping | grep -q '\"status\": \"OK\"' || exit 1"] interval: 1m @@ -95,7 +95,6 @@ services: retries: 5 start_period: 10s profiles: - - debrid_media_server - all diff --git a/apps/stremio-account-bootstrapper/compose.yaml b/apps/stremio-account-bootstrapper/compose.yaml index 2e1d5c3..6a2f691 100644 --- a/apps/stremio-account-bootstrapper/compose.yaml +++ b/apps/stremio-account-bootstrapper/compose.yaml @@ -16,5 +16,4 @@ services: - "com.centurylinklabs.watchtower.enable=false" profiles: - stremio-account-bootstrapper - - stremio - all \ No newline at end of file diff --git a/apps/stremio-ai-companion/compose.yaml b/apps/stremio-ai-companion/compose.yaml index b89eb21..8073957 100644 --- a/apps/stremio-ai-companion/compose.yaml +++ b/apps/stremio-ai-companion/compose.yaml @@ -8,7 +8,7 @@ services: expose: - 8000 depends_on: - stremio-ai-companion-redis: + stremio-ai-companion_redis: condition: service_healthy labels: - "traefik.enable=true" @@ -20,12 +20,11 @@ services: - "traefik.http.middlewares.test-compress.compress=true" profiles: - stremio-ai-companion - - stremio - all - stremio-ai-companion-redis: + stremio-ai-companion_redis: image: redis:latest - container_name: stremio-ai-companion-redis + container_name: stremio-ai-companion_redis restart: unless-stopped volumes: - ${DOCKER_DATA_DIR}/stremio-ai-companion/cache:/data @@ -37,5 +36,4 @@ services: retries: 5 profiles: - stremio-ai-companion - - stremio - all diff --git a/apps/stremio-ai-search/compose.yaml b/apps/stremio-ai-search/compose.yaml index 45933ac..86d452b 100644 --- a/apps/stremio-ai-search/compose.yaml +++ b/apps/stremio-ai-search/compose.yaml @@ -21,5 +21,4 @@ services: - "traefik.http.services.stremio-ai-search.loadbalancer.server.port=7000" profiles: - stremio-ai-search - - stremio - all diff --git a/apps/stremio-catalog-providers/compose.yaml b/apps/stremio-catalog-providers/compose.yaml index 57ce6fe..62c1746 100644 --- a/apps/stremio-catalog-providers/compose.yaml +++ b/apps/stremio-catalog-providers/compose.yaml @@ -41,7 +41,6 @@ services: - "traefik.http.routers.ravenn-catalogs.middlewares=authelia@docker" profiles: - stremio-catalog-providers - - stremio - all stremio-catalog-providers_postgres: @@ -63,7 +62,6 @@ services: start_period: 10s profiles: - stremio-catalog-providers - - stremio - all stremio-catalog-providers_redis: @@ -80,5 +78,4 @@ services: retries: 5 profiles: - stremio-catalog-providers - - stremio - all diff --git a/apps/stremio-jackett/compose.yaml b/apps/stremio-jackett/compose.yaml index 751191e..74254ae 100644 --- a/apps/stremio-jackett/compose.yaml +++ b/apps/stremio-jackett/compose.yaml @@ -17,5 +17,4 @@ services: - "traefik.http.routers.stremiojackett.middlewares=authelia@docker" profiles: - stremio-jackett - - stremio - all diff --git a/apps/stremio-letterboxd/compose.yaml b/apps/stremio-letterboxd/compose.yaml index 4a36673..e2b4781 100644 --- a/apps/stremio-letterboxd/compose.yaml +++ b/apps/stremio-letterboxd/compose.yaml @@ -41,6 +41,5 @@ services: volumes: - ${DOCKER_DATA_DIR}/stremio-letterboxd:/app/data profiles: - - stremio - stremio-letterboxd - all \ No newline at end of file diff --git a/apps/stremio-server/compose.yaml b/apps/stremio-server/compose.yaml index c997947..5d4b572 100644 --- a/apps/stremio-server/compose.yaml +++ b/apps/stremio-server/compose.yaml @@ -12,5 +12,4 @@ services: - "traefik.http.routers.stremio-server.tls.certresolver=letsencrypt" profiles: - stremio-server - - stremio - all diff --git a/apps/stremio-trakt-addon/compose.yaml b/apps/stremio-trakt-addon/compose.yaml index fb1c5be..11a73c3 100644 --- a/apps/stremio-trakt-addon/compose.yaml +++ b/apps/stremio-trakt-addon/compose.yaml @@ -44,7 +44,6 @@ services: - "traefik.http.routers.ravenn-trakt.middlewares=authelia@docker" profiles: - stremio-trakt-addon - - stremio - all stremio-trakt-addon_postgres: @@ -67,7 +66,6 @@ services: start_period: 10s profiles: - stremio-trakt-addon - - stremio - all stremio-trakt-addon_redis: @@ -85,5 +83,4 @@ services: retries: 5 profiles: - stremio-trakt-addon - - stremio - all diff --git a/apps/stremthru/compose.yaml b/apps/stremthru/compose.yaml index ce44f41..3e9b312 100644 --- a/apps/stremthru/compose.yaml +++ b/apps/stremthru/compose.yaml @@ -18,5 +18,4 @@ services: - "traefik.http.services.stremthru.loadbalancer.server.port=8080" profiles: - stremthru - - stremio - all diff --git a/apps/tautulli/compose.yaml b/apps/tautulli/compose.yaml index 7db80ac..53b6f66 100644 --- a/apps/tautulli/compose.yaml +++ b/apps/tautulli/compose.yaml @@ -18,5 +18,4 @@ services: - "traefik.http.routers.tautulli.tls.certresolver=letsencrypt" profiles: - all - - tautulli - - debrid_media_server + - tautulli \ No newline at end of file diff --git a/apps/tmdb-addon-redis/compose.yaml b/apps/tmdb-addon-redis/compose.yaml deleted file mode 100644 index 596f8f0..0000000 --- a/apps/tmdb-addon-redis/compose.yaml +++ /dev/null @@ -1,50 +0,0 @@ -services: - tmdb-addon-redis: - image: ghcr.io/cedya77/tmdb-addon:latest - container_name: tmdb-addon-redis - restart: unless-stopped - expose: - - 3232 - environment: - - PORT=3232 - - TMDB_API=${TMDB_API_KEY?} # https://www.themoviedb.org/settings/api - - FANART_API=${FANART_API_KEY?} # https://fanart.tv/get-an-api-key/ - - TVDB_API_KEY=${TVDB_API_KEY?} # https://thetvdb.com/api-information - - HOST_NAME=https://${TMDB_ADDON_REDIS_HOSTNAME?} - - METRICS_USER=${METRICS_USER?} - - METRICS_PASSWORD=${METRICS_PASSWORD?} - - REDIS_URL=redis://tmdb-addon-redis_redis:6379 - - META_TTL=604800 # 1 week - - CATALOG_TTL=86400 # 1 day - - NO_CACHE=false # Enable cache, set to true to disable - labels: - - "traefik.enable=true" - - "traefik.http.routers.tmdb-redis.rule=Host(`${TMDB_ADDON_REDIS_HOSTNAME?}`)" - - "traefik.http.routers.tmdb-redis.entrypoints=websecure" - - "traefik.http.routers.tmdb-redis.tls.certresolver=letsencrypt" - - "traefik.http.routers.tmdb-redis.middlewares=authelia@docker" - - "traefik.http.services.tmdb-redis.loadbalancer.server.port=3232" - depends_on: - tmdb-addon-redis_redis: - condition: service_healthy - profiles: - - tmdb-addon-redis - - stremio - - all - - tmdb-addon-redis_redis: - image: redis:latest - container_name: tmdb-addon-redis_redis - restart: unless-stopped - volumes: - - ${DOCKER_DATA_DIR}/tmdb-redis/cache:/data - command: redis-server --appendonly yes --save 60 1 - healthcheck: - test: ["CMD", "redis-cli", "ping"] - interval: 10s - timeout: 5s - retries: 5 - profiles: - - tmdb-addon-redis - - stremio - - all diff --git a/apps/tmdb-addon/compose.yaml b/apps/tmdb-addon/compose.yaml index 982b5bc..c338a1e 100644 --- a/apps/tmdb-addon/compose.yaml +++ b/apps/tmdb-addon/compose.yaml @@ -29,7 +29,6 @@ services: condition: service_healthy profiles: - tmdb-addon - - stremio - all tmdb-addon_mongo: @@ -46,5 +45,4 @@ services: start_period: 40s profiles: - tmdb-addon - - stremio - all diff --git a/apps/torbox-media-center/compose.yaml b/apps/torbox-media-center/compose.yaml index 29c24a1..0972b3d 100644 --- a/apps/torbox-media-center/compose.yaml +++ b/apps/torbox-media-center/compose.yaml @@ -12,5 +12,5 @@ services: volumes: - ${TORBOX_MOUNT_PATH}:/torbox profiles: - - debrid_media_server + - torbox-media-center - all diff --git a/apps/tweakio/compose.yaml b/apps/tweakio/compose.yaml index 0cc92e6..685c1ee 100644 --- a/apps/tweakio/compose.yaml +++ b/apps/tweakio/compose.yaml @@ -12,7 +12,6 @@ services: - ./config.yaml:/app/config.yaml profiles: - all - - debrid_media_server - tweakio depends_on: warp: diff --git a/apps/warp/compose.yaml b/apps/warp/compose.yaml index 3500437..b9b2fd9 100644 --- a/apps/warp/compose.yaml +++ b/apps/warp/compose.yaml @@ -24,6 +24,4 @@ services: start_period: 5s profiles: - warp - - stremio - all - - debrid_media_server diff --git a/apps/wests-scripts/blackhole/compose.yaml b/apps/wests-scripts/blackhole/compose.yaml index 376df76..b53095d 100644 --- a/apps/wests-scripts/blackhole/compose.yaml +++ b/apps/wests-scripts/blackhole/compose.yaml @@ -30,8 +30,8 @@ services: radarr: condition: service_healthy profiles: - - debrid_media_server - all + - blackhole blackhole4k: @@ -67,9 +67,8 @@ services: radarr4k: condition: service_healthy profiles: - - debrid_media_server - all - + - blackhole blackholeanime: @@ -106,7 +105,6 @@ services: radarranime: condition: service_healthy profiles: - - debrid_media_server - all - + - blackhole diff --git a/apps/zilean/compose.yaml b/apps/zilean/compose.yaml index c56ff41..057aa16 100644 --- a/apps/zilean/compose.yaml +++ b/apps/zilean/compose.yaml @@ -32,8 +32,6 @@ services: retries: 10 profiles: - zilean - - stremio - - debrid_media_server - all zilean_postgres: @@ -55,6 +53,4 @@ services: retries: 5 profiles: - zilean - - stremio - - debrid_media_server - all diff --git a/compose.yaml b/compose.yaml index 44027e8..f26ad2c 100644 --- a/compose.yaml +++ b/compose.yaml @@ -3,6 +3,7 @@ include: - apps/addon-manager/compose.yaml - apps/adguard/compose.yaml - apps/aiolists/compose.yaml + - apps/aiometadata/compose.yaml - apps/aiostreams/compose.yaml - apps/aiostremio/compose.yaml - apps/anime-kitsu/compose.yaml @@ -83,7 +84,6 @@ include: - apps/tautulli/compose.yaml - apps/thelounge/compose.yaml - apps/tmdb-addon/compose.yaml - - apps/tmdb-addon-redis/compose.yaml - apps/tmdb-collections/compose.yaml - apps/torbox-manager/compose.yaml - apps/torbox-media-center/compose.yaml