Home Media Server setup using Docker. This is achieved through the use of Docker Compose
- Any Linux OS that supports Docker. (I haven't tested this on Windows - it might work)
- Latest Docker Engine for your OS.
- Latest Docker Compose for your OS.
NOTE: This is only for a fresh install on Ubuntu x64
If you are running Ubuntu x64 you can use the install.sh script to install Docker, setup some basic folder structures and start all of the services.
- Make the file executable.
chmod +x install.sh
- Edit the .env file. You can also use the generate_config.sh script file to automate this process. Keep in mind that using the script will overwrite any previous changes you might have made to the .env file manually. Before using the script make sure to make it an executable.
chmod +x generate_config.sh
- Optional Use the generate_oauth2_config.sh script to generete the OAuth2-Proxy configuration file. Use the script ONLY if the authentication provider will be Azure Active Directory, otherwise edit the file manually. Running the script will overwrite any previous changes you might have made to the oauth2-proxy.cfg file manually. If you do not need 2FA Authentication, you can comment out the OAuth2-Proxy and Redis services from the docker-compose.yml file. Keep in mind, you will need to manually add the code from the npm_snip_oauth2.conf file to every service that will be protected with 2FA. You can do this in the Advanced tab of a Proxy Host in the Nginx Proxy Manager. Before running the script make sure to make it an executable.
chmod +x generate_oauth2_config.sh
- Run the install script.
./install.sh
For more instructions go to the Manual.
Everything that you need to edit is inside the .env file. You don't need to edit anything inside the docker-compose.yml file (only if you want all of the services provided, otherwise you will need to comment out the applications you don't want inside the docker-compose file).
For more instructions go to the Manual.
After you are done editing the .env file you can start the stack using the following command.
docker-compose up -d
NOTE: Keep in mind that none of the applications are configured. You will have to go one by one and configure them to your specific needs.
For more instructions go to the Manual.
- Lidarr - Music Manager
- Bazarr - Subtitles Manager
- Deluge - BitTorrent Client
Emby - Media Server- Jellyfin - Media Server
Jackett - Torrent Indexer- Portainer - Docker Manager
- Radarr - Movies Manager
- Sonarr - TV Shows Manager
MeTube - YouTube Video Downloader- YouTube Downloader - Material
- Watchtower - Docker Container Update Service
MusicBrainz Picard - Music TaggerOrganizr - Access Dashboard- Heimdall - Access Dashboard
- Nginx Proxy Manager
- Samba WebUI
- Filemin - File Manager
- Readarr - Books Manager
- Ubooquity - Books & Comics Reader
- Deemix - Deezer Music Downloader
- Syncthing - Sync Manager
- OAuth2-Proxy - Authentication Provider
- Redis - Database and Cache (used by OAuth2-Proxy)
- Prowlarr - Torrent Indexer
You can see a list of all services and the ports they are using here.
Updates have been moved to CHANGELOG.md.
The TO-DO list has been moved to TODO.md.