ansible-nas/README.md

159 lines
12 KiB
Markdown
Raw Normal View History

2017-08-28 15:37:57 +00:00
# Ansible NAS
2018-12-26 11:52:46 +00:00
2022-07-25 20:18:57 +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)
2022-07-25 20:18:57 +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
2022-05-28 17:23:12 +00:00
## What Ansible-NAS Does
You can configure Ansible-NAS to set up any (or all!) of the applications listed below on your home server.
If you have a spare domain name you can configure applications to be accessible externally to your home LAN too; they'll be configured with a sensible hostname and DNS gets updated accordingly if your home IP address changes.
2020-01-06 00:11:53 +00:00
### Available Applications
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
2021-09-30 03:15:13 +00:00
* [Booksonic](https://booksonic.org/) - The selfhosted audiobook server
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
* [CouchPotato](https://couchpota.to/) - for downloading and managing movies
* [Dashy](https://dashy.to/) - A self-hosted startpage for your server. Easy to use visual editor, status checking, widgets, themes and tons more!
* [Deluge](https://dev.deluge-torrent.org/) - A lightweight, Free Software, cross-platform BitTorrent client.
2021-02-28 17:29:08 +00:00
* [DokuWiki](https://www.dokuwiki.org/) - A simple to use and highly versatile Open Source wiki software that doesn't require a database.
* [Duplicacy](https://duplicacy.com/) - A web UI for the Duplicacy cloud backup program, which provides lock-free deduplication backups to multiple providers
* [Duplicati](https://www.duplicati.com/) - for backing up your stuff
* [Emby](https://emby.media/) - Media streaming and management
* [ESPHome](https://esphome.io/) - ESP8266/ESP32 programming and management for home automation
2019-05-26 09:07:57 +00:00
* [Firefly III](https://firefly-iii.org/) - Free and open source personal finance manager
* [Fresh RSS](https://freshrss.org/) - Self-hosted RSS feed aggregator like Leed or Kriss Feed
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
* [Glances](https://nicolargo.github.io/glances/) - for seeing the state of your system via a web browser
* [Gotify](https://gotify.net/) Self-hosted server for sending push notifications
* [Guacamole](https://guacamole.apache.org/) - Web based remote desktop gateway, supports VNC, RDP and SSH
* [healthchecks.io](https://healthchecks.io/) - Ensure your NAS is online and get notified otherwise
* [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
* [Homebridge](https://github.com/nfarina/homebridge) - Emulate the iOS HomeKit API
* [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
2021-12-27 23:50:05 +00:00
* [Komga](https://komga.org/) - a media server for your comics, mangas, BDs and magazines
* [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
2022-02-27 19:45:22 +00:00
* [Mealie](https://hay-kot.github.io/mealie/) - A self-hosted recipe manager and meal planner
* [Minecraft Server](https://www.minecraft.net/) - Server edition of the popular building and exploring game
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
* [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-03-06 15:33:07 +00:00
* [n8n](https://n8n.io/) - Nodemation, a node based workflow and automation service like IFTTT.
* [navidrome](https://www.navidrome.org/) - Modern Music Server and Streamer compatible with Subsonic/Airsonic
2020-05-03 00:19:34 +00:00
* [netboot.xyz](https://netboot.xyz/) - a PXE boot server
* [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
2022-07-23 16:46:12 +00:00
* [Octoprint](https://octoprint.org/) - Control and monitor your 3D printer
2019-11-21 03:28:11 +00:00
* [Ombi](https://ombi.io/) - web application that automatically gives your users the ability to request content
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
* [Organizr](https://organizr.app/) - ORGANIZR aims to be your one stop shop for your Servers Frontend.
2022-01-12 11:48:51 +00:00
* [overseerr](https://docs.overseerr.dev) - open source software application for managing requests for your media library
* [Paperless_ng](https://github.com/jonaswinkler/paperless-ng) - Scan, index and archive all your physical documents
2021-08-17 23:13:25 +00:00
* [Piwigo](https://piwigo.org/) - Photo Gallery Software
* [Plex](https://www.plex.tv/) - Plex Media Server
* [Portainer](https://portainer.io/) - for managing Docker and running custom images
2021-08-21 00:24:45 +00:00
* [Prowlarr](https://github.com/Prowlarr/Prowlarr) - Indexer aggregator for Sonarr, Radarr, Lidarr, etc.
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.
* [Radarr](https://radarr.video/) - for organising and downloading movies
* [Route53 DDNS](https://crazymax.dev/ddns-route53/) - Automatically update AWS Route53 with your IP address
* [RSS-Bridge](https://rss-bridge.github.io/rss-bridge/) - The RSS feed for websites missing it
2020-01-30 14:47:37 +00:00
* [Sabnzbd](https://sabnzbd.org/) - A powerful usenet downloader that FreeNAS provides
* [Sickchill](https://sickchill.github.io/) - for managing TV episodes
* [Sonarr](https://sonarr.tv/) - for downloading and managing TV episodes
2020-05-04 17:31:44 +00:00
* [Speedtest-Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker) - Continuously track your internet speed
2021-01-22 21:27:17 +00:00
* [Syncthing](https://syncthing.net/) - sync directories with another device
* [Tautulli](http://tautulli.com/) - Monitor Your Plex Media Server
2019-04-12 22:31:27 +00:00
* [The Lounge](https://thelounge.chat) - Web based always-on IRC client
* [TiddlyWiki](https://tiddlywiki.com) - A unique non-linear notebook/wiki for capturing, organizing, and sharing complex information
2019-10-20 21:52:52 +00:00
* [TimeMachine](https://github.com/awlx/samba-timemachine) - Samba-based mac backup server
* [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.
* [Watchtower](https://github.com/v2tec/watchtower) - Monitor your Docker containers and update them if a new version is available
* [Wireshark](https://www.wireshark.org/) - the worlds foremost and widely-used network protocol analyzer.
* [YouTubeDL-Material](https://github.com/Tzahi12345/YoutubeDL-Material) - Self-hosted YouTube downloader built on Material Design
* [ZNC](https://wiki.znc.in/ZNC) - IRC bouncer to stay connected to favourite IRC networks and channels
2018-04-09 12:22:21 +00:00
## What This Could Do
2022-07-25 20:18:57 +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
2022-07-25 20:18:57 +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
2022-07-25 20:18:57 +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 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
2020-01-07 22:23:21 +00:00
See [Installation](https://davestephens.github.io/ansible-nas/installation/).
2020-01-06 00:11:53 +00:00
## Upgrading
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.
2018-12-26 11:52:46 +00:00
## Documentation
2022-07-25 20:18:57 +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!):
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.
2019-04-15 13:01:48 +00:00
## Requirements
2018-12-26 11:52:46 +00:00
2022-08-13 23:25:58 +00:00
* Ansible NAS targets the latest Ubuntu LTS release, which is currently Ubuntu Server 22.04 LTS.
2022-07-25 20:18:57 +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
## Getting Help
Getting help is easy! You can:
2018-04-08 22:29:41 +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
* Chat on [Gitter](https://gitter.im/Ansible-NAS/Chat)
2017-08-28 15:31:54 +00:00
## Contributing
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
2022-05-28 17:23:12 +00:00
The awesome dudes at [JetBrains](https://www.jetbrains.com/?from=Ansible-NAS) for supplying core contributors with JetBrains Open Source licenses!
All of the awesome contributors to Ansible-NAS: ![All of the awesome contributors to Ansible-NAS](https://contrib.rocks/image?repo=davestephens/ansible-nas)