Git Product home page Git Product logo

ansible-nas's Introduction

Ansible NAS

Build Status Gitter chat license Ko-fi

After getting burned by broken FreeNAS updates one too many times, I figured I could do a much better job myself using just a stock Ubuntu install, some clever Ansible config and a bunch of Docker containers.

What Ansible-NAS Can Set Up

  • An awesome dashboard to your home server (Heimdall)
  • Any number of Samba shares or NFS exports for you to store your stuff
  • A BitTorrent client
  • A Usenet downloader
  • Various media management tools - Sonarr, Sickchill, CouchPotato, Radarr, Bazarr, Lidarr
  • Media streaming via Plex or Emby
  • 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 request web application
  • SEO tracking with Serposcope

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 - eBook Library
  • 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
  • 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 - Self-hosted Github clone
  • Glances - for seeing the state of your system via a web browser
  • 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
  • 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
  • MyMediaForAlexa - Lets you stream your music collection to your alexa device
  • 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
  • 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
  • Radarr - for organising and downloading movies
  • Serposcope - tracker to monitor website ranking
  • Sickchill - for managing TV episodes
  • Sonarr - for downloading and managing TV episodes
  • 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
  • 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
  • ZNC - IRC bouncer to stay connected to favourite IRC networks and channels

What This Could Do

Ansible-NAS can run anything that's in a Docker image, which is why Portainer is included. A NAS configuration is a pretty personal thing based on what you download, what media you view, how many photos you take...so it's difficult to please everyone.

That said, if specific functionality you want isn't included and you think others could benefit, add it and raise a PR!

What This Doesn't Do

Ansible NAS doesn't set up your disk partitions, primarily because getting it wrong can be incredibly destructive. 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.

Upgrading

The way Ansible-NAS configuration is structured has changed! See Upgrading for more information. See the Getting Help section if you get stuck.

Documentation

You can read the docs here. PRs 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

  • Ansible NAS targets the latest Ubuntu LTS release, which is currently Ubuntu Server 18.04.3 LTS.
  • You can run Ansible-NAS on whatever you like, read the docs for more info. I use an HP Microserver.

Getting Help

Getting help is easy! You can:

Contributing

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

Support

If you've enjoyed Ansible-NAS as much as I do working on it, please consider buying me a coffee โ˜•

Thanks

Thanks to the awesome dudes at JetBrains for supplying core contributors with JetBrains Open Source licenses!

ansible-nas's People

Contributors

al-sh-ac-san avatar andrewboie avatar animeai avatar badcrc avatar burrowsa avatar chrisbutler avatar codebrewer avatar craig-jarvis avatar davestephens avatar hari-nagarajan avatar jeroenbrons avatar jesse-troy avatar jgoerz avatar joshmello avatar koenvervloesem avatar l3rady avatar lmprice avatar malpractis avatar martinfiers avatar ripps818 avatar ryanolf avatar sammaes avatar scotws avatar technicalguy avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.