2017-08-28 15:37:57 +00:00
# Ansible NAS
2018-12-26 11:52:46 +00:00
2021-02-11 10:18:00 +00:00
[![CI ](https://github.com/davestephens/ansible-nas/workflows/CI/badge.svg )](https://github.com/davestephens/ansible-nas/actions?query=workflow%3ACI) [![Gitter chat ](https://img.shields.io/gitter/room/ansible-nas/chat.svg?logo=gitter&style=flat-square )](https://gitter.im/Ansible-NAS/Chat) [![license ](https://img.shields.io/github/license/DAVFoundation/api_doc.svg?style=flat-square )](https://github.com/davestephens/ansible-nas/blob/master/LICENSE) [![Ko-fi ](https://img.shields.io/static/v1.svg?label=ko-fi&message=Buy%20Me%20A%20Coffee&color=orange&style=flat-square&logo=buy-me-a-coffee )](https://ko-fi.com/davestephens)
2018-12-01 13:14:51 +00:00
2019-04-02 11:29:48 +00:00
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.
2017-08-28 15:31:54 +00:00
2019-05-26 09:07:57 +00:00
## What Ansible-NAS Can Set Up
2017-08-28 15:31:54 +00:00
2018-11-28 23:28:44 +00:00
* An awesome dashboard to your home server (Heimdall)
2019-04-20 11:56:53 +00:00
* Any number of Samba shares or NFS exports for you to store your stuff
2018-09-21 22:42:33 +00:00
* A BitTorrent client
2019-06-02 20:15:34 +00:00
* A Usenet downloader
2019-10-16 17:58:37 +00:00
* Various media management tools - Sonarr, Sickchill, CouchPotato, Radarr, Bazarr, Lidarr
2018-11-11 22:45:09 +00:00
* Media streaming via Plex or Emby
2019-01-03 15:13:34 +00:00
* Music streaming with Airsonic
2018-12-31 00:24:18 +00:00
* An RSS newsfeed reader - Miniflux
2018-11-28 23:28:44 +00:00
* A Dropbox replacement via Nextcloud
2018-09-21 22:42:33 +00:00
* Various ways to see stats about your NAS - Glances, dashboards in Grafana
* A backup tool - allows scheduled backups to Amazon S3, OneDrive, Dropbox etc
2019-04-12 22:31:27 +00:00
* An IRC bouncer and web-based client
2018-11-28 23:28:44 +00:00
* Source control with Gitea
2019-04-20 11:56:53 +00:00
* SSL secured external access to applications via Traefik
2018-11-28 23:28:44 +00:00
* A Docker host with Portainer for image and container management
2019-01-15 23:24:18 +00:00
* An automatic dynamic DNS updater if you use Cloudflare to host your domain DNS
2019-05-26 09:07:57 +00:00
* A Personal finance manager
2020-04-26 01:30:30 +00:00
* eBook management with Calibre-web
2019-10-19 22:53:50 +00:00
* Content management with Joomla
2019-10-05 10:53:49 +00:00
* A dual panel local file manager
2019-11-21 03:28:11 +00:00
* Self-service media request web application
2018-04-08 22:29:25 +00:00
2020-01-06 00:11:53 +00:00
### Available Applications
2018-04-08 22:29:25 +00:00
2019-01-03 15:13:34 +00:00
* [Airsonic ](https://airsonic.github.io/ ) - catalog and stream music
2019-09-25 19:07:13 +00:00
* [Bazarr ](https://github.com/morpheus65535/bazarr ) - companion to Radarr and Sonarr for downloading subtitles
2019-04-10 13:08:06 +00:00
* [Bitwarden_rs ](https://github.com/dani-garcia/bitwarden_rs ) - Self-Hosting port of password manager
2020-04-26 01:26:20 +00:00
* [Calibre-web ](https://github.com/janeczku/calibre-web ) - Provides a clean interface for browsing, reading and downloading eBooks using an existing Calibre database.
2019-10-05 10:53:49 +00:00
* [Cloud Commander ](https://cloudcmd.io/ ) - A dual panel file manager with integrated web console and text editor
2019-05-26 09:07:57 +00:00
* [Cloudflare DDNS ](https://hub.docker.com/r/joshuaavalon/cloudflare-ddns/ ) - automatically update Cloudflare with your IP address
2018-12-31 00:24:18 +00:00
* [CouchPotato ](https://couchpota.to/ ) - for downloading and managing movies
2021-01-28 08:16:54 +00:00
* [Deluge ](https://dev.deluge-torrent.org/ ) - A lightweight, Free Software, cross-platform BitTorrent client.
2018-12-31 00:24:18 +00:00
* [Duplicati ](https://www.duplicati.com/ ) - for backing up your stuff
* [Emby ](https://emby.media/ ) - Media streaming and management
2019-05-26 09:07:57 +00:00
* [Firefly III ](https://firefly-iii.org/ ) - Free and open source personal finance manager
2019-03-01 20:59:43 +00:00
* [get_iplayer ](https://github.com/get-iplayer/get_iplayer ) - download programmes from BBC iplayer
2020-06-25 14:39:50 +00:00
* [Gitea ](https://gitea.io/en-us/ ) - Simple self-hosted GitHub clone
* [GitLab ](https://about.gitlab.com/features/ ) - Self-hosted GitHub clone of the highest order
2018-12-31 00:24:18 +00:00
* [Glances ](https://nicolargo.github.io/glances/ ) - for seeing the state of your system via a web browser
* [Grafana ](https://github.com/grafana/grafana ) - Dashboarding tool
* [Guacamole ](https://guacamole.apache.org/ ) - Web based remote desktop gateway, supports VNC, RDP and SSH
* [Heimdall ](https://heimdall.site/ ) - Home server dashboard
2019-07-23 20:07:40 +00:00
* [Home Assistant ](https://www.home-assistant.io ) - Open source home automation
2018-12-31 00:24:18 +00:00
* [InfluxDB ](https://github.com/influxdata/influxdb ) - Time series database used for stats collection
2019-03-25 15:15:12 +00:00
* [Jackett ](https://github.com/Jackett/Jackett ) - API Support for your favorite torrent trackers
2019-08-27 12:58:00 +00:00
* [Jellyfin ](https://jellyfin.github.io ) - The Free Software Media System
2019-10-19 22:53:50 +00:00
* [Joomla ](https://www.joomla.org/ ) - Open source content management system
2020-05-17 11:17:25 +00:00
* [Krusader ](https://krusader.org/ ) - Twin panel file management for your desktop
2019-10-16 17:58:37 +00:00
* [Lidarr ](https://github.com/lidarr/Lidarr ) - Music collection manager for Usenet and BitTorrent users
2020-05-08 06:11:54 +00:00
* [MiniDLNA ](https://sourceforge.net/projects/minidlna/ ) - simple media server which is fully compliant with DLNA/UPnP-AV clients
2018-12-31 00:24:18 +00:00
* [Miniflux ](https://miniflux.app/ ) - An RSS news reader
2019-05-01 12:23:11 +00:00
* [Mosquitto ](https://mosquitto.org ) - An open source MQTT broker
2020-05-02 22:59:33 +00:00
* [Mylar ](https://github.com/evilhero/mylar ) - An automated Comic Book downloader (cbr/cbz) for use with SABnzbd, NZBGet and torrents
2019-03-01 23:05:33 +00:00
* [MyMediaForAlexa ](https://www.mymediaalexa.com/ ) - Lets you stream your music collection to your alexa device
2021-01-23 21:37:10 +00:00
* [n8n ](https://n8n.io" ) - Nodemation, a node based workflow and automation service like IFTTT.
2018-12-31 00:24:18 +00:00
* [Netdata ](https://my-netdata.io/ ) - An extremely comprehensive system monitoring solution
* [Nextcloud ](https://nextcloud.com/ ) - A self-hosted Dropbox alternative
2019-06-02 20:15:34 +00:00
* [NZBget ](https://nzbget.net/ ) - The most efficient usenet downloader
2019-11-21 03:28:11 +00:00
* [Ombi ](https://ombi.io/ ) - web application that automatically gives your users the ability to request content
2020-04-25 04:08:10 +00:00
* [Organizr ](https://organizr.app/ ) - ORGANIZR aims to be your one stop shop for your Servers Frontend.
2019-08-13 13:07:33 +00:00
* [openHAB ](https://www.openhab.org/ ) - A vendor and technology agnostic open source automation software for your home
2018-12-31 00:24:18 +00:00
* [Plex ](https://www.plex.tv/ ) - Plex Media Server
* [Portainer ](https://portainer.io/ ) - for managing Docker and running custom images
2019-05-06 21:04:04 +00:00
* [pyLoad ](https://pyload.net/ ) - A download manager with a friendly web-interface
2020-04-22 04:52:08 +00:00
* [PyTivo ](http://pytivo.org ) - An HMO and GoBack server for TiVos.
2018-12-31 00:24:18 +00:00
* [Radarr ](https://radarr.video/ ) - for organising and downloading movies
2019-04-15 15:38:08 +00:00
* [Sickchill ](https://sickchill.github.io/ ) - for managing TV episodes
2018-12-31 00:24:18 +00:00
* [Sonarr ](https://sonarr.tv/ ) - for downloading and managing TV episodes
2021-01-22 21:27:17 +00:00
* [Syncthing ](https://syncthing.net/ ) - sync directories with another device
2018-12-31 00:24:18 +00:00
* [Tautulli ](http://tautulli.com/ ) - Monitor Your Plex Media Server
* [Telegraf ](https://github.com/influxdata/telegraf ) - Metrics collection agent
2019-04-12 22:31:27 +00:00
* [The Lounge ](https://thelounge.chat ) - Web based always-on IRC client
2019-10-20 21:52:52 +00:00
* [TimeMachine ](https://github.com/awlx/samba-timemachine ) - Samba-based mac backup server
2018-12-31 00:24:18 +00:00
* [Traefik ](https://traefik.io/ ) - Web proxy and SSL certificate manager
* [Transmission ](https://transmissionbt.com/ ) - BitTorrent client (with OpenVPN if you have a supported VPN provider)
2019-11-19 18:13:15 +00:00
* [Ubooquity ](http://vaemendis.net/ubooquity/ ) - Book and comic server
2020-04-23 05:42:39 +00:00
* [uTorrent ](https://www.utorrent.com/ ) - The best torrent downloading app for beginners
2020-01-25 12:17:08 +00:00
* [Virtual Desktop ](https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom ) - A virtual desktop running on your NAS.
2019-06-12 19:48:18 +00:00
* [Wallabag ](https://wallabag.org/ ) - Save and classify articles. Read them later.
2018-12-31 00:24:18 +00:00
* [Watchtower ](https://github.com/v2tec/watchtower ) - Monitor your Docker containers and update them if a new version is available
2020-05-17 11:17:25 +00:00
* [YouTubeDL-Material ](https://github.com/Tzahi12345/YoutubeDL-Material ) - Self-hosted YouTube downloader built on Material Design
2018-12-31 00:24:18 +00:00
* [ZNC ](https://wiki.znc.in/ZNC ) - IRC bouncer to stay connected to favourite IRC networks and channels
2018-04-08 22:29:25 +00:00
2018-04-09 12:22:21 +00:00
## What This Could Do
2019-04-02 11:29:48 +00:00
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.
2018-04-09 12:22:21 +00:00
2019-04-02 11:29:48 +00:00
That said, if specific functionality you want isn't included and you think
others could benefit, add it and raise a PR!
2018-04-09 12:22:21 +00:00
2017-08-28 15:31:54 +00:00
## What This Doesn't Do
2018-09-23 19:20:10 +00:00
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
2019-05-26 09:07:57 +00:00
gained by automating it. Check out the [docs ](https://davestephens.github.io/ansible-nas ) for recommended setups.
2017-08-28 15:31:54 +00:00
2020-01-07 22:23:21 +00:00
## Installation
2018-04-08 22:29:25 +00:00
2020-01-07 22:23:21 +00:00
See [Installation ](https://davestephens.github.io/ansible-nas/installation/ ).
2019-07-03 23:22:20 +00:00
2020-01-06 00:11:53 +00:00
## Upgrading
2018-04-08 22:29:25 +00:00
2020-01-06 00:11:53 +00:00
**The way Ansible-NAS configuration is structured has changed!** See [Upgrading ](https://davestephens.github.io/ansible-nas/upgrading/ ) for more information. See the **Getting Help** section if you get stuck.
2019-07-03 23:22:20 +00:00
2018-12-26 11:52:46 +00:00
## Documentation
2019-04-02 11:29:48 +00:00
You can read the docs [here ](https://davestephens.github.io/ansible-nas ). PRs
for more documentation always welcome!
2017-08-28 15:31:54 +00:00
## Migrating from FreeNAS
Assuming that your Ubuntu system disk is separate from your storage (it should be!):
2018-12-31 00:24:18 +00:00
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.
2018-04-08 22:29:25 +00:00
2019-04-15 13:01:48 +00:00
## Requirements
2018-12-26 11:52:46 +00:00
2019-04-15 15:46:26 +00:00
* Ansible NAS targets the latest Ubuntu LTS release, which is currently Ubuntu
2021-01-15 09:26:13 +00:00
Server 20.04 LTS.
2019-04-15 15:46:26 +00:00
* You can run Ansible-NAS on whatever you like, read the docs for more info. I
use an HP Microserver.
2017-08-28 15:31:54 +00:00
2018-12-01 13:14:51 +00:00
## Getting Help
Getting help is easy! You can:
2018-04-08 22:29:41 +00:00
2018-12-31 00:24:18 +00:00
* Read the [docs ](https://davestephens.github.io/ansible-nas )
2021-01-29 00:37:33 +00:00
* Start a [discussion ](https://github.com/davestephens/ansible-nas/discussions )
* Raise an [issue ](https://github.com/davestephens/ansible-nas/issues ) if you think you've found a bug
2018-12-31 00:24:18 +00:00
* Chat on [Gitter ](https://gitter.im/Ansible-NAS/Chat )
2017-08-28 15:31:54 +00:00
## Contributing
2018-04-08 22:29:25 +00:00
2020-01-05 09:14:42 +00:00
Contributions are always welcome! Please read [CONTRIBUTING.md ](CONTRIBUTING.md ) first.
2018-12-08 22:51:38 +00:00
2019-06-30 14:23:43 +00:00
## Support
If you've enjoyed Ansible-NAS as much as I do working on it, please consider [buying me a coffee ](https://ko-fi.com/davestephens ) :coffee:
2019-08-30 09:21:07 +00:00
## Thanks
Thanks to the awesome dudes at [JetBrains ](https://www.jetbrains.com/?from=Ansible-NAS ) for supplying core contributors with JetBrains Open Source licenses!