Started modifying for nas
This commit is contained in:
parent
18ae3aaf4e
commit
9f77e30161
6 changed files with 68 additions and 62 deletions
42
README.md
42
README.md
|
|
@ -1,38 +1,10 @@
|
|||
# ansible-docker-swarm
|
||||
# Raspberry Pi NAS
|
||||
|
||||
This repository contains a complete Ansible config for setting up a Docker
|
||||
Swarm on Debian 10-based nodes. I personally use it for a swarm of Raspberry
|
||||
Pi's, but in theory it should work with other hosts as well.
|
||||
This repository contains all configuration I use to set up a Raspberry Pi 4B as
|
||||
a NAS and media storage server. This repository will most likely evolve a lot.
|
||||
|
||||
## Inventory file
|
||||
The Pi is used to host the following:
|
||||
|
||||
A template for the inventory file can be found in `hosts.template.ini`. The
|
||||
hosts consists of three main groups:
|
||||
|
||||
* `admin`: the admin is the host that initializes the Swarm. It serves several
|
||||
functions:
|
||||
* It's used to initialize the Swarm.
|
||||
* It serves as the entrypoint to the Swarm.
|
||||
* It hosts the NFS share that's used for persistent storage.
|
||||
* `managers`: these are the nodes that should be added as manager.
|
||||
* `workers`: these nodes will be added as workers.
|
||||
|
||||
## Roles
|
||||
|
||||
The config is divided into several roles to make management easier:
|
||||
|
||||
* `install-python3`: replaces Python 2 with Python 3. This role currently
|
||||
crashes, because Ansible doesn't like it when you change the Python install
|
||||
during a run, but a consecutive run does work.
|
||||
* `install-net-security`: installs UFW & Fail2Ban & configures them
|
||||
* `install-docker`: installs Docker & any Docker-related tools
|
||||
* `init-docker-swarm`: initializes the Swarm on the `admin` host
|
||||
* `add-docker-swarm-managers`: adds the manager nodes to the swarm
|
||||
* `add-docker-swarm-workers`: adds the worker nodes to the swarm
|
||||
* `deploy-portainer`: deploys Portainer
|
||||
|
||||
## Use of Portainer
|
||||
|
||||
Portainer is a tool created for managing Docker engines, and in particular
|
||||
Docker Swarm. Because I use Portainer for setting up all other services, it's
|
||||
the only Docker service that I actually set up using Ansible.
|
||||
* Samba network share for access to family pictures
|
||||
* [Photoview](https://photoview.github.io/) instance for accessing image over the internet
|
||||
* [Jellyfin](https://jellyfin.org/) for accessing media library as well
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue