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
2023-02-19 16:45:27 +01:00
nginx-blocks Add support for providing other certificate 2022-11-16 18:28:13 +01:00
systemd-templates Add right type to transmission-vpn.service 2023-02-19 16:45:27 +01:00
install.sh Add timer for transmission-daemon at boot 2023-02-12 18:04:11 +01:00
README.md Update README 2022-09-18 11:57:20 +02:00
transmission-vpn.sh Change behaviour of transmission at start (so that cannot start without VPN) 2023-02-12 17:37:38 +01:00
variables.conf.template Add support for providing other certificate 2022-11-16 18:28:13 +01: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