
Media Server Stack
Stream movies, music, and manage your photo library
Overview
Build your personal Netflix, Spotify, and Google Photos replacement. Jellyfin for video streaming, Navidrome for music, Immich for photos, and PhotoPrism as a secondary photo manager with AI-powered tagging.
Included Applications (4)
Jellyfin
35.0kThe Free Software Media System. Stream media to any device from your own server with no strings attached.
Navidrome
12.0kModern Music Server and Streamer compatible with Subsonic/Airsonic. Self-hosted music streaming.
Immich
50.0kHigh performance self-hosted photo and video management solution. A Google Photos alternative.
Docker Compose
version: '3.8'
services:
jellyfin:
image: jellyfin/jellyfin:latest
ports:
- "8096:8096"
volumes:
- jellyfin_config:/config
- /path/to/movies:/media/movies
- /path/to/shows:/media/shows
restart: always
navidrome:
image: deluan/navidrome:latest
ports:
- "4533:4533"
volumes:
- navidrome_data:/data
- /path/to/music:/music:ro
restart: always
immich:
image: ghcr.io/immich-app/immich-server:release
ports:
- "2283:2283"
volumes:
- immich_data:/usr/src/app/upload
restart: always
photoprism:
image: photoprism/photoprism:latest
ports:
- "2342:2342"
environment:
PHOTOPRISM_ADMIN_PASSWORD: admin
volumes:
- photoprism_data:/photoprism/storage
- /path/to/photos:/photoprism/originals
restart: always
volumes:
jellyfin_config:
navidrome_data:
immich_data:
photoprism_data:Setup Guide
Organize media files into movies, shows, music, and photos directories
Update volume paths in docker-compose.yml to match your folders
Run docker-compose up -d
Configure Jellyfin library at port 8096
Set up Navidrome at port 4533 for music streaming
Import photos into Immich at port 2283