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-16 20:25:23 +02:00
nginx-blocks Big review 2022-09-16 15:00:38 +02:00
systemd-templates Add root directory to File Browser service unit 2022-09-16 18:31:45 +02:00
install.sh Fix typo in install script 2022-09-16 20:25:23 +02:00
README.md Update README 2022-09-16 18:23:51 +02:00
transmission-vpn.sh Big review 2022-09-16 15:00:38 +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;
  • an 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 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 a 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 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