Modernize stack for 2025/2026

Replace deprecated tools with actively maintained alternatives:
- Overseerr → Seerr (unified Plex/Jellyfin/Emby support)
- Plex Meta Manager → Kometa (renamed project)
- Flaresolverr → Byparr (modern Cloudflare bypass)
- plex-auto-languages → journeyover fork (maintained)

Update README with comprehensive tool analysis:
- Add status indicators for each service
- Document required migrations
- Add references to TRaSH Guides and Servarr Wiki
- Include fork notice and modernization notes

Minor fixes:
- Add missing restart policies
- Fix typos and formatting
- Update cross-seed to v6
- Add notes about alternative tools
This commit is contained in:
Richard Nixon 2026-01-27 09:24:28 +00:00
parent 74296d2ec4
commit f792bf8ba9
3 changed files with 204 additions and 93 deletions

117
README.md
View file

@ -1,8 +1,88 @@
# <img src="/ultimate_plex_stack_transparent_bg.png" width="300px" alt="The Ultimate Plex Stack"></img>
Welcome to my stack repository! This repository showcases my docker compose setup for managing various media-related services using Docker containers. The compose file is meant to be modifed to each users liking as I know, not everyone has the same requirements. Hope you enjoy!
> **Fork Notice:** Este repositório é um fork do [ultimate-plex-stack](https://github.com/DonMcD/ultimate-plex-stack) original. O objetivo deste fork é modernizar o stack, substituindo ferramentas deprecadas por alternativas atuais e mantendo as melhores práticas de 2025/2026.
Currently you can choose from the **Basic** or the **Advanced** compose
Welcome to my stack repository! This repository showcases my docker compose setup for managing various media-related services using Docker containers. The compose file is meant to be modified to each user's liking as I know, not everyone has the same requirements.
Currently you can choose from the **Basic** or the **Advanced** compose.
---
## Análise de Ferramentas (2025/2026)
### Legenda de Status
| Status | Significado |
|--------|-------------|
| :white_check_mark: | Ativo e recomendado |
| :warning: | Funcional, mas com ressalvas |
| :x: | Deprecado - substituir |
| :arrows_counterclockwise: | Migração recomendada |
### Análise Detalhada
| Ferramenta | Status | Análise | Recomendação |
|------------|--------|---------|--------------|
| **Plex** | :white_check_mark: | Continua sendo o media server mais polido e user-friendly. Suporte extensivo a dispositivos. Plex Pass opcional para recursos avançados. | Manter. Alternativas: [Jellyfin](https://jellyfin.org/) (open-source, gratuito) ou [Emby](https://emby.media/). |
| **Radarr** | :white_check_mark: | Ativamente mantido. Parte do ecossistema Servarr. | Manter. |
| **Sonarr** | :white_check_mark: | Ativamente mantido. Requer v4+. | Manter. |
| **Prowlarr** | :white_check_mark: | Ativamente mantido. Suporta 500+ trackers torrent e 24+ indexers Usenet. | Manter. |
| **Readarr** | :white_check_mark: | Branch `develop` ainda é necessário para algumas funcionalidades. | Manter. |
| **Lidarr** | :white_check_mark: | Ativamente mantido para automação de música. | Manter. |
| **qBittorrent** | :white_check_mark: | Ranked #1 entre clientes torrent. Suporta até 10.000 torrents. | Manter. Alternativas: [Transmission](https://transmissionbt.com/) (mais leve), [Deluge](https://deluge-torrent.org/) (mais customizável via plugins). |
| **Overseerr** | :arrows_counterclockwise: | Sendo **deprecado** e fundido com Jellyseerr em um novo projeto chamado **Seerr**. | **Migrar para [Seerr](https://github.com/seerr-team/seerr)** - suporta Plex, Jellyfin e Emby. |
| **Plex Meta Manager** | :x: | **DEPRECADO** em Abril 2024. Projeto renomeado para Kometa. LinuxServer.io não oferece mais suporte à imagem antiga. | **Substituir por [Kometa](https://github.com/Kometa-Team/Kometa)** (`kometateam/kometa`). |
| **Tdarr** | :warning: | Funcional e poderoso para transcoding distribuído. Closed-source. | Manter. Alternativa open-source: [Unmanic](https://github.com/Unmanic/unmanic). |
| **Tautulli** | :white_check_mark: | Continua sendo a melhor ferramenta de monitoramento para Plex. Alguns antivírus podem gerar falsos positivos. | Manter. |
| **Bazarr** | :white_check_mark: | Ativamente mantido. Suporte a Python 3.13+. Integração com OpenSubtitles melhorada. | Manter. |
| **Autobrr** | :white_check_mark: | Ativamente mantido (Go 1.25+). Melhor opção para IRC automation. | Manter. |
| **Flaresolverr** | :arrows_counterclockwise: | Cloudflare atualiza constantemente suas proteções. FlareSolverr tem dificuldades em acompanhar. | **Considerar migrar para [Byparr](https://github.com/ThePhaseless/Byparr)** - drop-in replacement mais moderno usando Camoufox. |
| **Membarr** | :warning: | Projeto original pode estar abandonado. Forks da comunidade (Yoruio/Membarr) continuam disponíveis. | Avaliar se Wizarr não atende melhor a necessidade. |
| **Wizarr** | :white_check_mark: | Ativamente mantido (v2025.10.5+). Suporta Plex, Jellyfin, Emby, Audiobookshelf, Romm, Komga e Kavita. | Manter. |
| **Dozzle** | :white_check_mark: | Leve e eficiente para logs em tempo real. Suporta Docker, Swarm, K8s, Podman. | Manter. Para logs históricos/search, considerar [Loki + Grafana](https://grafana.com/oss/loki/). |
| **Plex Auto Languages** | :warning: | Projeto original (RemiRigal) pode ter sido abandonado. Forks da comunidade (JourneyDocker, thesammykins) continuam. Problemas reportados em TrueNAS Scale. | Usar fork ativo: `journeyover/plex-auto-languages` ou rewrite em TypeScript de thesammykins. |
| **Cross-Seed** | :white_check_mark: | Ativamente mantido (v6). Suporta qBittorrent, rTorrent, Deluge, Transmission. | Manter. |
| **Unpackerr** | :white_check_mark: | Ativamente mantido. Suporta RAR, ZIP, 7ZIP, TAR e mais. Auto-detecção de *arr apps. | Manter. |
| **Recyclarr** | :white_check_mark: | Ativamente mantido. TRaSH Guides atualizados em Janeiro 2026. Suporta Radarr e Sonarr v4+. | Manter. |
---
## Mudanças Prioritárias para Modernização
### :x: Substituições Obrigatórias
1. **Plex Meta Manager → Kometa**
```yaml
# Antes (deprecado)
plex-meta-manager:
image: meisnate12/plex-meta-manager
# Depois
kometa:
image: kometateam/kometa
```
2. **Overseerr → Seerr**
```yaml
# Antes (será deprecado)
overseerr:
image: lscr.io/linuxserver/overseerr:latest
# Depois
seerr:
image: ghcr.io/seerr-team/seerr:latest
```
### :arrows_counterclockwise: Migrações Recomendadas
3. **Flaresolverr → Byparr** (se enfrentando problemas com Cloudflare)
```yaml
# Alternativa mais moderna
byparr:
image: ghcr.io/thephaseless/byparr:latest
```
---
## Overview
@ -33,9 +113,9 @@ Currently you can choose from the **Basic** or the **Advanced** compose
- **Flaresolverr:** Used as a proxy server to bypass Cloudflare and DDoS-GUARD protection.
- **Dozzle:** Used to view the logs of any container.
- **Wizarr:** Used to create links that can be sent to users so they can be invited to your media server.
- **Plex Meta Manager:** Used to create collections, overlays, playlists and much more!
- **Plex Auto Lanaguages:** Used to auto update the language of your Plex Tv episodes
- **Recylarr:** Used to sync the config of trash guides with your arr stack
- **Kometa:** Used to create collections, overlays, playlists and much more! *(Formerly Plex Meta Manager)*
- **Plex Auto Languages:** Used to auto update the language of your Plex TV episodes
- **Recyclarr:** Used to sync the config of trash guides with your arr stack
## Dependencies
@ -49,7 +129,7 @@ Currently you can choose from the **Basic** or the **Advanced** compose
1. Clone this repository / Copy the docker-compose.yml file:
```
git clone https://github.com/DonMcD/ultimate-plex-stack.git
git clone https://github.com/richardnixondev/homelab-ultimate-setup.git
```
2. Rename the advanced-compose or basic-compose to docker-compose.yml
3. Fill in the required environment variables
@ -60,24 +140,24 @@ Currently you can choose from the **Basic** or the **Advanced** compose
Keep in mind some variable names have changed since this screenshot was taken
<img width="657" alt="image" src="https://github.com/DonMcD/ultimate-plex-stack/assets/90471623/9a614eb0-8ff7-4eb9-b154-61c08cd595e9">
File location examples:
- {MEDIA_SHARE} = /share
- {BASE_PATH} = /home/username/docker
To allow hardlinking to work (which you will definitely want!) you will have to use the same root folder in all of your container path. In this example we use "/share", so in the container it will look like "/share/downloads/tv"
An example of my folder structure:
An example of my folder structure:
![image](https://github.com/DonMcD/ultimate-plex-stack/assets/90471623/2003ac26-a929-4ff6-ad67-e35fc51fb51a)
- Feel free to expand your folders to also include "books" or "music" as you need for your setup
- Feel free to expand your folders to also include "books" or "music" as you need for your setup
1. In Radarr you will want to set your category to "movies", this will create the movies folder
2. In Sonarr you will want to set your category to "tv", this will create the tv folder
Anytime you reference your media folder in a container you want the path to look like /share/media/tv instead of /tv like a lot of the default guides say, if you do end up mapping the path as /tv hardlinking will not work
## Possible Additions
@ -85,4 +165,15 @@ Anytime you reference your media folder in a container you want the path to look
1. Organizr - Creates a lovely dashboard to help navigate to all of your apps
2. Portainer - Docker GUI
3. UptimeKuma - Gives you the ability to monitor your services
4. [Homarr](https://homarr.dev/) - Modern dashboard alternative to Organizr
5. [Homepage](https://gethomepage.dev/) - Another modern dashboard option
---
## Fontes e Referências
- [TRaSH Guides](https://trash-guides.info/) - Guias de qualidade e configuração
- [Servarr Wiki](https://wiki.servarr.com/) - Documentação oficial dos *arr apps
- [LinuxServer.io](https://www.linuxserver.io/) - Imagens Docker confiáveis
- [Kometa Wiki](https://kometa.wiki/) - Documentação do Kometa (ex-PMM)
- [Seerr Documentation](https://docs.seerr.dev/) - Documentação do Seerr

View file

@ -1,8 +1,9 @@
# Welcome to my Ultimate Plex Stack!
# Welcome to my Ultimate Plex Stack! (Modernized Fork)
#
# Make sure to rename this file to "docker-compose.yaml" if you are using git clone
#
# I was hoping this could maybe help some people out when setting up their stack
# This is a modernized version of the original ultimate-plex-stack
# Updated to use current tools and replace deprecated ones (2025/2026)
#
# Environment Variable Examples:
# PUID = 99
@ -23,7 +24,7 @@ networks: #This is used if you have a reverse proxy. I use Nginx Proxy Manager b
proxy: #You can remove this block if you are not planning to use a vpn
external:
name: proxy
services:
#Plex - used to display the media
#
@ -47,7 +48,7 @@ services:
- ${MEDIA_SHARE}/media/tv:/tv
- ${MEDIA_SHARE}/media/movies:/movies
restart: unless-stopped
#Radarr - used to find movies automatically
radarr:
image: lscr.io/linuxserver/radarr:latest
@ -59,12 +60,12 @@ services:
volumes:
- ${BASE_PATH}/radarr/config:/config
- ${MEDIA_SHARE}:/share #Access to the entire share
#networks: #Does not connect to overseer if you use NPM
#networks: #Does not connect to seerr if you use NPM
# - proxy
ports:
- 7878:7878
restart: unless-stopped
#Sonarr - used to find tv shows automatically
sonarr:
image: lscr.io/linuxserver/sonarr:latest
@ -76,12 +77,12 @@ services:
volumes:
- ${BASE_PATH}/sonarr/config:/config
- ${MEDIA_SHARE}:/share #Access to the entire share
#networks: #Does not connect to overseer if you use NPM
#networks: #Does not connect to seerr if you use NPM
# - proxy
ports:
- 8989:8989
restart: unless-stopped
#Readarr - Used to download books
readarr:
image: lscr.io/linuxserver/readarr:develop
@ -97,8 +98,8 @@ services:
ports:
- 8787:8787
restart: unless-stopped
#Lidarr - Used to download music
#Lidarr - Used to download music
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
@ -112,7 +113,7 @@ services:
ports:
- 8686:8686
restart: unless-stopped
#Prowlarr - manages your Sonarr, Radarr and download client
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
@ -128,7 +129,7 @@ services:
ports:
- 9696:9696
restart: unless-stopped
#Autobrr - used to grab torrents using the trackers IRC channel - Increases seeding due to grabbing content before RSS feed
autobrr:
container_name: autobrr
@ -143,37 +144,39 @@ services:
ports:
- 7474:7474
#Overseer - allows users to request media on their own
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
#Seerr - allows users to request media on their own
#
#UPDATED: Replaces Overseerr. Seerr is the unified successor to Overseerr and Jellyseerr
#Supports Plex, Jellyfin, and Emby
#Migration guide: https://docs.seerr.dev/
seerr:
image: ghcr.io/seerr-team/seerr:latest
container_name: seerr
environment:
- PUID=${PUID}
- PGID=${GUID}
- TZ=${TZ}
volumes:
- ${BASE_PATH}/overseer/config:/config
- ${MEDIA_SHARE}:/share #Access to the entire share
- ${BASE_PATH}/seerr/config:/app/config
#networks:
# - proxy
ports:
- 5055:5055
restart: unless-stopped
#Flaresolerr - Used as a proxy server to bypass Cloudflare and DDoS-GUARD protection.
flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
#Byparr - Used as a proxy server to bypass Cloudflare and DDoS-GUARD protection
#
#UPDATED: Replaces Flaresolverr. Byparr is a modern drop-in replacement using Camoufox
#Uses the same API as Flaresolverr, so no changes needed in Prowlarr config
#https://github.com/ThePhaseless/Byparr
byparr:
image: ghcr.io/thephaseless/byparr:latest
container_name: byparr
environment:
- LOG_LEVEL=info
- LOG_HTML=false
- CAPTCHA_SOLVER=none
- TZ=${TZ}
ports:
- 8191:8191
restart: unless-stopped
#Qbittorrent - torrenting software
#
#You can also use RuTorrent, Transmission or Deluge
@ -190,7 +193,7 @@ services:
- ${BASE_PATH}/qbittorrent/config:/config
- ${MEDIA_SHARE}:/share
restart: unless-stopped
#Tautulli - for plex statistics. Very useful when troubleshooting performance issues
tautulli:
image: lscr.io/linuxserver/tautulli:latest
@ -210,6 +213,7 @@ services:
#Tdarr - to transcode videos from one format to another like x265 or H.265
#
#This container requires a decent amount of horse power to run but will save space in the long run
#Alternative open-source option: Unmanic (https://github.com/Unmanic/unmanic)
tdarr:
container_name: tdarr
image: ghcr.io/haveagitgat/tdarr:latest
@ -237,12 +241,14 @@ services:
- /transcode_cache:/temp
devices:
- /dev/dri:/dev/dri #Required for HW transcoding / QuickSync
#Membarr - to invite users via discord
#
#Can be configured so that when a plex member invites an outside user to a discord channel they are auto invited to plex
#Using Yoruio fork which is actively maintained
#
#Feel free to remove this container if you want to manually invite everyone yourself
#Consider using Wizarr instead if you don't need Discord integration
membarr:
container_name: membarr
image: yoruio/membarr:latest
@ -251,7 +257,7 @@ services:
- token=${MEMBARR_TOKEN}
volumes:
- ${BASE_PATH}/membarr/config:/app/app/config
#Bazarr - for subtitles. Try to use SRT format if you can rather than PGS due to performance issues
bazarr:
container_name: bazarr
@ -266,25 +272,29 @@ services:
- ${MEDIA_SHARE}:/share
ports:
- 6767:6767
#Plex Auto Languages - This switches languages automatically example: watching english show and non english speaks you get subtitle lol
#Plex Auto Languages - This switches languages automatically example: watching english show and non english speaks you get subtitle
#
#UPDATED: Using JourneyOver fork which is actively maintained
#Alternative: thesammykins TypeScript rewrite (https://github.com/thesammykins/plex-auto-languages)
plexautolanguages:
image: remirigal/plex-auto-languages:latest
image: journeyover/plex-auto-languages:latest
container_name: plex-auto-languages
environment:
- PLEX_URL=${PLEX_URL} #This is your local URl example: http://192.168.1.10:32400
- PLEX_URL=${PLEX_URL} #This is your local URL example: http://192.168.1.10:32400
#To find your plex token go to https://app.plex.tv/, go to your library, click on the 3 dots on the bottom right of one of your tv/movie posters
#Then click "View XML" in the bottom right of that popup, look at the URL of the XML window and find your X-Plex-Token= in the URL (at the very end)
- PLEX_TOKEN=${PLEX_TOKEN}
- TZ=${TZ}
volumes:
- ${BASE_PATH}/pal/config:/config
restart: unless-stopped
#Cross Seed - used to take torrents from one tracker and seed them on another without leeching first. Increases ratio
#
#This is fairly advanced but can be removed if you don't think you will need it. Some trackers also don't allow this
cross-seed:
image: ghcr.io/cross-seed/cross-seed
image: ghcr.io/cross-seed/cross-seed:6
container_name: cross-seed
environment:
- PUID=${PUID}
@ -297,23 +307,27 @@ services:
- ${MEDIA_SHARE}/cross-seed/current-cross-seeds:/cross-seeds # A place to temp save current cross seed .torrent files
#- ${MEDIA_SHARE}/downloads:/data # OPTIONAL!!! this is dataDir path (for data-based matching) - will need to replicate your torrent client's container path (like Arr's do)
command: daemon # this enables the search mode, change to daemon to specifically run the daemon
#Plex Meta Manager - used to create collections in plex. Example: "Most Popular Movies This Week", "Best of horror", etc.
plex-meta-manager:
image: meisnate12/plex-meta-manager
container_name: plex-meta-manager
restart: unless-stopped
#Kometa - used to create collections in plex. Example: "Most Popular Movies This Week", "Best of horror", etc.
#
#UPDATED: Replaces Plex Meta Manager which was deprecated in April 2024
#Migration guide: https://kometa.wiki/en/latest/kometa/guides/rebrand/
kometa:
image: kometateam/kometa:latest
container_name: kometa
environment:
- TZ=${TZ}
#- PMM_OVERLAYS_ONLY=true #Tells PMM to run overlays only
- PMM_CONFIG=/config/config.yml
- PMM_RUN=true #Runs PMM Immediately
#- PMM_RUN_LIBRARIES=Movies #Tells PMM to process only a library called "Movies"
#- KOMETA_OVERLAYS_ONLY=true #Tells Kometa to run overlays only
- KOMETA_CONFIG=/config/config.yml
- KOMETA_RUN=true #Runs Kometa Immediately
#- KOMETA_RUN_LIBRARIES=Movies #Tells Kometa to process only a library called "Movies"
volumes:
- ${BASE_PATH}/plex-meta-manager/config:/config
- ${BASE_PATH}/kometa/config:/config
restart: unless-stopped
#Wizarr - Allows you to create a share link that you can send to users to invite them to your media server
#Supports Plex, Jellyfin, Emby, Audiobookshelf, Romm, Komga and Kavita
wizarr:
container_name: wizarr
image: ghcr.io/wizarrrr/wizarr:latest
@ -321,8 +335,10 @@ services:
- 5690:5690
volumes:
- ${BASE_PATH}/wizarr/data/database:/data/database
#Dozzle - Used to easily view logs of any container in real time!
restart: unless-stopped
#Dozzle - Used to easily view logs of any container in real time!
#For historical logs/search, consider Loki + Grafana
dozzle:
container_name: dozzle
image: amir20/dozzle:latest
@ -330,21 +346,21 @@ services:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 9999:8080
#Unpacker - Used to unzip zipped files
unpackerr:
image: golift/unpackerr
container_name: unpackerr
restart: unless-stopped
#Unpackerr - Used to unzip zipped files
unpackerr:
image: golift/unpackerr:latest
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.
- ${MEDIA_SHARE}:/share
#- ${BASE_PATH}/unpackerr/config:/config
restart: always
restart: unless-stopped
user: 1000:1000 #Needs to run as 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.
# 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:
- UN_START_DELAY=1m
@ -364,14 +380,15 @@ services:
- UN_RADARR_0_TIMEOUT=10s
#- UN_RADARR_0_PATHS_0=/share/downloads/movies
# Used to sync Trash Guides config's to radarr and sonarr
# Recyclarr - Used to sync Trash Guides config's to radarr and sonarr
# Only accessible via command line! No GUI
# Supports Radarr and Sonarr v4+
recyclarr:
image: ghcr.io/recyclarr/recyclarr
image: ghcr.io/recyclarr/recyclarr:latest
container_name: recyclarr
user: ${PUID}:${GUID}
volumes:
- ${BASE_PATH}/recyclarr/config:/config
environment:
- TZ=${TZ}
restart: unless-stopped

View file

@ -1,10 +1,10 @@
# Welcome to my Ultimate Plex Stack! (No vpn for qbit)
# Welcome to my Ultimate Plex Stack! (Modernized Fork - Basic Version)
#
#Make sure to rename this to "docker-compose.yaml" if you are using git clone
#This is the basic option giving you all the necessities for a basic plex / arr setup
# Make sure to rename this to "docker-compose.yaml" if you are using git clone
# This is the basic option giving you all the necessities for a basic plex / arr setup
#
# I was hoping this could maybe help some people out when setting up their stack
# This is a modernized version of the original ultimate-plex-stack
# Updated to use current tools and replace deprecated ones (2025/2026)
#
# Environment Variable Examples:
# PUID = 99
@ -43,7 +43,7 @@ services:
- ${MEDIA_SHARE}/media/tv:/tv
- ${MEDIA_SHARE}/media/movies:/movies
restart: unless-stopped
#Radarr - used to find movies automatically
radarr:
image: lscr.io/linuxserver/radarr:latest
@ -58,7 +58,7 @@ services:
ports:
- 7878:7878
restart: unless-stopped
#Sonarr - used to find tv shows automatically
sonarr:
image: lscr.io/linuxserver/sonarr:latest
@ -73,7 +73,7 @@ services:
ports:
- 8989:8989
restart: unless-stopped
#Prowlarr - manages your Sonarr, Radarr and download client
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
@ -88,21 +88,22 @@ services:
- 9696:9696
restart: unless-stopped
#Overseerr - allows users to request media on their own
overseerr:
image: lscr.io/linuxserver/overseerr:latest
container_name: overseerr
#Seerr - allows users to request media on their own
#
#UPDATED: Replaces Overseerr. Seerr is the unified successor to Overseerr and Jellyseerr
#Supports Plex, Jellyfin, and Emby
#Migration guide: https://docs.seerr.dev/
seerr:
image: ghcr.io/seerr-team/seerr:latest
container_name: seerr
environment:
- PUID=${PUID}
- PGID=${GUID}
- TZ=${TZ}
volumes:
- ${BASE_PATH}/overseerr/config:/config
- ${MEDIA_SHARE}:/share #Access to the entire share
- ${BASE_PATH}/seerr/config:/app/config
ports:
- 5055:5055
restart: unless-stopped
#Qbittorrent - torrenting software
#You can also use RuTorrent, Transmission or Deluge
qbittorrent:
@ -117,5 +118,7 @@ services:
volumes:
- ${BASE_PATH}/qbittorrent/config:/config
- ${MEDIA_SHARE}:/share
ports:
- 8080:8080
- 8694:8694
restart: unless-stopped