Docker Compose

AdGuard

  

services:
  adguardhome:
    container_name: adguardhome
    image: adguard/adguardhome
    restart: unless-stopped
    network_mode: host
    # networks:
    #   – default
    # ports:
    #   – 53:53/udp
    #   – 67:67/udp
    #   – 68:68/tcp
    #   – 1068:68/udp # port conflict with Raspberry PI OS DHCPD https://github.com/AdguardTeam/AdGuardHome/issues/1049
    #   – 81:80/tcp
    #   – 444:443/tcp
    #   – 853:853/tcp
    volumes:
      – /path/to/conf:/opt/adguardhome/conf
      – /path/to/work:/opt/adguardhome/work

AdGuard Overview

AdGuard is a powerful ad-blocking and privacy protection tool designed to enhance your browsing experience by blocking unwanted advertisements, tracking scripts, and malicious websites. Available as a browser extension, desktop application, container, and mobile app, AdGuard provides comprehensive protection across various platforms, ensuring a smoother, faster, and safer internet experience.

Why AdGuard is Useful:

  • Ad Blocking: AdGuard effectively removes intrusive ads from websites and streaming services, leading to faster load times and a cleaner browsing experience.

  • Privacy Protection: By blocking tracking scripts and third-party cookies, AdGuard helps safeguard your personal information from advertisers and data brokers, enhancing your online privacy.

  • Malware Protection: AdGuard protects users from phishing and malicious websites, reducing the risk of encountering harmful content that could compromise security.

  • Customizable Filters: Users can customize their ad-blocking preferences with various filter lists, allowing them to tailor the experience to their needs and preferences.

  • Cross-Platform Support: With versions available for browsers, desktops, and mobile devices, AdGuard provides a consistent level of protection across all your devices.

  • User-Friendly Interface: AdGuard’s intuitive interface makes it easy for users to manage their settings, view blocked content, and understand how the tool enhances their online experience.

Overall, AdGuard is an essential tool for anyone looking to improve their online experience by reducing clutter, enhancing privacy, and ensuring safer browsing.

Emby

  

services:
  emby:
    image: emby/embyserver
    container_name: embyserver
    network_mode: ‘bridge’
    ports:
      – 8090:8090
    environment:
      – UID=1000
      – GID=1000
    volumes:
      – /path/to/config:/config
      – /path/to/media:/Media
    restart: ‘unless-stopped’

Emby Overview

Emby is a versatile media server platform that allows you to organize, manage, and stream your personal media collection across various devices. Emby provides a centralized hub for your movies, TV shows, music, and photos, enabling seamless access to your content from anywhere. With support for a wide range of devices, Emby makes it easy to enjoy your media library at home or on the go.

Why Emby is Useful:

  • Media Organization: Emby automatically organizes your media files, fetching metadata, artwork, and additional information to create a rich and visually appealing library.
  • Streaming Capabilities: With built-in transcoding features, Emby allows you to stream your media to different devices, adjusting the format and quality based on network conditions and device compatibility.
  • Cross-Platform Support: Emby is available on various platforms, including Windows, macOS, Linux, Android, iOS, and smart TVs, ensuring you can access your media from virtually any device.
  • User Management: Emby offers robust user management features, allowing you to create individual profiles with customized settings, viewing restrictions, and recommendations tailored to each user’s preferences.
  • Live TV and DVR: With Emby, you can integrate live TV and DVR functionality, enabling you to watch and record your favorite shows directly through the Emby interface.
  • Mobile and Remote Access: Emby provides mobile apps and web access, allowing you to take your media library with you wherever you go. You can stream content over Wi-Fi or mobile data, ensuring you never miss your favorite shows or movies.
  • Intuitive Interface: Emby’s user-friendly interface makes it easy to navigate through your media library, search for content, and manage settings, enhancing your overall viewing experience.

Overall, Emby is an excellent choice for media enthusiasts looking to create a personalized media server that offers flexibility, organization, and ease of access across multiple devices.

Filebrowser

  

services:
  filebrowser:
    image: filebrowser/filebrowser:s6
    container_name: filebrowser
    restart: unless-stopped
    ports:
      – 8095:80
    volumes:
      – /path:/srv
      – /path/to/filebrowser.db:/database/filebrowser.db
      – /path/to/settings.json:/config/settings.json
    environment:
      – PUID=1000
      – PGID=1000
      – TZ=America/New_York
    network_mode: ‘bridge’

FileBrowser Overview

FileBrowser is a user-friendly file management solution designed to provide seamless access to your files across various devices. By transforming your existing file structure into an easily navigable interface, FileBrowser enables you to browse, manage, and share files effortlessly. Whether you’re accessing your files from a local network or remotely, FileBrowser ensures that your data is always at your fingertips.

Why FileBrowser is Useful:

  • Intuitive Interface: FileBrowser features a clean and intuitive interface, making it easy for users to navigate their file systems, find documents, and organize files without any hassle.
  • File Sharing: With built-in sharing options, FileBrowser allows you to easily share files and folders with others, streamlining collaboration and enhancing productivity.
  • Cross-Platform Access: FileBrowser supports multiple platforms, enabling users to access their files from desktops, tablets, and mobile devices, ensuring flexibility in how you manage your data.
  • Media Preview: The application provides a preview function for various file types, including images, videos, and documents, allowing users to quickly view files without needing to open them in separate applications.
  • Secure Access: FileBrowser includes security features such as user authentication and access control, ensuring that your files are protected while still being accessible to authorized users.
  • Customization Options: Users can tailor the FileBrowser experience to their needs, with options for organizing files, setting permissions, and configuring the interface to suit their preferences.
  • Integration with Existing Systems: FileBrowser can integrate with existing file storage systems, allowing you to access and manage files without needing to migrate data to a new platform.

Overall, FileBrowser is an essential tool for anyone seeking a straightforward and efficient way to manage and access their files, whether for personal use or collaborative projects.

Homarr

  

services:
  homarr:
    container_name: homarr
    image: ghcr.io/ajnart/homarr:latest
    restart: unless-stopped
    volumes:
      – /var/run/docker.sock:/var/run/docker.sock
      – /path/to/configs:/app/data/configs
      – /path/to/icons:/app/public/icons
      – /path/to/data:/data
    ports:
      – ‘7575:7575’

Homarr Overview

Homarr is a customizable self-hosted dashboard designed to help you manage your media applications and services in one convenient location. It acts as a centralized hub, enabling users to easily access and monitor their various media management tools, such as streaming services and download clients. With its intuitive interface and integration capabilities, Homarr enhances your media experience by providing quick access to all your favorite apps.

Why Homarr is Useful:

  • Centralized Dashboard: Homarr consolidates all your media applications into a single dashboard, simplifying the management of your media services and streamlining access.
  • Customizable Interface: Users can tailor the dashboard layout, adding or removing widgets and shortcuts to suit their preferences, making it easy to create a personalized media management experience.
  • Integration with Popular Services: Homarr supports integration with a wide range of media tools, including Plex, Jellyfin, Radarr, Sonarr, and more, providing a comprehensive overview of your media ecosystem.
  • Real-Time Updates: The dashboard provides real-time updates on your media services, allowing users to monitor downloads, streaming status, and other important metrics at a glance.
  • User-Friendly Design: With its clean and intuitive interface, Homarr makes it easy for users of all technical levels to navigate and manage their media applications without a steep learning curve.
  • Accessibility: Homarr can be accessed from various devices, ensuring that you can manage your media services from anywhere, whether you’re at home or on the go.
  • Community and Support: As an open-source project, Homarr has an active community that provides support, resources, and regular updates, ensuring that users benefit from continuous improvements and enhancements.

Overall, Homarr is an essential tool for anyone looking to simplify and enhance their media management experience, providing a centralized and customizable solution for accessing and monitoring media applications.

Jellyfin

  

services:
  jellyfin:
    container_name: jellyfin
    image: jellyfin/jellyfin:latest
    restart: unless-stopped
    environment:
      – PUID=568
      – PGID=568
      – TZ=America/New_York
      – NVIDIA_DRIVER_CAPABILITIES=all
      – NVIDIA_VISIBLE_DEVICES=all
    ports:
      – 8096:8096
    devices:
      – /dev/dri:/dev/dri
    volumes:
      – /mnt/home/docker/jellyfin-nvidia/config:/config
      – /mnt/home/docker/jellyfin-nvidia/cache:/cache
      – /mnt/home/media/libraries:/Media
    network_mode: host
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            – capabilities: [gpu]

  

services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    environment:
      – PUID=1000
      – PGID=1000
      – TZ=America/New_York
      – UMASK=002
      – DEBUG=no
    ports:
      – 8096:8096
    volumes:
      – /path/to/config:/config
      – /path/to/cache:/cache
      – /path/to/media:/Media
    network_mode: ‘bridge’

Jellyfin Overview

Jellyfin is an open-source media server software that allows you to host and stream your personal media collection, including movies, TV shows, music, and photos. Unlike many commercial alternatives, Jellyfin is completely free and provides a fully customizable experience, empowering users to create their own media streaming platform without any restrictions. With its user-friendly interface and powerful features, Jellyfin enhances your media consumption by making it easy to access your favorite content from any device.

Why Jellyfin is Useful:

  • Self-Hosted Solution: Jellyfin allows you to host your media server on your own hardware, giving you full control over your content and privacy without relying on third-party services.
  • Wide Format Support: The server supports a broad range of media formats, ensuring compatibility with your entire collection and providing seamless playback across devices.
  • Multi-User Support: Jellyfin enables you to create multiple user accounts, allowing family members to have personalized libraries, watch histories, and recommendations, enhancing the user experience for everyone.
  • Streaming Anywhere: With Jellyfin, you can access your media from anywhere using web browsers or mobile apps, making it convenient to enjoy your content on the go.
  • Customizable Metadata: The server automatically fetches metadata for your media files, including artwork, descriptions, and ratings, ensuring that your library looks polished and organized.
  • Transcoding Capabilities: Jellyfin features powerful transcoding options, allowing for smooth playback on devices with varying capabilities, ensuring optimal viewing experiences regardless of hardware limitations.
  • Plugins and Extensions: The platform supports a range of plugins and extensions, enabling users to enhance functionality, integrate with third-party services, and customize their server to meet specific needs.
  • Active Community Support: Being open-source, Jellyfin benefits from a vibrant community that contributes to ongoing development, support, and regular updates, ensuring a continually improving user experience.

Overall, Jellyfin is an exceptional choice for anyone looking to create a personalized media server. It combines powerful features, flexibility, and a commitment to user privacy, making it a top contender for managing and streaming your media collection.

Jellyseer

  

services:
  jellyseerr:
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    environment:
      – LOG_LEVEL=debug
      – TZ=America/New_York
    ports:
      – 5055:5055
    volumes:
      – /path/to/config:/app/config
    restart: unless-stopped

Jellyseerr Overview

Jellyseerr is an open-source media request tool that integrates seamlessly with your media server setup, allowing users to request movies and TV shows from a centralized platform. Designed to enhance the media consumption experience, Jellyseerr simplifies the process of managing content requests and notifications, making it easier for users to enjoy their favorite shows and films while keeping track of what’s available.

Why Jellyseerr is Useful:

  • User-Friendly Interface: Jellyseerr offers an intuitive and visually appealing interface that makes it easy for users to browse available media, submit requests, and track their progress.
  • Integration with Media Servers: Jellyseerr works harmoniously with popular media servers like Jellyfin, allowing for a cohesive experience where users can manage their content requests without leaving their primary media platform.
  • Request Management: The tool streamlines the process of requesting new media content, enabling users to easily submit their preferences, which can then be reviewed and fulfilled by administrators or other users.
  • Notifications and Updates: Users receive notifications about their requests, including status updates when new content becomes available, ensuring they never miss out on the latest additions to their media library.
  • Customizable User Permissions: Jellyseerr allows administrators to customize user permissions, creating a tailored experience that meets the specific needs of different users or groups within the household.
  • Community Contributions: As an open-source project, Jellyseerr benefits from community contributions, ensuring that it evolves to meet the needs of its users with regular updates, new features, and improvements.
  • Privacy-Focused: Jellyseerr prioritizes user privacy, allowing you to manage requests and track content without relying on third-party services, keeping your data secure and under your control.
  • Enhanced Media Experience: By facilitating content requests and streamlining communication about new media, Jellyseerr enhances the overall experience of using a media server, making it more interactive and engaging for users.

Overall, Jellyseerr is a fantastic addition for any media server setup, providing a comprehensive solution for managing content requests and improving user engagement. Its user-friendly design and robust features make it a valuable tool for anyone looking to streamline their media consumption experience.

Photoprism (MariaDB)

  

services:
  photoprism:
    image: photoprism/photoprism:latest
    restart: unless-stopped
    stop_grace_period: 10s
    depends_on:
      – mariadb
    security_opt:
      – seccomp:unconfined
      – apparmor:unconfined
    ports:
      – “2342:2342”
    env_file:
      – stack.env
    working_dir: “/photoprism”
    volumes:
      – “/path/to/Photos:/photoprism/originals”
      – “/path/to/storage:/photoprism/storage”

  mariadb:
    image: mariadb:11
    restart: unless-stopped
    stop_grace_period: 5s
    security_opt:
      – seccomp:unconfined
      – apparmor:unconfined
    command:
      –innodb-buffer-pool-size=512M
      –transaction-isolation=READ-COMMITTED
      –character-set-server=utf8mb4
      –collation-server=utf8mb4_unicode_ci
      –max-connections=512
      –innodb-rollback-on-timeout=OFF
      –innodb-lock-wait-timeout=120
    volumes:
      – “/path/to/database:/var/lib/mysql”
    env_file:
      – stack.env

PhotoPrism Overview

PhotoPrism is an open-source application designed for managing and organizing your photo collection efficiently. With its powerful features and intuitive interface, PhotoPrism enhances the experience of storing, accessing, and sharing images, making it an essential tool for photography enthusiasts and casual users alike.

Why PhotoPrism is Useful:

  • Smart Organization: PhotoPrism automatically organizes photos using advanced machine learning, categorizing images by date, location, and content. This means you can effortlessly find specific images without spending hours sorting through folders.
  • Web-Based Access: With a fully responsive web interface, PhotoPrism allows you to access your photos from any device with an internet connection. Whether on a desktop or mobile device, your photo library is always at your fingertips.
  • Privacy and Security: By hosting PhotoPrism on your own server, you maintain full control over your data. This self-hosted solution ensures that your images are kept private and secure, away from data mining and advertisements.
  • Support for Various Formats: PhotoPrism supports a wide range of image formats, including JPEG, PNG, GIF, and RAW files. This versatility ensures that all your images can be managed without compatibility issues.
  • Advanced Search Capabilities: With robust search functionalities, PhotoPrism allows users to find images based on various criteria such as date, location, and tags. This feature simplifies locating specific photos within large collections.
  • User-Friendly Interface: The intuitive interface makes it easy for users to navigate their photo library, view images, and manage settings. This accessibility is especially beneficial for those who may not be tech-savvy.
  • Community Contributions: As an open-source project, PhotoPrism benefits from community involvement. Regular updates, new features, and improvements are made possible through user contributions, ensuring the application continues to evolve.
  • Seamless Sharing: PhotoPrism simplifies sharing images with friends and family through easy link sharing. Users can showcase their photography without the hassle of email attachments or social media uploads.

Overall, PhotoPrism is an invaluable tool for anyone looking to efficiently manage their photo collection. With its smart organization, web-based access, privacy-focused hosting, and advanced search capabilities, PhotoPrism provides a comprehensive solution for both amateur and professional photographers. Whether cataloging personal memories or building a professional portfolio, PhotoPrism enhances your photo management experience, making it intuitive and enjoyable.

Media Stack

  

networks:
  default:
    name: media
    external: true

services:
  nzbget: #usenet download agent
    image: ghcr.io/linuxserver/nzbget
    container_name: nzbget
    environment:
      – TZ=America/New_York
    volumes:
      # – ./nzbget:/config
      # – /path/to/usenet:/media/usenet
    ports:
      – 6789:6789
    restart: unless-stopped

  prowlarr: #indexer manager for Sonarr & Radarr
    image: ghcr.io/linuxserver/prowlarr:develop
    container_name: prowlarr
    environment:
      – TZ=America/New_York
    volumes:
      # – ./prowlarr:/config
    ports:
      – 9696:9696
    restart: unless-stopped

  bazarr: #subtitle grabber
    image: ghcr.io/linuxserver/bazarr
    container_name: bazarr
    environment:
      – TZ=America/New_York
    volumes:
      # – ./bazarr:/config
    ports:
      – 6767:6767
    restart: unless-stopped

  radarr: #movie search agent
    image: ghcr.io/linuxserver/radarr
    container_name: radarr
    environment:
      – TZ=America/New_York
      – UMASK=022
    volumes:
      # – ./radarr:/config
    ports:
      – 7878:7878
    restart: unless-stopped

  sonarr: #TV show search agent
    image: ghcr.io/linuxserver/sonarr:latest
    container_name: sonarr
    environment:
      – TZ=America/New_York
      – UMASK=022
    volumes:
      # – ./sonarrV3:/config
    ports:
      – 8989:8989
    restart: unless-stopped

  lidarr: #music search agent
    image: lscr.io/linuxserver/lidarr:latest
    container_name: lidarr
    volumes:
      # – ./lidarr:/config
    environment:
      # – PUID=1000
    restart: unless-stopped
    ports:
      – 8686:8686

  jellyseerr: #media requesting tool
    image: fallenbagel/jellyseerr:latest
    container_name: jellyseerr
    environment:
      – TZ=America/New_York
    ports:
      – 5055:5055
    volumes:
      # – /path/to/config:/app/config
    restart: unless-stopped

  jellyfin: # Media Server
    container_name: jellyfin
    image: jellyfin/jellyfin:latest
    restart: unless-stopped
    environment:
      – TZ=America/New_York
      – UMASK=002
      – DEBUG=no
      – NVIDIA_DRIVER_CAPABILITIES=all
      – NVIDIA_VISIBLE_DEVICES=all
    ports:
      – 8096:8096
    volumes:
      # – /path/to/config:/config
    network_mode: host
    runtime: nvidia
    deploy:
      resources:
        reservations:
          devices:
            – capabilities: [gpu]

  readarr:
    image: lscr.io/linuxserver/readarr:develop
    container_name: readarr
    environment:
      – TZ=America/New_York
    volumes:
      # – ./readarr:/config
    ports:
      – 8787:8787
    restart: unless-stopped

  audiobookshelf:
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
      – 13378:80
    volumes:
      # – ./audiobooks:/audiobooks
    restart: unless-stopped

Media Stack Overview

This comprehensive media stack combines several powerful tools to create a seamless and efficient media consumption experience. By integrating NZBGet for usenet downloads, the Arr stack for managing TV shows and movies, Jellyseerr for user requests, Jellyfin for media streaming, and Audiobookshelf for audiobook management, users can enjoy a fully automated and customizable media environment.

Components of the Media Stack:

1. NZBGet
NZBGet is a lightweight and efficient usenet downloader that supports downloading files from usenet newsgroups. With its user-friendly interface and powerful automation capabilities, NZBGet simplifies the process of obtaining media files while maximizing download speeds.

Why NZBGet is Useful:

  • Fast Downloads: Optimized for speed, NZBGet ensures quick and reliable downloads.
  • Resource-Efficient: Designed to use minimal system resources, making it perfect for low-powered devices.
  • Web-Based Interface: Access and manage downloads from anywhere using a web interface.
  • Automation Support: Integrates seamlessly with other tools to automate the downloading process.

2. Arr Stack (Sonarr, Radarr, Lidarr, Readarr)
The Arr stack includes Sonarr, Radarr, Lidarr, and Readarr, specialized tools that automate the management of TV shows, movies, music, and books, respectively. This stack simplifies the process of tracking, downloading, and organizing media.

Why the Arr Stack is Useful:

  • Automated Tracking: Automatically tracks new releases and updates for TV shows, movies, and more.
  • Quality Control: Customize download quality and preferences to ensure you get the best version of each title.
  • Seamless Integration: Each tool works together, allowing users to manage their entire media library effortlessly.

3. Jellyseerr
Jellyseerr enhances the media experience by allowing users to request movies and TV shows within their media server ecosystem. This tool integrates directly with Jellyfin, streamlining the request process and providing notifications about new content.

Why Jellyseerr is Useful:

  • User-Friendly Requests: Simplifies content requests for users with a straightforward interface.
  • Integrated Notifications: Keeps users informed about the status of their requests.
  • Customizable User Roles: Administrators can set permissions, tailoring the experience for different users.

4. Jellyfin
Jellyfin is an open-source media server that allows users to stream their personal media collections. With support for a wide range of media formats, Jellyfin provides a powerful platform for accessing and organizing content.

Why Jellyfin is Useful:

  • Free and Open Source: Enjoy a fully customizable media server without any subscription fees.
  • Cross-Platform Support: Stream media on various devices, from smart TVs to mobile devices.
  • User Management: Create profiles for different users, ensuring a personalized experience.

5. Audiobookshelf
Audiobookshelf is a dedicated platform for managing and streaming audiobooks. It allows users to organize their audiobook collection and enjoy an easy-to-navigate interface for playback.

Why Audiobookshelf is Useful:

  • Dedicated Audiobook Management: Specifically designed for audiobooks, making it easier to catalog and play.
  • Intuitive Interface: Offers a user-friendly experience for finding and enjoying audiobooks.
  • Custom Playlists: Users can create and manage playlists for their audiobooks, enhancing the listening experience.

Conclusion

This media stack combines the strengths of NZBGet, the Arr stack, Jellyseerr, Jellyfin, and Audiobookshelf to create a powerful and automated media ecosystem. Whether you’re downloading the latest episodes, managing requests, or enjoying your favorite audiobooks, this stack provides a comprehensive solution for all your media needs, ensuring a seamless and enjoyable experience for every user.

Scroll to Top