Skip to content

Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook.

License

Notifications You must be signed in to change notification settings

PurpleNinja225/NASible

 
 

Repository files navigation

CI

A fork/parallel of Dave Stephan's ansible-nas, where we hope to build a standardized and flexible NAS with a wider variety of configuration available.

What NASible Can Set Up

  • An application dashboard to your home server and apps with Heimdall!
  • Configurable samba and NFS shares to store, share, and organize your content
  • Multiple BitTorrent clients
  • A Usenet downloader
  • Various media management tools - Sonarr, Sickchill, CouchPotato, Radarr, Bazarr, Lidarr
  • Media streaming via Plex, Emby, and Jellyfin!
  • Music streaming with Airsonic
  • An RSS newsfeed reader - Miniflux
  • A Dropbox replacement via Nextcloud
  • Various ways to see stats about your NAS - Glances, dashboards in Grafana
  • A backup tool - allows scheduled backups to Amazon S3, OneDrive, Dropbox etc
  • An IRC bouncer and web-based client
  • Source control with Gitea
  • SSL secured external access to applications via Traefik
  • A Docker host with Portainer for image and container management
  • An automatic dynamic DNS updater if you use Cloudflare to host your domain DNS
  • A Personal finance manager
  • eBook management with Calibre-web
  • Content management with Joomla
  • A dual panel local file manager
  • Self-service media requests with ombi
  • A PXE server to boot OS images over the network

Available Applications

  • Airsonic - catalog and stream music
  • Bazarr - companion to Radarr and Sonarr for downloading subtitles
  • Bitwarden_rs - Self-Hosting port of password manager
  • Calibre-web - Provides a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
  • Cloud Commander - A dual panel file manager with integrated web console and text editor
  • Cloudflare DDNS - automatically update Cloudflare with your IP address
  • CouchPotato - for downloading and managing movies
  • Deluge - A lightweight, Free Software, cross-platform BitTorrent client.
  • DokuWiki - A simple to use and highly versatile Open Source wiki software that doesn't require a database.
  • Duplicati - for backing up your stuff
  • Emby - Media streaming and management
  • Firefly III - Free and open source personal finance manager
  • get_iplayer - download programmes from BBC iplayer
  • Gitea - Simple self-hosted GitHub clone
  • GitLab - Self-hosted GitHub clone of the highest order
  • Glances - for seeing the state of your system via a web browser
  • Gotify Self-hosted server for sending push notifications
  • Grafana - Dashboarding tool
  • Guacamole - Web based remote desktop gateway, supports VNC, RDP and SSH
  • Heimdall - Home server dashboard
  • Home Assistant - Open source home automation
  • InfluxDB - Time series database used for stats collection
  • Jackett - API Support for your favorite torrent trackers
  • Jellyfin - The Free Software Media System
  • Joomla - Open source content management system
  • Krusader - Twin panel file management for your desktop
  • Lidarr - Music collection manager for Usenet and BitTorrent users
  • MiniDLNA - simple media server which is fully compliant with DLNA/UPnP-AV clients
  • Miniflux - An RSS news reader
  • Mosquitto - An open source MQTT broker
  • Mylar - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
  • MyMediaForAlexa - Lets you stream your music collection to your alexa device
  • n8n - Nodemation, a node based workflow and automation service like IFTTT.
  • netboot.xyz - a PXE boot server
  • Netdata - An extremely comprehensive system monitoring solution
  • Nextcloud - A self-hosted Dropbox alternative
  • NZBget - The most efficient usenet downloader
  • Ombi - web application that automatically gives your users the ability to request content
  • Organizr - ORGANIZR aims to be your one stop shop for your Servers Frontend.
  • openHAB - A vendor and technology agnostic open source automation software for your home
  • Plex - Plex Media Server
  • Portainer - for managing Docker and running custom images
  • pyLoad - A download manager with a friendly web-interface
  • PyTivo - An HMO and GoBack server for TiVos.
  • Radarr - for organising and downloading movies
  • Sickchill - for managing TV episodes
  • Sonarr - for downloading and managing TV episodes
  • Syncthing - sync directories with another device
  • Tautulli - Monitor Your Plex Media Server
  • Telegraf - Metrics collection agent
  • The Lounge - Web based always-on IRC client
  • TimeMachine - Samba-based mac backup server
  • Traefik - Web proxy and SSL certificate manager
  • Transmission - BitTorrent client (with OpenVPN if you have a supported VPN provider)
  • Ubooquity - Book and comic server
  • uTorrent - The best torrent downloading app for beginners
  • Virtual Desktop - A virtual desktop running on your NAS.
  • Wallabag - Save and classify articles. Read them later.
  • Watchtower - Monitor your Docker containers and update them if a new version is available
  • YouTubeDL-Material - Self-hosted YouTube downloader built on Material Design
  • ZNC - IRC bouncer to stay connected to favourite IRC networks and channels

What This Could Do

NASible can run anything that's in a Docker image, which is why Portainer is included as the default manager. A home NAS is a usually a pretty personal thing and unique to each individual so NASible aims to be a modular framework to help get you started with wide array of supported applications built in! We are always looking to expand the range of applications supported, so if you run some pretty usefull containers make a PR, or even mention it as an application request other's will appriciate it.

What This Doesn't Do

NASible doesn't set up your disk partitions, primarily because getting it wrong can be incredibly destructive or cause potential data loss. That aside, configuring partitions is usually a one-time (or very infrequent) event, so there's not much to be gained by automating it. Check out the docs for recommended setups.

Installation

See Installation.

Documentation

You can read the docs here. PRs and requests for more documentation always welcome!

Migrating from FreeNAS

Assuming that your Ubuntu system disk is separate from your storage (it should be!):

  1. Ensure you have a working backup of your data.
  2. Check that the working backup you think you have actually works.
  3. SSH to the server and run zpool list to determine available ZFS pools.
  4. zpool import <pool_name> against each of the pools you want to attach.
  5. chown -R root:root /mnt/<pool_name> to fix the ownership of the data.
  6. Follow the Quick Start instructions above.

Requirements

  • NASible targets and (tests on) the latest Ubuntu LTS release, which is currently Ubuntu Server 20.04 LTS.
  • You can run NASible on (almost) whatever you like, read the docs for more info. I run a small custom NAS box with a Xeon X5650 and 48G of memory. Be sure to know the resources that adding a docker container may require and have a system with sufficiant resources to do so.

Getting Help

Getting help is easy! You can:

Contributing

Contributions are always welcome! Please read CONTRIBUTING.md first.

About

Build a full-featured home server or NAS replacement with an Ubuntu box and this playbook.

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Languages

  • Shell 98.1%
  • Jinja 1.9%