yams/docker-compose.example.yaml

194 lines
5.3 KiB
YAML

services:
# <media_service> is used to serve your media to the client devices
<media_service>:
image: lscr.io/linuxserver/${MEDIA_SERVICE}
container_name: ${MEDIA_SERVICE}
#network_mode: host # plex
environment:
- PUID=${PUID}
- PGID=${PGID}
- VERSION=docker
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/${MEDIA_SERVICE}:/config
ports: # plex
- 8096:8096 # plex
restart: unless-stopped
# qBitorrent is used to download torrents
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
environment:
- PUID=${PUID}
- PGID=${PGID}
- WEBUI_PORT=8081
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/qbittorrent:/config
restart: unless-stopped
ports: # qbittorrent
- 8081:8081 # qbittorrent
#network_mode: "service:gluetun"
# SABnzbd is used to download from usenet
sabnzbd:
image: lscr.io/linuxserver/sabnzbd:latest
container_name: sabnzbd
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=America/Montevideo
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/sabnzbd:/config
ports: # sabnzbd
- 8080:8080 # sabnzbd
restart: unless-stopped
#network_mode: "service:gluetun"
# Sonarr is used to query, add downloads to the download queue and index TV shows
# https://sonarr.tv/
sonarr:
image: lscr.io/linuxserver/sonarr
container_name: sonarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/sonarr:/config
ports:
- 8989:8989
restart: unless-stopped
# Radarr is used to query, add downloads to the download queue and index Movies
# https://radarr.video/
radarr:
image: lscr.io/linuxserver/radarr
container_name: radarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/radarr:/config
ports:
- 7878:7878
restart: unless-stopped
# Lidarr is used to query, add downloads to the download queue and index Music
# https://lidarr.audio/
lidarr:
image: lscr.io/linuxserver/lidarr
container_name: lidarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/lidarr:/config
ports:
- 8686:8686
restart: unless-stopped
# Readarr is used to query, add downloads to the download queue and index Audio and Ebooks
# https://readarr.com/
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: readarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/readarr:/config
ports:
- 8787:8787
restart: unless-stopped
# Bazarr is used to download and categorize subtitles
# https://www.bazarr.media/
bazarr:
image: lscr.io/linuxserver/bazarr
container_name: bazarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${MEDIA_DIRECTORY}:/data
- ${INSTALL_DIRECTORY}/config/bazarr:/config
ports:
- 6767:6767
restart: unless-stopped
# Prowlarr is our torrent indexer/searcher. Sonarr/Radarr use Prowlarr as a source
# https://prowlarr.com/
prowlarr:
image: lscr.io/linuxserver/prowlarr
container_name: prowlarr
environment:
- PUID=${PUID}
- PGID=${PGID}
volumes:
- /etc/localtime:/etc/localtime:ro
- ${INSTALL_DIRECTORY}/config/prowlarr:/config
ports:
- 9696:9696
restart: unless-stopped
# Gluetun is our VPN, so you can download torrents safely
gluetun:
image: qmcgaw/gluetun:v3
container_name: gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
- 8003:8000/tcp # Admin
#- 8080:8080/tcp # gluetun
#- 8081:8081/tcp # gluetun
environment:
- VPN_SERVICE_PROVIDER=${VPN_SERVICE}
- VPN_TYPE=openvpn
- OPENVPN_USER=${VPN_USER}
- OPENVPN_PASSWORD=${VPN_PASSWORD}
- OPENVPN_CIPHERS=AES-256-GCM
- PORT_FORWARD_ONLY=on
- VPN_PORT_FORWARDING=on
restart: unless-stopped
# Portainer helps debugging and monitors the containers
portainer:
image: portainer/portainer-ce
container_name: portainer
ports:
- 9000:9000
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- ${INSTALL_DIRECTORY}/config/portainer:/data
restart: unless-stopped
# Watchtower is going to keep our instances updated
watchtower:
image: containrrr/watchtower
container_name: watchtower
environment:
- WATCHTOWER_CLEANUP=true
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stopped