This repository has been archived on 2023-08-13. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2022-09-22 18:55:15 +02:00
nginx-blocks Fix port error in Nginx Transmission block 2022-09-16 20:29:33 +02:00
systemd-templates Add root directory to File Browser service unit 2022-09-16 18:31:45 +02:00
install.sh Set scripts to new run_directory norm 2022-09-22 18:55:15 +02:00
README.md Update README 2022-09-18 11:57:20 +02:00
transmission-vpn.sh Set scripts to new run_directory norm 2022-09-22 18:55:15 +02:00
variables.conf.template Big review 2022-09-16 15:00:38 +02:00

NAS Server

This repository contains files used to set up our NAS server on Debian. Target is Bullseye.

Introduction

The idea is to provide the following features, chosen at install:

  • a web interface for file management with File Browser;
  • a DLNA server with MiniDLNA;
  • a BitTorrent client with Transmission, which comes with a server web interface;
  • a VPN client with OpenVPN;
  • a FTP server with vsftpd. In addition, Nginx is used to provide HTTPS proxy to File Browser and Transmission

Requirements

The following list of packages must be installed manually (depending on which features are needed): transmission-daemon minidlna openvpn nginx vsftpd File Browser must be installed manually at /usr/local/bin/filebrowser.

A "NAS user" should be defined, owner of the NAS root directory: This user shall run some of above services.

If using Transmission, you need to set an OpenVPN connection config as vpn.

File Browser init

If using File Browser, it should be initiated first:

sudo -u <nas-user> filebrowser -d <nas>/filebrowser.db --username <admin>

Files

  • transmission-vpn.sh is a script which checks if a VPN connection is active and stops Transmission otherwise.
  • variables.conf.template contains examples of variables definitions, and should be copied locally to variables.conf (with any required modifications).
  • systemd-templates/ contains Systemd units templates for all the services.
  • nginx-blocks/ contains Nginx configuration blocks.
Installation
  • install.sh script copies Systemd units to their destination, with correct values.

TODO

  • RAS