Add new features, fix .env setup, fix permissions and UID conflicts (#50)

* add support for Flaresolverr,
automatic timezone detection

* add scripts for cleaning up old users,
and updating the containers

* fix audiobookshelf, re-add jacket support

* add optional folder and permission generation
also use a previously unused function to clean up code

* fix python UID for tautulli and jellyfin

* remove empty file

* docker-compose sample that uses env variables

new .env sample, fixed setup

* change default install directory to current dir

* fix update_containers

* remove obsolete version line

* fix directory ownership

* update README

* address nitpicks

* Update check_running.yml

Updated auto-check workflow to also copy docker-compose sample file, updated syntax to docker compose without "-"
This commit is contained in:
Pavlogal
2024-07-03 13:27:02 +02:00
committed by GitHub
parent fe24e8e0fd
commit 1e8220bf30
12 changed files with 519 additions and 274 deletions

252
docker-compose.yml.sample Normal file
View File

@@ -0,0 +1,252 @@
---
name: ezarr
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=${SONARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/sonarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- "8989:8989"
restart: unless-stopped
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=${RADARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/radarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- "7878:7878"
restart: unless-stopped
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
environment:
- PUID=${LIDARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/lidarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- "8686:8686"
restart: unless-stopped
readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: readarr
environment:
- PUID=${READARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/readarr-config:/config
- ${ROOT_DIR}/data:/data
ports:
- "8787:8787"
restart: unless-stopped
mylar3:
image: lscr.io/linuxserver/mylar3:latest
container_name: mylar3
environment:
- PUID=${MYLAR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
volumes:
- ${ROOT_DIR}/config/mylar-config:/config
- ${ROOT_DIR}/data:/data
ports:
- "8090:8090"
restart: unless-stopped
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
environment:
- user=${AUDIOBOOKSHELF_UID}:${MEDIACENTER_GID}
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/audiobookshelf:/config
- ${ROOT_DIR}/data/media/audiobooks:/audiobooks
- ${ROOT_DIR}/data/media/podcasts:/podcasts
- ${ROOT_DIR}/data/media/audiobookshelf-metadata:/metadata
ports:
- "13378:80"
restart: unless-stopped
bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: bazarr
environment:
- PUID=${BAZARR_UID}
- PGID=${MEDIACENTER_GID}
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/bazarr-config:/config
- ${ROOT_DIR}/data/media:/media
ports:
- "6767:6767"
restart: unless-stopped
overseerr:
image: sctx/overseerr:latest
container_name: overseerr
environment:
- PUID=${OVERSEERR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/overseerr-config:/app/config
ports:
- "5055:5055"
restart: unless-stopped
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- PUID=${JELLYSEERR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/jellyseerr-config:/app/config
ports:
- "5056:5055"
restart: unless-stopped
prowlarr:
image: lscr.io/linuxserver/prowlarr:develop
container_name: prowlarr
environment:
- PUID=${PROWLARR_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/prowlarr-config:/config
ports:
- "9696:9696"
restart: unless-stopped
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
environment:
- PUID=${JACKETT_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/jackett-config:/config
ports:
- 9117:9117
restart: unless-stopped
flaresolverr:
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=${TIMEZONE}
ports:
- "8191:8191"
restart: unless-stopped
plex:
image: lscr.io/linuxserver/plex:latest
container_name: plex
network_mode: host
environment:
- PUID=${PLEX_UID}
- PGID=${MEDIACENTER_GID}
- VERSION=docker
- PLEX_CLAIM=${PLEX_CLAIM}
volumes:
- ${ROOT_DIR}/config/plex-config:/config
- ${ROOT_DIR}/data/media:/media
restart: unless-stopped
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
# commented out because plex can also run outside of docker
#depends_on:
# - plex
environment:
- PUID=${UID}
- PGID=${MEDIACENTER_GID}
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/tautulli-config:/config
ports:
- "8181:8181"
restart: unless-stopped
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=${UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/jellyfin-config:/config
- ${ROOT_DIR}/data/media:/data
ports:
- "8096:8096"
restart: unless-stopped
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=${QBITTORRENT_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
- WEBUI_PORT=8080
volumes:
- ${ROOT_DIR}/config/qbittorrent-config:/config
- ${ROOT_DIR}/data/torrents:/data/torrents
ports:
- "8080:8080"
- "6881:6881"
- "6881:6881/udp"
restart: unless-stopped
sabnzbd:
image: lscr.io/linuxserver/sabnzbd:latest
container_name: sabnzbd
environment:
- PUID=${SABNZBD_UID}
- PGID=${MEDIACENTER_GID}
- UMASK=002
- TZ=${TIMEZONE}
volumes:
- ${ROOT_DIR}/config/sabnzbd-config:/config
- ${ROOT_DIR}/data/usenet:/downloads
ports:
- "8081:8080"
restart: unless-stopped