This repository contains a bunch of scripts to help configure, maintain and operate a Synology NAS (DS218+ in my case).
- Provide
.bashrcand.profileconfiguration - Install Entware-ng, a software repository for network attached storages, routers and other embedded devices
- Install fish, a smart and user-friendly command line shell
- Change some permissions
- Allow to use SSH keys
- Change default OpenSSH server configuration
- Deny root and admin login
- Allow TCP forwarding
- Install Homepage (docker, service), a highly customizable homepage with Docker and service API integrations
- Install Portainer (docker, service), a lightweight service delivery platform for containerized applications
- Install SSLH (docker, service), an applicative protocol multiplexer
- Install Wireguard (docker), an extremely simple yet fast and modern VPN
- Install Plex (docker, service, web), brings together all the media that matters to you
- Install Plex Webhook for BetaSeries (docker, service), a Plex webhook to mark series and movies as watched on BetaSeries
- Install Tautulli (docker, service), a Python based monitoring and tracking tool for Plex Media Server
- Install Medusa (docker, service), an automatic video library manager for TV shows
- Install Radarr (docker, service), a movie organizer/manager for usenet and torrent users
- Install Sonarr (docker, service), a smart PVR for newsgroup and bittorrent users
- Install Bazarr (docker, service), a companion application to Sonarr and Radarr that manages and downloads subtitles
- Install Komga (docker, service), a media server for comics/mangas/BDs/magazines/eBooks with API, OPDS, Kobo Sync and KOReader Sync support
build-wireguard aims at building a valid SPK package that provides an up-to-date wireguard module to the nas. Complete instructions: Wireguard SPK for your Synology NAS.
Each docker directory (~/docker and ~/media) has a configure script that allows to configure the related docker-compose.yml file. It must be run once before starting the containers. They can be started using nas script (see below) or docker-upgrade [docker|media]
fix-plex-transcoder grants the required rights on /dev/dri for Plex Hardware-Accelerated Streaming feature to work correctly.
This script must be triggered from DSM Task Scheduler on boot-up using the root account in order to restore the permissions after a reboot.
fix-srt allows to fix .srt subtitle files so they work correctly with Plex. Basically, it ensures that all files end with at least 2 empty lines.
nas installs/upgrades/fixes/starts all features mentioned above. Logs are available in ~/.log/nas.log.
tvshows allows to download automatically new tv shows from a remote server, fix their permissions (using sudo) and send them to Medusa's post-processing. Configuration is located in ~/.tvshows. Logs are available in ~/.log/tvshows.log.
tvshows automatically impersonates the user configured for media services so the script can be run from root as well as from the configured user. It allows to easily schedule tvshows.
By default, all media services (Plex, Plex Webhook for BetaSeries, Tautulli, Medusa, Radarr, Bazarr and Komga) use the following locations:
~/.docker: contains the configuration of each service/volume1/media: contains all media files (i.e.books,comics,movies,music,tvshows)
This media directory is customizable (thanks to the configure script) but it must be created using DSM before configuring docker containers. All required subdirectories will then be created automatically, as well as downloads/movies and downloads/tvshows subdirectories.