mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-12 19:48:47 +00:00
Merge branch 'master' into firefly
This commit is contained in:
commit
4f3cf71783
8 changed files with 58 additions and 14 deletions
29
README.md
29
README.md
|
@ -1,9 +1,10 @@
|
|||
# Ansible NAS
|
||||
|
||||
[![Build Status](https://img.shields.io/travis/com/davestephens/ansible-nas.svg?logo=travis&style=flat-square)](https://travis-ci.com/davestephens/ansible-nas) [![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)
|
||||
[![Build Status](https://img.shields.io/travis/com/davestephens/ansible-nas.svg?logo=travis&style=flat-square)](https://travis-ci.com/davestephens/ansible-nas) [![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) [![Beerpay](https://beerpay.io/davestephens/ansible-nas/badge.svg?style=flat-square)](https://beerpay.io/davestephens/ansible-nas)
|
||||
|
||||
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.
|
||||
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
|
||||
|
||||
|
@ -62,9 +63,13 @@ just a stock Ubuntu install, some clever Ansible config and a bunch of Docker co
|
|||
|
||||
## 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.
|
||||
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!
|
||||
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
|
||||
|
||||
|
@ -74,7 +79,10 @@ gained by automating it. Check out the [docs](https://davestephens.github.io/ans
|
|||
|
||||
## Quick Start
|
||||
|
||||
:skull: Before running anything, check out the playbook and understand what it does. Run it against a VM and make sure you're happy. ***Do not*** blindly download code from the internet and trust that it's going to work as you expect. :skull:
|
||||
:skull: Before running anything, check out the playbook and understand what it
|
||||
does. Run it against a VM and make sure you're happy. ***Do not*** blindly
|
||||
download code from the internet and trust that it's going to work as you expect.
|
||||
:skull:
|
||||
|
||||
1. Enable the Ubuntu Universe repository: `sudo add-apt-repository universe`
|
||||
2. Install Ansible: `sudo apt install ansible`
|
||||
|
@ -89,7 +97,8 @@ gained by automating it. Check out the [docs](https://davestephens.github.io/ans
|
|||
|
||||
## Documentation
|
||||
|
||||
You can read the docs [here](https://davestephens.github.io/ansible-nas). PRs for more documentation always welcome!
|
||||
You can read the docs [here](https://davestephens.github.io/ansible-nas). PRs
|
||||
for more documentation always welcome!
|
||||
|
||||
## Migrating from FreeNAS
|
||||
|
||||
|
@ -104,8 +113,10 @@ Assuming that your Ubuntu system disk is separate from your storage (it should b
|
|||
|
||||
## Requirements
|
||||
|
||||
* Ansible NAS targets the latest Ubuntu LTS release, which is currently Ubuntu Server 18.04.2 LTS.
|
||||
* You can run Ansible-NAS on whatever you like, read the docs for more info. I use an HP Microserver.
|
||||
* Ansible NAS targets the latest Ubuntu LTS release, which is currently Ubuntu
|
||||
Server 18.04.2 LTS.
|
||||
* You can run Ansible-NAS on whatever you like, read the docs for more info. I
|
||||
use an HP Microserver.
|
||||
|
||||
## Getting Help
|
||||
|
||||
|
|
21
docs/hardware.md
Normal file
21
docs/hardware.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Hardware
|
||||
|
||||
Ansible-NAS will run against any x64 Ubuntu box (i.e. not a Raspberry Pi or other ARM hardware), or even a VM if you're just testing things out. The hardware you pick for Ansible-NAS depends largely on what you intend to do with your server - and is very much a "how long is a piece of string" type question.
|
||||
|
||||
The [homeserver Reddit](https://www.reddit.com/r/HomeServer/) has lots of good information. [ServerBuilds.net](https://www.serverbuilds.net/) is also kept up to date with cheap and decent quality builds known as "NAS Killers".
|
||||
|
||||
## Questions To Think About
|
||||
|
||||
1. What will be taxing the CPU(s) on your Ansible-NAS box? Are you intending to transcode video? How many users will be hitting it?
|
||||
|
||||
2. How many applications do you intend to run in parallel? How much memory do these applications require?
|
||||
|
||||
3. Are you going to run the [ZFS](zfs/zfs_overview/) file system? (you should!)
|
||||
|
||||
4. What are you intending to store on your Ansible-NAS? Is it data you can download again, or is it important to you that you don't lose it? Do you need mirrored disks?
|
||||
|
||||
## HP Microserver
|
||||
|
||||
Ansible-NAS development is tested against an HP Microserver N54L, with 16GB of memory, a 60gb SSD for the OS and 4x2TB WD Red NAS drives for storage. It works great :-)
|
||||
|
||||
This is obviously not the only solution but a reasonable one if you just want a single box to buy, and many different models are available on eBay for varying costs.
|
|
@ -28,4 +28,4 @@ you're done, check out the [post-installation](post_installation.md) steps.
|
|||
|
||||
If this is all very confusing, there is also an [overview](overview.md) of the
|
||||
project and what is required for complete beginners. If you're only confused
|
||||
abot ZFS, we'll help you [get started](zfs_overview.md) as well.
|
||||
abot ZFS, we'll help you [get started](zfs/zfs_overview.md) as well.
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# ZFS Configuration
|
||||
|
||||
This text deals with specific ZFS configuration questions for Ansible-NAS. If
|
||||
you are new to ZFS and are looking for the big picture, please read the [ZFS
|
||||
overview](zfs_overview.md) introduction first.
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
# ZFS Overview
|
||||
|
||||
This is a general overview of the ZFS file system for people who are new to it.
|
||||
If you have some experience and are actually looking for specific information
|
||||
about how to configure ZFS for Ansible-NAS, check out the [ZFS example
|
||||
|
|
|
@ -290,20 +290,28 @@ transmission_local_network: "192.168.1.0/24"
|
|||
###
|
||||
### Plex
|
||||
###
|
||||
# If you're paranoid, set permissions to "ro" so Plex won't ever be able to
|
||||
# delete your files
|
||||
plex_available_externally: "false"
|
||||
plex_config_directory: "{{ docker_home }}/plex/config"
|
||||
plex_movies_directory: "{{ movies_root }}"
|
||||
plex_movies_permissions: "rw"
|
||||
plex_tv_directory: "{{ tv_root }}"
|
||||
plex_tv_permissions: "rw"
|
||||
plex_user_id: 0
|
||||
plex_group_id: 0
|
||||
|
||||
###
|
||||
### Emby
|
||||
###
|
||||
# If you're paranoid, set permissions to "ro" so Emby won't ever be able to
|
||||
# delete your files
|
||||
emby_available_externally: "false"
|
||||
emby_config_directory: "{{ docker_home }}/emby/config"
|
||||
emby_movies_directory: "{{ movies_root }}"
|
||||
emby_movies_permissions: "rw"
|
||||
emby_tv_directory: "{{ tv_root }}"
|
||||
emby_tv_permissions: "rw"
|
||||
emby_user_id: 0
|
||||
emby_group_id: 0
|
||||
|
||||
|
|
|
@ -12,8 +12,8 @@
|
|||
pull: true
|
||||
volumes:
|
||||
- "{{ emby_config_directory }}:/config:rw"
|
||||
- "{{ emby_movies_directory }}:/movies:rw"
|
||||
- "{{ emby_tv_directory }}:/tv:rw"
|
||||
- "{{ emby_movies_directory }}:/movies:{{ emby_movies_permissions }}"
|
||||
- "{{ emby_tv_directory }}:/tv:{{ emby_tv_permissions }}"
|
||||
ports:
|
||||
- "8096:8096" # HTTP port
|
||||
- "8920:8920" # HTTPS port
|
||||
|
|
|
@ -13,8 +13,8 @@
|
|||
pull: true
|
||||
volumes:
|
||||
- "{{ plex_config_directory }}:/config:rw"
|
||||
- "{{ plex_movies_directory }}:/movies:rw"
|
||||
- "{{ plex_tv_directory }}:/tv:rw"
|
||||
- "{{ plex_movies_directory }}:/movies:{{ plex_movies_permissions }}"
|
||||
- "{{ plex_tv_directory }}:/tv:{{ plex_tv_permissions }}"
|
||||
network_mode: "host"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
|
|
Loading…
Reference in a new issue