Technology

Linux as Foundation of Amahi

Simplicity of use does not mean compromise in power and features for Amahi users.

Basing the concept of an Home Digital Assistant (HDA) on GNU/Linux was a no-brainer. After all, Linux has become one of the dominant operating systems in the server space, renowned for its stability, openness, resilience, richness of applications and unbeatable hardware support. If you are going to have something running your network 24x7, you want stability and reliability.

Based on Ubuntu or Fedora, Your Choice

UbuntuFedora We started to base the Amahi software on a longtime friend: RedHat's Fedora™ Linux distribution, however with user demand, we saw the need to also support Ubuntu and our latest release supports both.

Both Fedora and Ubuntu are two of the leading distributions of the world, with reputation for being up to date, for a quick release cycle, a great set of features and wide hardware support.

We really feel like we stand on the shoulders of giants.

We will try to base Amahi on both distros, although we not always support both simultaneously, we may alternate among them in the long term.

Get the Code

Amahi is using a new, somewhat unconventional way to install: it installs on top of an existing Linux distribution that you install on your hardware. So there is no "Amahi Download" per se.

In addition, Amahi is Open Source software. You can get the source code at the Amahi Git repo and the (newer) Amahi GitHub repo.

Architecture

The basic architecture of the Amahi Home Server is simple:

  1. A solid base of GNU/Linux OS
  2. Amahi services to manage your network, providing an API for apps and services running in your HDA
  3. Three types of apps:
    1. Linux Apps
    2. "HDA'ized" Apps, and
    3. Native Amahi Apps

A: Linux Base Services

Anything related to the hardware and basic OS services, is part of the Linux base OS. For instance, if you want to have RAID or use your HDA as a desktop and need some graphics hardware drivers, firewall settings, Bluetooth drivers, networking, adding or deleting users, managing SAMBA users, etc., that is something that you can do with the base Linux services.

B: Amahi Services

Some basic services in your network (DHCP, caching DNS) are managed by Amahi.

C.1. Linux Apps

Our foundation is Linux. If you are a power user and you are comfortable under the hood with Linux, you can install any apps you want, like an IMAP daemon, a MythTV back-end of front-end, web apps, etc. We hope to make installing Linux apps easier over time through porting them into HDA'ized apps.

C.2. HDA'ized Apps

We have a few apps that have been HDA'ized already, like the calendar reader, our integrated wiki, and a bittorrent downloader. These apps are regular Linux web-based apps, however, we have tweaked them to work as seamlessly as possible within the Amahi environment and to install them as Amahi apps from the My Apps panel.

C.3. Native Amahi Apps

This is where the action is! We have designed several apps to showcase what can be done with Amahi native apps. Native Amahi apps can be written as Ruby on Rails apps, PSP, Python, Perl, or anything else.

The demo apps that we currently feature are developed in Ruby on Rails, using AJAX technologies. Each one is designed to highlight one aspect of the Amahi platform.

Stay tuned for more on Amahi Apps as we expand our developer program ... however, if you like to hack RoR, get started today helping us shape the API today. You will be surprised by what we have already!