Skip to content

A simple docker-compose based configuration to run on Deluge, Sonarr, Radarr and more on a Synology NAS

License

Notifications You must be signed in to change notification settings

thinkonezero/nas-docker-standup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NAS Docker Standup


This is a simple docker-compose configuration to standup a Synology NAS.

Services

This project was heavily inspired by the MediaBox project... Many Thanks!

Known Issues

  • Sometimes the Deluge + VPN Container disconnects and can't re-establish a forwarded port connection.

Install Instructions

Prerequisites

Server Configuration

  1. Setup Synology NAS and install DSM
  2. Install Docker via Add-on Packages
  3. Install Plex natively from Plex.tv
  4. Add the SynoCommunity package source via easy install
  5. Install Git package from SynoCommunity
  6. Enable SSH Access
  7. Upgrade Docker using synology-docker Known Issue: markdumay/synology-docker#22
  8. Create Docker Group and Add User
- create the group "docker" from the ui or cli (sudo synogroup --add docker)
- make it the group of the docker.sock: sudo chown root:docker /var/run/docker.sock
- assign the user to the docker group in the ui or cli (sudo synogroup --member docker {username})
- login into ssh as {username} and try (if you were already logged in before you created the group, logout and relogin)
  1. Make sure DSM isn't using 80/443 with guide
  2. Enable Tunnel stuff for VPN: https://forums.unraid.net/topic/44109-support-binhex-delugevpn/page/58/?tab=comments#comment-542434
sudo insmod /lib/modules/tun.ko
sudo insmod /lib/modules/iptable_mangle.ko

Make a scheduled task of those commands

  1. Clone Repo git clone https://gitlab.com/think-one-zero/nas-docker-standup.git
  2. Copy Sample Environement File cp sample.env .env
  3. Edit .env to match your environment
  4. Run Docker Environment docker-compose up -d
  5. ???
  6. Profit.

Environment File

  • LOCALUSER= - This is the local user of your linux account and account running docker
  • HOSTNAME= - Hostame of the server, can be found by executing hostname from command line
  • IP_ADDRESS= - Local IP Address of the server, should be static
  • PUID= - UID of the local user, can be found by executing id from the command line
  • PGID= - GID of the local user, can be found by executing id from the command line
  • LOG_FILE_NUM= - The number of log files to keep of the specified size before pruning them
  • LOG_FILE_SIZE= - The size of the log files before truncating and rotating the log files
  • VPNUNAME= - Your VPN username from PIA or TorGuard
  • VPNPASS= - Your VPN password from PIA or TorGuard
  • VPNPROVIDER= - Your VPN provider, name must match a folder specified in ovpn. This defaults to pia if you copied sample.env.
  • VPN_REMOTE= - The remote server you want to connect to (must support port forwarding)
  • CIDR_ADDRESS= - IP/netmask entries which allow access to the server without requiring authorization. We recommend you set this only if you do not sign in your server. For example 192.168.1.0/24,172.16.0.0/16 will allow access to the entire 192.168.1.x range and the 172.16.x.x
  • TZ= - Set the timezone inside the container. For example: Europe/London. The complete list can be found here: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
  • CALIBRE_AUTH= - Password for the Calibre Web Interface (default username abc) htpasswd Generator
  • MEDIA_BASE_PATH= - This is the base path of your media directory used to make similar paths easier - /volume1/media
  • SNYOLOGY_BASE_DOCKER_PATH= - The base path to the docker directory where container data is stored - /volume1/docker
  • SNYOLOGY_PLEX_PATH= - The path to the installation directory for Plex Media Server - /volume1/PlexMediaServer
  • TORRENTS_PATH= - The base path for the torrents download/in-progress directories - /volume1/torrents

Email/SMTP Service


Tips and Tricks

Potential Script to setup, renew and copy SSL for Plex


If this project has helped you in anyway, and you'd like to say thanks...

Donate

You can also gift a Plex Pass subscription as a great way to show your appreciation.

AFFILIATE DISCLOSURE: You can also support this project by purchasing a VPN Subscription via one of the links in this README.


Disclaimer

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.