Today I will talk about my server setup by request. I setup my server originally for Security cameras because I was tired of proprietary software that every different camera has. My setup right now includes 4 entirely different types of cameras. None of them officially support ONVIF. Every one of my cameras was free so quality was not something I cared for. Today, my server now has my Windows File share (Samba), offsite Sync, Software Raid, Crontab Network Speed monitoring and zoneminder.
Security Camera Software
ZoneMinder - “A full-featured, open source, state-of-the-art video surveillance software system. Monitor your home, office, or wherever you want. Using off the shelf hardware with any camera, you can design a system as large or as small as you need.”
Onsite Fireproof Sync
To avoid paying for cloud services I purchased a fireproof hard drive. I set it up to sync with my raid group and its all set. You can view that article here.
I use offsite sync for the security cameras using rsync and a remote ftp server. Unfortunately it would be too expensive to backup my entire media server to the cloud so I only use it for remote storing the camera footage in the event of a theft.
To start this you will need an ftp server credentials to use with the following script. After doing so you can just add it to
I don’t want to spend too much on this setup so software raid we go. I use Raid 5 for its redundancy but increase capacity. I will talk about what I did to get this quickly setup. Depending on your drive count and size this can take anywhere from 2 hours to 24 hours. You can read more about the setup I used.
Setting up a file share is fairly simple, First download and install samba
apt-get install samba
Then edit the main configuration file:
Then create the groups “nas” and “family” in linux and add your users to it. There is a guide on that.
Finally reboot or restart samba
systemctl restart samba
The first time you add a linux user (
adduser) you need to add them to smbpasswd as well.
sudo smbpasswd -a <user>
This one was very simple, I made a simple script in php to send me alerts when my house was not getting the speeds I pay for. You will need to have php-cli, speedtest-cli installed and smtp credentials for email. You can download the scripts
After downloading them, add a line to your schedule tasks in linux using crontab -e