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.
nas-server/README.md

40 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

# NAS Server
2022-09-16 13:57:20 +02:00
This repository contains files used to set up our NAS server on Debian. Target is Bullseye.
### Introduction
2022-09-16 13:57:20 +02:00
The idea is to provide the following features, chosen at install:
2022-09-16 15:00:38 +02:00
* a web interface for file management with [File Browser](https://github.com/filebrowser/filebrowser);
* a DLNA server with MiniDLNA;
* a BitTorrent client with Transmission, which comes with a server web interface;
2022-09-18 11:57:20 +02:00
* a VPN client with OpenVPN;
2022-09-16 15:00:38 +02:00
* 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):
2022-09-18 11:57:20 +02:00
```transmission-daemon minidlna openvpn nginx vsftpd```
2022-09-16 15:00:38 +02:00
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.
2022-09-18 11:57:20 +02:00
If using Transmission, you need to set an OpenVPN connection config as `vpn`.
2022-09-16 18:23:51 +02:00
### File Browser init
If using File Browser, it should be initiated first:
```
sudo -u <nas-user> filebrowser -d <nas>/filebrowser.db --username <admin>
```
2022-09-16 13:57:20 +02:00
### Files
2022-06-06 16:01:00 +02:00
* `transmission-vpn.sh` is a script which checks if a VPN connection is active and stops Transmission otherwise.
2022-09-18 11:57:20 +02:00
* `variables.conf.template` contains examples of variables definitions, and should be copied locally to `variables.conf`
2022-06-06 16:01:00 +02:00
(with any required modifications).
2022-09-16 15:00:38 +02:00
* `systemd-templates/` contains Systemd units templates for all the services.
* `nginx-blocks/` contains Nginx configuration blocks.
2022-09-16 13:57:20 +02:00
##### Installation
2022-06-06 16:01:00 +02:00
* `install.sh` script copies Systemd units to their destination, with correct values.
2022-03-12 15:48:07 +01:00
### TODO
2022-09-16 13:57:20 +02:00
* RAS