Install Ubuntu on FreeBSD with byhve

For some reasons I needed a Linux installation on my NAS. byhve is a lightweight virtualization solution for FreeBSD that makes that easy and efficient. However, the CLI of bhyve is somewhat bulky and bare making it hard to use, especially for the first time. This is what vm-bhyve solves - it provides a simple CLI for working with virtual machines. The only requirement seems to be VT-x CPU support or whatever it may be called on AMD CPUs and ZFS as a file system.

NPM deadlock bug fixed in FreeBSD 11

Setting up a NodeJS application on a FreeBSD 10 system was impossible when using ZFS as a file system. This was a real pain for me because when I tried out various stuff in jails rendered the whole system unusable, forcing me to reboot and this is not something one would do in a production environment. Here’s the bug report: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209158 Although I couldn’t read it from the bug it seems to be resolved now with FreeBSD 11-RELEASE because I’m running two Node applications on FreeBSD without any of the issues that were reproducible each time.

Build your own dynamic DNS in 5 minutes

If you encounter any problems, please check the up-to-date documentation at https://github.com/dprandzioch/docker-ddns . In some projects I need access to various hosts with a dynamic IP from time to time. Dyndns services offer a great solution by providing a DNS with records that are updated by the clients once their IP addresses change. There are various existing services out there that are either free or paid, but if you want to self-host a dyndns service, you have to set up a DNS by your own as well as some endpoint that your clients can connect to in order to update their records.

iCloud Photo Sync stuck - how to force resume

Sometimes it seems that Apples iCloud sync seems to do not exactly the right thing. During initial upload of my photos I multiple times had the issue, that it was not possible at all to upload the photos. When looking at the sync pane of the Photos app, it was something like “18 hours remaining…” but nothing happened, even after two days. The system process responsible for managing the photo upload is called cloudphotosd.

Thoughts on API design in a world of carelessness

The company I’m working at provides eCommerce solutions for many years now. A few years ago we decided to give up on our own product and started to become an agency that would work with a existing eCommerce application from now on. In our own software, we provided a SOAP API which hadn’t changed for years that had some client-side implementations in various ERP systems and when we switched over, we decided to provide a compatibility plugin for the new software that would expose the SOAP facade we built years ago and translate all requests to the REST API (which we called internally without going over HTTP again).

FreeBSD: iTunes media server using forked-daapd

forked-daapd allows you to set up an iTunes Media server that hosts all music, podcasts and audiobooks and shows up in iTunes like a shared library. While other daapd implementations don’t work anymore with the current iTunes versions, forked-daapd does.

FreeBSD: Time Machine backup server with netatalk

While building my new NAS, I came across the question how to provide a Time Machine backup solution for my OS X clients. As I run OS X on all my machines I want to back up all data to my NAS. netatalk allows to create file shares for OS X to provide a simple solution for system backups.

Samba fileserver on FreeBSD

While building my new NAS, I came across the question how to install a fileserver based on Samba on FreeBSD. Here’s how…

Building a FreeBSD NAS Part 3: System setup

FreeBSD is the ideal system to use when building a server. It’s reliable and rock-solid and it’s file system ZFS not only offers anything you would expect from a file system but is also easy to set up and to maintain. This is why I chose it to power my NAS. In Part 1 and Part 2 of this series I already described my intentions and the hardware assembly. Now it’s time to bring it to life.