What is arkOS?

UPDATE: For more up-to-date information on arkOS, visit the project’s website at https://arkos.io

Put simply, arkOS will be a platform for self-hosting your online content from the safety and comfort of your own home, on your Raspberry Pi. It aims to break the two biggest obstacles to decentralizing the web: technical know-how and financial burden. Server software that runs on Linux is very powerful, but can easily break if you don’t know what you are doing, and relies on complicated terminal commands that render them inaccessible to the general public. Furthermore, full-size servers are very expensive and require a great deal of time and maintenance. arkOS will change this. Its focus on streamlined installation and cohesive maintenance means that end users will finally be able to host the services they want to use. These services can include simple website hosting, personal cloud services, social networking software, chat servers or more advanced web technologies. The Raspberry Pi is impossibly cheap and easy to get, giving a huge advantage to those that don’t have the means or the will to run their own full-sized server (which probably is most people).

The entire project includes three main components: arkOS, the Installer and the Node Manager.

arkOS

arkOS is a custom Linux distribution for the Raspberry Pi, based off of the Arch Linux ARM distribution. In layman’s terms, it is just like any other Linux distribution or operating system that you might have on your home computer (like Windows or Mac OS X), that allows you to run server software. arkOS focuses on barebones server performance on the Raspberry Pi. It aims to be as lightweight as possible, keeping the Pi’s precious resources for running server software like it should be. It uses the Pacman package installation system and systemd management daemon. arkOS hosts its own package repository on this site, so that any updates or extra software can be easily found and downloaded from a reliable source. Its repository will include the best server software for use on the Pi, ones that prioritize lightweight performance for the most efficient operation possible. Its update cycle prioritizes stability and security over constant updates, which allows us to develop the other arkOS projects more easily in tandem with the OS. Other than this, arkOS aims to be a no-frills distribution, as most other features will be set up or managed via the arkOS Installer or the accompanying Node Manager. Ideally, end users will not need to interface with their arkOS node’s command line.

At beta launch, arkOS is targeting support for:

  • Web Hosting (nginx, PHP, MySQL, WordPress/Drupal)
  • Email (Postfix, Dovecot)
  • Chat (XMPP)
  • Cloud Services (ownCloud)
  • Social Networking (Tent, Diaspora (?))

arkOS Installer

One of the priorities of arkOS is keeping things easy to setup. Because of this, the installation experience is very important. Simply insert the SD card you wish to use with your Pi into your home computer or laptop, then run the arkOS Installer. This installer will be available on Windows, Mac OS X or Linux. It will download the latest image of the arkOS operating system from our mirrors, and will create the operating environment directly on your SD card. Once complete, you can insert the SD card into your Raspberry Pi, plug it into your home router, and power it on. The rest of the experience is handled by logging into the Node Manager from your computer.

Subsequent versions of the arkOS Installer will allow you to install server packages after the main operating system is installed. This will make installing new software to run on your arkOS node as easy as it can possibly be. Through the installer, you will be able to choose what server packages you want, customize them to your heart’s content using a streamlined set of options, or even set advanced options if you choose to do so. The goal is to take customization away from the command line and bring it directly to the user, while still keeping the flexibility of Linux-based open source server software. Developers will be able to create installation scripts that can be merged to the Installer for the software they produce.

arkOS Node Manager

Of course, if you change your mind later, you will be able to install, uninstall or activate/deactivate any other server packages through the arkOS Node Manager web interface. The Node Manager is the crowning feature of arkOS, your gateway to your decentralized web: a one-stop shop where you can modify your node, add new shares, set up new web sites or networking profiles, and customize any running servers on your node. The Raspberry Pi’s limited hardware set is actually one of its greatest assets: not having to plan around such a huge variety of potential hardware/software drivers and configurations means that the focus can be made on a truly easy-to-use operating environment. This is what makes the Node Manager’s one-stop approach possible. Similar things have been done before, with FreedomBox’s Plinth, FreeNAS’s web interface, or Webmin. The arkOS Node Manager will bring the best elements from each of these conceptions together to create a truly unique and easy experience for managing your content on the Raspberry Pi. It will be locally-run on the Pi, accessible from throughout your home network.

As with the arkOS Installer, developers will be able to create installation scripts that can be merged into the Node Manager. This allows anyone that produces a new server software or technology to easily have their project installed and maintained with an arkOS node.

We need you!

As much I would love to work on arkOS full-time, I like many others have school and work requirements that will also be keeping me busy. I will need helpers to assist me with producing, debugging and testing the software to be put on arkOS. Web developers will be in highest demand to help produce and test the Node Manager. Linux system admins will be appreciated to help test the installer and the operating system itself. And, of course, regular Pi owners will be very much in need to help test production releases!

If you are committed to decentralizing the web and would like to provide technical assistance, no offer will be refused. Contact me via the contact page above and I will get in touch with you.

Conclusion

A development image for arkOS will be ready for download within the next couple weeks. Once this is ready, users can download it, bug-test it, and begin to use its custom software repository for manually installing server software. The arkOS Installer will come shortly after, with simple OS installation to the SD card as its launch feature. After this, the Node Manager will release with basic features, allowing the entire project to reach its version 1.0.

Full updates will be given periodically on CitizenWeb, so stay tuned to hear more about our progress!