Micro home server

What kind of services do we usually need for home/personal usage? Having just a personal computer is long gone. We use tablets, smart phones, storage systems (NAS), … and with all those gadgets we access numerous on-line services. Mostly we consume but also produce some content – images, videos, writings. Therefore we establish a need to have a central storage space. There are many cloud based storage providers aka on-line and if the speed and customization is not the issue just Google for the best price/performance solution. If you need a decent/LAN speed or/and you don’t have a fast internet connection than you forget about cloud storage. If you need some additional services like: own web hosting, digital video recording, mail handling, torrent downloading, … with various automation than read further.

Research phase

Since I gave up buying a ready product I had to define scope for a DIY project. If you want a low power consumption than there are not many options. X86 based systems are usually more expensive or too power hungry so I look for an ARM based board. When it comes to ARM the most known mini is Raspberry PI which I am using for media centre. Since I already know the power of it I know that it’s not good enough for this job. I quickly find out another promising option – Cubieboard, especially the newest Cubietruck. A 2Gb A20 with 8Gb Nand, gigabit NIC and SATA for 89 USD. Wo0hooo! I just have to wait a week to be released for sale, a month to get it from China.

Month later

It came. Customs + postage and handling came roughly 100 euro. Since I was planning to use a 3.5 inch 3T SATA drive which requires 12 Volts I also needed a proper PSU unit. I found one on Dealextreme and it’s performing good.

The board came with pre-installed Android 4.2 and it was up and running in no time. My goal was to set-up a Debian Wheezy (latest stable) which I truly believe is the best options to run a server. Since there were no good image available I had to start a separate project. Result was fast, clean and stable Cubietruck Debian image. Project expanded and image download reach a few thousand downloads within two months.

On the side I made some tests regarding power consumption of the unit on the AC side. 1.7 Watts in standby, 3.3 – 5-5 Watts running with VGA / Net / HDD offline and up to 11 Watts with full system load and (3.5″) HDD running.

Final configuration

I will not write anything because you can see more from the map. The system can be recreated with the script below.

Cubie server

Acrylic case and some upgrade
armserver2
armserver1

After months of protoboarding I finally made to design and cut an dedicated case. What’s inside now:

  • Orange PI plus with 4 x powered USB hub, gigabit LAN, onboard AP
  • 1000BASE FX/TX fiber optic media converter
  • 4 x fast USB chargers
  • 2.8″ TFT display
  • 2 x 3W amplifier with speakers
  • 3T SATA drive
  • 2 x relay with EU/US socket
  • 72W 12V power supply
  • 2 x small PIR-based motion detectors
  • 1 x inside temperature sensor BMP180
  • 1 x illuminance meter

To do: one more ARM board for backup and firewall with battery – Olimex Lime, DHT11 humidity sensor and mount the case to the wall.

Install script
sohoserver1
http://github.com/igorpecovnik/Debian-micro-home-server

ISPConfig can be installed only on Debian Wheezy / with this script.

Script is made for beginners while configuration part is not. Installation process is interactive and you have to set various things during install – mySQL password, SAMBA user+password+group, choose Apache or NginX, … Setting fixed IP address is recommended before start.

Good luck & have fun!

Server monitor under some stress test
rpimonitor1
References

27 thoughts on “Micro home server

    1. Not recommended but you are welcome to try. Remember to do a full backup first.

  1. Hi igor
    I can’t install ISPConfig with debian wheezy v3.6 / 29.4.2015, Kernel 3.4.107
    I think that there is a problem with the configuration of fail2bam.
    When your script start to install fail2ban i have a error like this, and your script stop

    Starting authentication failure monitor: fail2banERROR Found no accessible config files for ‘filter.d/sasl’ under /etc/fail2ban

    I solved in that way, but I do not know if it’s the right solution

    edit /etc/fail2ban/jail.local

    replace del the old [sasl] with this

    [postfix-sasl]
    enabled = true
    port = smtp
    filter = postfix-sasl
    logpath = /var/log/mail.log
    maxretry = 3

    Then edit the file /etc/fail2ban/filter.d/postfix-sasl.conf and add:
    ignoreregex =

    Olso the calmAV has some trouble and can’t start
    but maybe the cause and the script that stops in the middle

    1. I forgot to say that, I do not have the file sasl.conf in /etc/fail2ban/filter.d/
      and perhaps this is part of the problem

  2. Thank you for the image,
    I am trying to do a multi cubietruck setup, With DRBD and GFS2.
    For that I need the DLM kernel module, but that is missing.
    Do I need to compile the image myself?

    Thanks in advance.

    1. For any rear advanced features yes. Check Cubieforums and Lemaker’s Banana PI for more info – I saw few people had done Cubietruck/Bananapi cluster with my 3.4.x kernel.

  3. Hi again,

    do you use linux cl softether vpn client? I cannot get it to work for the life of me, though now it works from my mobile. If you wouldn’t mind sharing your sofether configurations, especially client side and concerning securenat/dhcp and router setup i would appreciate it.!

    1. Not at the moment. I was playing with it some time ago and I didn’t go much into details.

    2. Hi, i am not sure why would you need a vpn clint on such a “server” machine. To my opinion, you would probably need a vpn server or a vpn bridge. What exactlly are you trying to achive? I have a working vpn bridge connection using softether vpn server on a cubietruck, vpn bridge on a remote win7 machine and i can also connect to the server from android phone.

  4. Great work :-), 1000 thanks for the ready image, a wonderful base.
    I test also younohost and Hostathome with success on it and many people began to move to autonomous server.

  5. Hi,
    after I installed your MicroHomeServer with Samba and ISPConfig on your Debian Jessie 2.9 image (Kernel 3.4.105) for CubieTruck I had a very wrong system date (years in future) and no choice to correct it:

    root@ct01:~# date
    Sat Dec 21 12:56:33 CET 2019

    root@ct01:~# uname -a
    Linux ct01 3.4.105-sunxi #1 SMP PREEMPT Wed Dec 3 08:49:39 CET 2014 armv7l GNU/Linux

    I installed from: /usr/local/src/Debian-micro-home-server/install.sh.
    What is my mistake? Thanks!

    1. This install – at least Ispconfig – will 100% not work on Jessie or any other Linux distribution. It’s been tailored for Debian Wheezy. Yes, it’s not written clearly – that’s my fault – will add a bold note to the read-me. Why is clock wrong? You need to set it / synchronize at least once. Than it should be o.k.

  6. Hello,

    I liked your project a lot. And i want to suggest you an idea. I prefer ruTorrent to Transmission. Especially autodl and rss support makes ruTorrent a bit useful. May be you consider to add ruTorrent option to your home server script.
    Thanks for all.

    Regards.

    1. Thanks! I was doing quick checking over this. RSS support is useful / worth trying the app. Does it have also something like this?

      1. Yes, they seem almost same but ruTorrent is the best. It is weird you havent try it before. You should also check autodl-irssi it is more advanced version of auto snatch. It would be delicious if your script has a option for ruTorrent.

        Regards.

  7. Dear Igor

    Thank you very much for the ressources you publish on your website. It helps me a lot with building my own cubietruck based server.

    Regards
    Pascal

  8. Thanks Igor!
    Installed the home server on my cubox-i based on your Debian SD image.
    Installation was running within few minutes. The system is running 24/7 with root fs on 64gb ssd, only consuming 2 watts :-)
    Greatings from Germany
    Heinz

  9. Good work and lot of tipps for my own homeserver with debian Wheezy.
    My idea is to use a ASRock Q1900-ITX mainboard (fanless and quiet) and with low
    power consumption.
    Greetings from Hamburg !
    Thomas

    1. Thank you and wish you fun building things together. Feedback and ideas are more than welcome. Cheers!

  10. cool thanks, I will try different settings, no web server atm..

  11. Hi Igor,
    Great work, I am just setting up CBTdebian and waiting for a HDD to make it a nice micro-homeserver.
    You seem to have everything nicely oranized, and so I was wondering about some things:
    – Do you stream hq movie (files) via samba to laptop via wifi? does that work well? I am thinking to do either samba or simple (and faster) readonly nfs, with sshfs for secure user writeable access
    – as fileserver, you have the 3TB hdd hooked up; is that via SATA? how about backup across devices? Something like a cron rsync script from laptop to cubie, and from cubie to a usb-connected backup-disc?
    – what do you think the web-traffic max would be for the truck to perform as a webserver at the same time as host server?
    – don’t you have security concerns running it as both webserver and private home file server, exposing all your files in case of webserver-compromise?

    Thanks for any input, and keep up the great development of CBTdebian if possible!
    tnt

    1. Thanks. I have no problems with streaming HD content – for example: 8-12G 1080p MKVs with Samba or up to 1080p H264 IPTV via TVheadend to Laptop / tablet via wireless – TV is wired because I have infrastructure. NFS would be O.K., SSHFS will probably eat a lot of CPU (never tested). Yes, HDD is hooked to single SATA interface. Backup: currently using Bit Torrent sync – aka “user friendly rsync” … working perfect – Android / iOs clients. Security is a broad issue … I am using file server mostly for media/junk files, which are security irrelevant. In case you need a top/higher security, you don’t connect machine to the internet :) I believe Debian + Nginx/Apache + Php webserver is very secure and it’s rarely broken that hard. It’s hard to say what are the limitations for serving WEB. I haven’t done any benchmarking yet.

      1. Well done! Really nice pages + really nice debian image!

        Is this page also running on your Micro home server?

Comments are closed. Use my forum to post your question.