....a simple, yet powerful User-Interface/Dashboard to control a up to 4 Disk, self hosted NAS System.
- 🧭 Contents
- 🖥️ Setup
- 📤 Website Auto Updater
- 🔒 Login
- 📊 Dashboard
- 🔁 DNG Converter
- ✅ Requirements
- 🥅 Planned Features
- 👥 Contributors
- It is important to start the software as root so all the PC's commands can be executed without prompting for a password
- there will be a packaged version of the repository so setup will be easier
- start off by installing all the requirements listed in ✅ Requirements
To start the program afterwards, use...
cd your/project/folder
python3 main.py
...thats it, you should be up and running
The website auto Updater is used to pull a specific repository from a self-hosted Gitea when pushing into a branch
- create a branch that will be listened to as the "production" branch
- In a repository create a webhook routing to your webserver on the address
localhost:5000/api/v1/newCommit
- push to the "production" branch and your local repository will be automatically updated
To access the Dashboard you need to create an account in a MariaDB Database, the scheme of the database is currently the following
table name: users
id | username | password | admin |
---|---|---|---|
varchar(100) | varchar(100) | varchar(100) | tinyint |
Column Details
- id (uuid4 string)
- username (str)
- password (sha256 hash)
- admin (tinyint)
The dashboard is used to control a variety of different functions from the server:
In the Dashboard you can use the buttons labeled unmount drive
to disconnect the drive from the PC and therefore being able to change the drive to a new one
In the Dashboard you can see the current memory usage and remaining capacity of the connected drives
In the Dashboard you can inspect the CPU Usage of your System
In this section there will be some controls for your server, like restarting, putting it to hibernation and shutting down the server
This feature will automatically check if there are new files in a certain folders with .cr3
images and convert them to .dng
- The converter check for new files in a certain folder you can copy the images there or use ftp to upload them to the folder
- It is necessary that the images are pasted without any parent folder, the Converter will automatically sort them by date with the scheme
YYYY_MM_DD
- the capture date of the images are read from the EXIF data of the image, so make sure the date of your camera is set correctly
- the converter will, by now, only convert
.cr3
images to.dng
- it is mandatory for the feature to work to install dnglab
- add the install path of the dnglab package to the
config.json
- add the install path of the dnglab package to the
In the Package all the requirements will be included in a file called requirements.txt
Required Packages
Package |
---|
✅ Flask |
✅ dnglab |
✅ PIL |
✅ MariaDB |
✅ requests |
✅ os |
✅ shutil |
✅ psutil |
✅ re |
✅ hashlib |
✅ asyncio |
It is also necessary to install following packages manually with:
sudo apt-get install libmariadb3 libmariadb-dev
sudo apt-get install gcc python3-dev
- ✅ Login form
- ☑️ implement check if user has admin permissions in the Dabase and show different content then to users that are "just" users
- ☑️ List of services running on the machine & selection of shown services in a menu
- ☑️ admin panel to add and remove users
- ☑️ round status dials for CPU & Drive Usage
- ☑️ complete makeover of UI