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.”

My Cameras

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.

Offsite Sync

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 crontab -e

Crontab file:



Software Raid

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.

File Share

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>

Speedtest alerts

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