Skip to content

owldance/hootNAS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hootNAS

Download latest ISO image releases or read about the current status of the project.

A NAS appliance based on ubuntu LTS and ZFS

hootNAS comes with a web based management application and API based on a ubuntu LTS, it is packaged in two versions, one with hardware drivers for running on bare metal, and one for running in a virtual machine.

The ambition of hootNAS is to be a robust, utilitarian, user, and developer friendly NAS that can be used out-of-the-box, or customized to make it your very own, it should be much more than just OS "open source", let's call it "applicable open source" or AOS.

Although the intended use cases are individuals, academic organizations and small to medium businesses, with high data volumes, home users might also find it useful as they can add any functionality they need.

hootNAS accomplishes this by using ubiquitous technology, tools and frameworks etc. to curb context switching and trivial tasks, thus enabling the developer to focus more on solving actual problems and prevent developer fatigue. Additionally there is an emphasis on providing quality in documentation, in particular adding context, reasoning and references.

Features

  • Super fast, runs in-memory
  • No installation required
  • Simple setup and easy to upgrade
  • Boot from any media, even a slow USB-stick
  • Boot from network drive or PXE boot
  • No dedicated boot disk required
  • True data and system OS separation
  • Local authentication, or remote LDAP or Active Directory servers
  • SMB, NFS and iSCSI network folders and blockdevices
  • Industrial grade ZFS storage
  • Management dashboard web application
  • Self-service user dashboard web application
  • API for custom or automated management

The in-memory operation is partially inspired by SmartOS

DEV STACK

Dev stack

The devlopment stack consists of node.js and bash for backend interfacing, Express.js for serving the API and web application, the latter built using Vite.js and Vue.js with Bootstrap components, and JSDoc for JS documentation.

TECH STACK

Tech stack

The technology stack consists of ubuntu LTS version as the base OS, OpenZFS for storage, SAMBA, Linux-NFS and Open-iSCSI for serving storage, LDAP and Active Directory clients for authentication, and SQLite for state management.

Where to go from here

Contributing

It is the hope that this project one day will become a community effort, eventually striking a reasonable balance between "complete" and "nothingness forever". Therefore all contributions are welcome, including issue reports and feature requests.

In the meantime all contributors are required to sign the hootNAS Contributor License Agreement prior to contributing code to an open source repository. This process is handled automatically by cla-assistant. Simply open a pull request and a bot will automatically check to see if you have signed the latest agreement. If not, you will be prompted to do so as part of the pull request process.

This project operates under the hootNAS Code of Conduct. By participating in this project you agree to abide by its terms.

The name hootNAS is a temporary placeholder, and is subject to change to something more techy once the project is more mature.

Statement of Support

This software is provided as-is, without warranty of any kind or commercial support through hootNAS. See the associated license for additional details. Questions, issues, feature requests, and contributions should be directed to the community as outlined in the hootNAS Community Guidelines.

License

This is code is licensed under the Apache License 2.0. Full license is available here.

Placeholder

Placeholder for future content