mirror of
https://github.com/davestephens/ansible-nas
synced 2024-11-15 00:17:10 +00:00
Merge branch 'master' into Fix-tautulli-so-it-can-see-plex-logs
This commit is contained in:
commit
ef78fb9bab
87 changed files with 447 additions and 156 deletions
15
.github/ISSUE_TEMPLATE/application_request.md
vendored
Normal file
15
.github/ISSUE_TEMPLATE/application_request.md
vendored
Normal file
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
name: Application Request
|
||||
about: Suggest an application to be added to Ansible-NAS
|
||||
title: ''
|
||||
labels: 'enhancement'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Application you'd like to add:**
|
||||
|
||||
**Link to Docker image:**
|
||||
|
||||
**Why you'd like this application added:**
|
||||
|
|
@ -29,6 +29,7 @@ Ansible config and a bunch of Docker containers.
|
|||
* Content management with Joomla
|
||||
* A dual panel local file manager
|
||||
* Self-service media request web application
|
||||
* SEO tracking with Serposcope
|
||||
|
||||
### Available Applications
|
||||
|
||||
|
@ -67,6 +68,7 @@ Ansible config and a bunch of Docker containers.
|
|||
* [Portainer](https://portainer.io/) - for managing Docker and running custom images
|
||||
* [pyLoad](https://pyload.net/) - A download manager with a friendly web-interface
|
||||
* [Radarr](https://radarr.video/) - for organising and downloading movies
|
||||
* [Serposcope](https://serposcope.serphacker.com/en/) - tracker to monitor website ranking
|
||||
* [Sickchill](https://sickchill.github.io/) - for managing TV episodes
|
||||
* [Sonarr](https://sonarr.tv/) - for downloading and managing TV episodes
|
||||
* [Tautulli](http://tautulli.com/) - Monitor Your Plex Media Server
|
||||
|
@ -76,6 +78,7 @@ Ansible config and a bunch of Docker containers.
|
|||
* [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)
|
||||
* [Ubooquity](http://vaemendis.net/ubooquity/) - Book and comic server
|
||||
* [Virtual Desktop](https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom) - A virtual desktop running on your NAS.
|
||||
* [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
|
||||
* [ZNC](https://wiki.znc.in/ZNC) - IRC bouncer to stay connected to favourite IRC networks and channels
|
||||
|
|
|
@ -6,7 +6,7 @@ Airsonic is a free, web-based media streamer, providing ubiquitous access to you
|
|||
|
||||
## Usage
|
||||
|
||||
Set `airsonic_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `airsonic_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Airsonic web interface can be found at http://ansible_nas_host_or_ip:4040.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Bazarr is a companion application to Sonarr and Radarr. It manages and downloads
|
|||
|
||||
## Usage
|
||||
|
||||
Set `bazarr_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `bazarr_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ This is a Bitwarden server API implementation written in Rust compatible with up
|
|||
|
||||
## Usage
|
||||
|
||||
Set `bitwarden_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `bitwarden_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ Calibre-Web is a web app providing a clean interface for browsing, reading and d
|
|||
|
||||
## Usage
|
||||
|
||||
Set `calibre_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `calibre_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
|
|
|
@ -8,10 +8,10 @@ Cloud Commander is a file manager for the web. It includes a command-line consol
|
|||
|
||||
## Usage
|
||||
|
||||
Set `cloudcmd_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `cloudcmd_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
By default your the root of your Ansible-NAS box (`/`) is mounted into `/mnt/fs` within the container. If you'd like to
|
||||
change this update `cloudcmd_browse_directory` in your `group_vars/all.yml` file.
|
||||
change this update `cloudcmd_browse_directory` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
If you enable external access to Cloud Commander (note that this is not recommended) then ensure you configure authorisation
|
||||
within the application (F10 from the main menu).
|
|
@ -8,8 +8,8 @@ host A record to point to your static IP, or enable this container to automatica
|
|||
|
||||
## Usage
|
||||
|
||||
Set `cloudflare_ddns_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `cloudflare_ddns_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
Make sure you set your Cloudflare login, domain and API key details within your `group_vars/all.yml` file.
|
||||
Make sure you set your Cloudflare login, domain and API key details within your `inventories/<your_inventory>/nas.yml` file.
|
|
@ -11,7 +11,7 @@ similar functionality.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `emby_enabled: true` in your `group_vars/all.yml` file. There are further
|
||||
Set `emby_enabled: true` in your `inventories/<your_inventory>/nas.yml` file. There are further
|
||||
parameters you can edit such as `movies_root` and `tv_root` lower down.
|
||||
|
||||
## Specific Configuration
|
||||
|
|
|
@ -6,6 +6,6 @@ Firefly III is a self-hosted financial manager. It can help you keep track of ex
|
|||
|
||||
## Usage
|
||||
|
||||
Set `firefly_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `firefly_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Firefly III web interface can be found at http://ansible_nas_host_or_ip:8066.
|
||||
|
|
|
@ -6,6 +6,6 @@ Downloads TV and radio programmes from BBC iPlayer.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `get_iplayer_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `get_iplayer_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The get_iplayer web interface can be found at http://ansible_nas_host_or_ip:8182.
|
||||
|
|
17
docs/applications/guacamole.md
Normal file
17
docs/applications/guacamole.md
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Guacamole
|
||||
|
||||
Homepage: [hhttps://guacamole.apache.org/](https://guacamole.apache.org/)
|
||||
|
||||
Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
|
||||
|
||||
## Usage
|
||||
|
||||
Set `guacamole_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
The default username and password is `guacadmin`. Change it!
|
||||
|
||||
## What to connect to?
|
||||
|
||||
You can run a virtual desktop from your Ansible-NAS box, check out the [Virtual Desktop docs](virtual_desktop.md).
|
|
@ -5,8 +5,8 @@ Homepage: [https://www.home-assistant.io/](https://www.home-assistant.io/)
|
|||
|
||||
## Usage
|
||||
|
||||
Set `homeassistant_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `homeassistant_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
If you want to access Home Assistant externally, don't forget to set `homeassistant_available_externally: "true"` in your `group_vars/all.yml` file.
|
||||
If you want to access Home Assistant externally, don't forget to set `homeassistant_available_externally: "true"` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Home Assistant web interface can be found at http://ansible_nas_host_or_ip:8123.
|
||||
|
|
|
@ -6,6 +6,6 @@ Homebridge is a lightweight NodeJS server you can run on your home network that
|
|||
|
||||
## Usage
|
||||
|
||||
Set `homebridge_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `homebridge_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Homebridge web interface can be found at http://ansible_nas_host_or_ip:8087. The default username and password is 'admin' - change this after your first login!
|
||||
|
|
|
@ -6,6 +6,6 @@ Jackett works as a proxy server: it translates queries from apps (Sonarr, Radarr
|
|||
|
||||
## Usage
|
||||
|
||||
Set `jackett: true` in your `group_vars/all.yml` file.
|
||||
Set `jackett: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Jackett web interface can be found at http://ansible_nas_host_or_ip:9117.
|
||||
|
|
|
@ -9,7 +9,7 @@ similar functionality.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `jellyfin_enabled: true` in your `group_vars/all.yml` file. There are further
|
||||
Set `jellyfin_enabled: true` in your `inventories/<your_inventory>/nas.yml` file. There are further
|
||||
parameters you can edit such as `movies_root` and `tv_root` lower down.
|
||||
|
||||
## Specific Configuration
|
||||
|
|
|
@ -6,9 +6,9 @@ Joomla! is an award-winning content management system (CMS), which enables you t
|
|||
|
||||
## Usage
|
||||
|
||||
Set `joomla_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `joomla_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
If you want to access Joomla externally, set `joomla_available_externally: "true"` in your `group_vars/all.yml` file.
|
||||
If you want to access Joomla externally, set `joomla_available_externally: "true"` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Joomla web interface can be found at http://ansible_nas_host_or_ip:8181.
|
||||
|
||||
|
|
|
@ -9,4 +9,4 @@ Lidarr is a music collection manager for Usenet and BitTorrent users. It can mon
|
|||
|
||||
## Usage
|
||||
|
||||
Set `lidarr_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `lidarr_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
|
|
@ -6,6 +6,6 @@ MiniDLNA is server software with the aim of being fully compliant with DLNA/UPnP
|
|||
|
||||
## Usage
|
||||
|
||||
Set `minidlna_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `minidlna_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The very basic MiniDLNA web interface can be found at http://ansible_nas_host_or_ip:8201.
|
||||
|
|
|
@ -6,7 +6,7 @@ Miniflux is a minimalist and opinionated feed reader.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `miniflux_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `miniflux_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Miniflux web interface can be found at http://ansible_nas_host_or_ip:8070, the default username is `admin` and password `supersecure`.
|
||||
|
||||
|
|
|
@ -6,5 +6,5 @@ Mosquitto is a lightweight open source MQTT message broker.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `mosquitto_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `mosquitto_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
|
|
|
@ -6,6 +6,6 @@ My Media lets you stream your music collection to your Amazon Echo or Amazon Dot
|
|||
|
||||
## Usage
|
||||
|
||||
Set `mymediaforalexa_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `mymediaforalexa_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The My Media for Alexa web interface can be found at http://ansible_nas_host_or_ip:52051.
|
||||
|
|
|
@ -5,6 +5,8 @@ Homepage: [https://nextcloud.com](https://nextcloud.com)
|
|||
|
||||
## Usage
|
||||
|
||||
Set `nextcloud_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
Tread carefully.
|
||||
|
||||
External access may require that you manually configure your Fully Qualified Domain Name (FQDN) as a trusted domain within the application. There is an evnironment variable set up for this in the "nextcloud task" which will most likely make manual configuration unneccessary. If you get the following [screenshot](https://docs.nextcloud.com/server/14/admin_manual/installation/installation_wizard.html#trusted-domains) warning when trying to access nextcloud externally you'll need to manually set it up.
|
||||
|
|
|
@ -6,6 +6,6 @@ The most efficient Usenet downloader. NZBGet is written in C++ and designed with
|
|||
|
||||
## Usage
|
||||
|
||||
Set `nzbget_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `nzbget_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The NZBget web interface can be found at http://ansible_nas_host_or_ip:6789, the default username is `nzbget` and password `tegbzn6789`. Change this once you've logged in!
|
||||
|
|
|
@ -9,4 +9,4 @@ Ombi is a self-hosted web application that automatically gives your shared Plex
|
|||
|
||||
## Usage
|
||||
|
||||
Set `ombi_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `ombi_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
|
|
@ -7,7 +7,7 @@ It allows you to connect many different IoT-Devices (which in this case means "I
|
|||
|
||||
## Usage
|
||||
|
||||
Set `openhab_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `openhab_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@ Free and Open Source download manager written in Python and designed to be extre
|
|||
.
|
||||
## Usage
|
||||
|
||||
Set `pyload_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `pyload_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
pyLoad's web interface can be found at http://ansible_nas_host_or_ip:8000
|
||||
|
||||
|
|
21
docs/applications/radarr.md
Normal file
21
docs/applications/radarr.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Sonarr & Radarr
|
||||
Homepage: [radarr](https://radarr.video/)
|
||||
|
||||
**Radarr** is an independent fork of Sonarr reworked for automatically downloading movies via Usenet and BitTorrent.
|
||||
|
||||
## Usage
|
||||
|
||||
Set `radarr_enabled: true` in your `/inventories/[my inventory]/group_vars/nas.yml` file.
|
||||
|
||||
The Radarr web interface can be found at `http://ansible_nas_host_or_ip:7878` by default
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
**First make sure Radarr has permissions to write and read the `/download`, and `/movies` folders**. Do this by ensuring the `radarr_movies_directory:` and `radarr_download_directory` settings are correct.
|
||||
|
||||
Radarr will get the file path from the Download client. On default settings with Transmission the path is `/storage/downloads/complete`. You will need to create a path mapping in the **Remote Path Mappings** settings under **Download Client** to point to your internal path that is by default `/downloads`. *If you have difficulties with the path mapping you could also just add a new volume path for the Transmission container and use `/downloads` as the download directory.*
|
||||
|
||||
For Radarr to understand that the `/movies` folder is a folder, you'll need to add a new subfolder into it.
|
||||
You can also do this by adding a random movie to the folder. Keep in mind to have the internal setting **Create empty movie folders** on **yes**
|
||||
|
||||
Comprehensive setup information can be found on the [Radarr github wiki](https://github.com/Radarr/Radarr/wiki/Setup-Guide)
|
11
docs/applications/serposcope.md
Normal file
11
docs/applications/serposcope.md
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Serposcope
|
||||
|
||||
Homepage: [https://serposcope.serphacker.com/en/](https://serposcope.serphacker.com/en/)
|
||||
|
||||
Serposcope is a free and open-source rank tracker to monitor websites ranking in Google and improve your SEO performances
|
||||
|
||||
## Usage
|
||||
|
||||
Set `serposcope_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Serposcope web interface can be found at http://ansible_nas_host_or_ip:7134.
|
22
docs/applications/sonarr.md
Normal file
22
docs/applications/sonarr.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
# Sonarr & Radarr
|
||||
Homepages: [sonarr](https://sonarr.tv/)
|
||||
|
||||
**Sonarr** is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available.
|
||||
|
||||
## Usage
|
||||
|
||||
Set `sonarr_enabled: true` in your `/inventories/[my inventory]/group_vars/nas.yml` file.
|
||||
|
||||
The Sonarr web interface can be found at `http://ansible_nas_host_or_ip:8989` by default
|
||||
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
**First make sure Sonarr has permissions to write and read the `/download` and `/tv` folders**. Do this by ensuring the `sonarr_movies_directory:` and `sonarr_download_directory` settings are correct.
|
||||
|
||||
Sonarr will get the file path from the Download client. On default settings with Transmission the path is `/storage/downloads/complete`. You will need to create a path mapping in the **Remote Path Mappings** settings under **Download Client** to point to your internal path that is by default `/downloads`. *If you have difficulties with the path mapping you could also just add a new volume path for the Transmission container and use `/downloads` as the download directory.*
|
||||
|
||||
For Sonarr to understand that the `/tv` folder is a folder, you'll need to add a folder into it.
|
||||
You can also do this by adding a random series to the folder. Keep in mind to have the setting **Create empty movie folders** on **yes**
|
||||
|
||||
For comprehensive configuration instructions see the [Sonarr github wiki](https://github.com/Sonarr/Sonarr/wiki)
|
|
@ -6,7 +6,7 @@ The Lounge is a self-hosted web IRC client.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `thelounge_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `thelounge_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
The Lounge web interface can be found at http://ansible_nas_host_or_ip:9000.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ Older versions of Time Machine relied on AFP (netatalk) shares. Apple has deprec
|
|||
|
||||
## Usage
|
||||
|
||||
Set `timemachine_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `timemachine_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
Enabling Time Machine will result in the installation of Avahi on the NAS system (if it is not already installed) and a Time Machine service configuration file for Avahi will be added to the system (at `/etc/avahi/services/timemachine.service`) to allow for Time Machine discovery by Macs on the local network. Avahi runs on the system, rather than in a container, as the same Avahi instance can be used to announce any number of services.
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ See [External Access](configuration/external_access) for more info.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `traefik_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `traefik_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
Traefik's web interface can be found at http://ansible_nas_host_or_ip:8083.
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ directly.
|
|||
|
||||
## Usage
|
||||
|
||||
Set `transmission_enabled: true`, or `transmission_with_openvpn_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `transmission_enabled: true`, or `transmission_with_openvpn_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
Transmission's web interface can be found at http://ansible_nas_host_or_ip:9091 (with VPN) or http://ansible_nas_host_or_ip:9092 (without VPN).
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ Ubooquity is a free, lightweight and easy-to-use home server for your comics and
|
|||
|
||||
## Usage
|
||||
|
||||
Set `ubooquity_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `ubooquity_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
Access the webui at http://<server>:2202/ubooquity by default. See specific configuration section below for information on setting up external access.
|
||||
|
||||
|
|
30
docs/applications/virtual_desktop.md
Normal file
30
docs/applications/virtual_desktop.md
Normal file
|
@ -0,0 +1,30 @@
|
|||
# Virtual Desktop
|
||||
|
||||
It's possible to run a cut down desktop within a Docker container. We use [RattyDAVE's custom Ubuntu Mate image](https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom).
|
||||
|
||||
## Usage
|
||||
|
||||
Set `virtual_desktop_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
By default `{{ ansible_nas_user }}` will be granted access with a password of `topsecret` with sudo rights. To change or add additional users override `vd_users` in your `nas.yml`:
|
||||
|
||||
```
|
||||
vd_users:
|
||||
- username: "{{ ansible_nas_user }}"
|
||||
password: "topsecret"
|
||||
sudo: "Y"
|
||||
- username: "larrylaffer"
|
||||
password: "kensentme"
|
||||
sudo: "Y"
|
||||
```
|
||||
|
||||
## Mounts
|
||||
|
||||
`{{ samba_shares_root }}` is mounted to `/samba`.
|
||||
`{{ docker_home }}` is mounted to `/docker`.
|
||||
|
||||
## Remote Access
|
||||
|
||||
It's possible to access your virtual desktop through a web browser! Check out [Guacamole](guacamole.md).
|
|
@ -6,9 +6,9 @@ wallabag is a self-hostable PHP application allowing you to not miss any content
|
|||
|
||||
## Usage
|
||||
|
||||
Set `wallabag_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `wallabag_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
If you want to access Wallabag externally, don't forget to set `wallabag_available_externally: "true"` in your `group_vars/all.yml` file.
|
||||
If you want to access Wallabag externally, don't forget to set `wallabag_available_externally: "true"` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
I reccomend using the mobile app, which will sync with this installation so you have access to your saved articles even if you don't have signal or wifi access.
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@ A process for watching your Docker containers and automatically updating and res
|
|||
|
||||
## Usage
|
||||
|
||||
Set `watchtower_enabled: true` in your `group_vars/all.yml` file.
|
||||
Set `watchtower_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||
|
||||
## Specific Configuration
|
||||
|
||||
By default Watchtower is configured to check daily at 5am for updates.
|
||||
|
||||
Various notification options are available, and can be configured by updating `watchtower_command` in your `group_vars/all.yml` file. A few examples are provided. The full set of options can be found at the [Watchtower GitHub project page](https://github.com/v2tec/watchtower).
|
||||
Various notification options are available, and can be configured by updating `watchtower_command` in your `inventories/<your_inventory>/nas.yml` file. A few examples are provided. The full set of options can be found at the [Watchtower GitHub project page](https://github.com/v2tec/watchtower).
|
||||
|
|
|
@ -43,6 +43,7 @@ By default, applications can be found on the ports listed below.
|
|||
| Portainer | 9000 | |
|
||||
| pyload | 8000 | |
|
||||
| Radarr | 7878 | |
|
||||
| Serposcope | 7134 | |
|
||||
| Sickchill | 8081 | |
|
||||
| Sonarr | 8989 | |
|
||||
| Tautulli | 8181 | |
|
||||
|
|
|
@ -11,6 +11,12 @@ You can run Ansible-NAS from the computer you plan to use for your NAS, or from
|
|||
|
||||
2. Install Ansible:
|
||||
|
||||
`sudo apt update`
|
||||
|
||||
`sudo apt install software-properties-common`
|
||||
|
||||
`sudo apt-add-repository --yes --update ppa:ansible/ansible`
|
||||
|
||||
`sudo apt install ansible`
|
||||
|
||||
3. Clone Ansible-NAS:
|
||||
|
|
|
@ -56,6 +56,7 @@ netdata_enabled: false
|
|||
watchtower_enabled: false
|
||||
cloudflare_ddns_enabled: false
|
||||
cloudcmd_enabled: false
|
||||
virtual_desktop_enabled: false
|
||||
|
||||
# Backup & Restore
|
||||
duplicati_enabled: false
|
||||
|
@ -93,13 +94,18 @@ ubooquity_enabled: false
|
|||
# Joomla
|
||||
joomla_enabled: false
|
||||
|
||||
# SEO
|
||||
serposcope_enabled: false
|
||||
|
||||
# External Access
|
||||
# Traefik will allow access to certain applications externally. To enable this you'll either; a domain name that points to your
|
||||
# home static IP address, the cloudflare with the cloudflare_ddns dynamic DNS container enabled, or use a dynamic DNS provider like no-ip.
|
||||
# You'll also need to map ports 80 and 443 from your router to your ansible-nas server, then enable the per-app "available_externally"
|
||||
# settings.
|
||||
traefik_enabled: false
|
||||
|
||||
traefik_port_http: "80"
|
||||
traefik_port_https: "443"
|
||||
traefik_port_ui: "8083"
|
||||
###
|
||||
### General
|
||||
###
|
||||
|
@ -284,7 +290,6 @@ cloudflare_email: "{{ ansible_nas_email }}"
|
|||
# Cloudflare 'Global API Key', can be found on the 'My Profile' page
|
||||
cloudflare_api_key: abcdeabcdeabcdeabcde1234512345
|
||||
|
||||
|
||||
###
|
||||
### General
|
||||
###
|
||||
|
@ -332,6 +337,8 @@ traefik_debug: "false"
|
|||
heimdall_available_externally: "false"
|
||||
heimdall_docker_image: linuxserver/heimdall:latest
|
||||
heimdall_data_directory: "{{ docker_home }}/heimdall"
|
||||
heimdall_port_http: "10080"
|
||||
heimdall_port_https: "10443"
|
||||
|
||||
###
|
||||
### Transmission
|
||||
|
@ -344,6 +351,10 @@ transmission_watch_directory: "{{ torrents_root }}"
|
|||
transmission_user_id: "0"
|
||||
transmission_group_id: "0"
|
||||
transmission_local_network: "192.168.1.0/24"
|
||||
transmission_webui_port: "9092"
|
||||
transmission_external_port: "51414"
|
||||
transmission_openvpn_webui_port: "9093"
|
||||
transmission_openvpn_external_port: "51415"
|
||||
|
||||
# Transmission VPN Credentials
|
||||
# If you're using Transmission with a VPN, you'll need to set these credentials.
|
||||
|
@ -359,6 +370,7 @@ openvpn_config: United-Kingdom
|
|||
joomla_data_directory: "{{ docker_home }}/joomla"
|
||||
joomla_available_externally: "false"
|
||||
joomla_database_password: top_secret
|
||||
joomla_port: "8181"
|
||||
|
||||
###
|
||||
### pyLoad
|
||||
|
@ -368,6 +380,7 @@ pyload_config_directory: "{{ docker_home }}/pyload"
|
|||
pyload_download_directory: "{{ downloads_root }}"
|
||||
pyload_user_id: "0"
|
||||
pyload_group_id: "0"
|
||||
pyload_port: "8000"
|
||||
|
||||
###
|
||||
### Plex
|
||||
|
@ -387,6 +400,7 @@ plex_music_directory: "{{ music_root }}"
|
|||
plex_music_permissions: "rw"
|
||||
plex_user_id: "0"
|
||||
plex_group_id: "0"
|
||||
plex_port: "32400"
|
||||
|
||||
###
|
||||
### Homebridge
|
||||
|
@ -395,6 +409,7 @@ homebridge_available_externally: "false"
|
|||
homebridge_config_directory: "{{ docker_home }}/homebridge/config"
|
||||
homebridge_user_id: "0"
|
||||
homebridge_group_id: "0"
|
||||
homebridge_port: "8087"
|
||||
|
||||
###
|
||||
### Emby
|
||||
|
@ -409,6 +424,8 @@ emby_tv_directory: "{{ tv_root }}"
|
|||
emby_tv_permissions: "rw"
|
||||
emby_user_id: "0"
|
||||
emby_group_id: "0"
|
||||
emby_port_http: "8096"
|
||||
emby_port_https: "8920"
|
||||
|
||||
###
|
||||
### Tautulli
|
||||
|
@ -417,6 +434,7 @@ tautulli_available_externally: "false"
|
|||
tautulli_config_directory: "{{ docker_home }}/tautulli/config"
|
||||
tautulli_user_id: "0"
|
||||
tautulli_group_id: "0"
|
||||
tautulli_port: "8185"
|
||||
|
||||
|
||||
###
|
||||
|
@ -424,7 +442,7 @@ tautulli_group_id: "0"
|
|||
###
|
||||
duplicati_available_externally: "false"
|
||||
duplicati_data_directory: "{{ docker_home }}/duplicati/config"
|
||||
|
||||
duplicati_port: "8200"
|
||||
|
||||
###
|
||||
### Sonarr
|
||||
|
@ -435,7 +453,7 @@ sonarr_tv_directory: "{{ tv_root }}"
|
|||
sonarr_download_directory: "{{ downloads_root }}"
|
||||
sonarr_user_id: "0"
|
||||
sonarr_group_id: "0"
|
||||
|
||||
sonarr_port: "8989"
|
||||
|
||||
###
|
||||
### Radarr
|
||||
|
@ -446,6 +464,7 @@ radarr_download_directory: "{{ downloads_root }}"
|
|||
radarr_data_directory: "{{ docker_home }}/radarr"
|
||||
radarr_user_id: "0"
|
||||
radarr_group_id: "0"
|
||||
radarr_port: "7878"
|
||||
|
||||
###
|
||||
### Bazarr
|
||||
|
@ -456,6 +475,7 @@ bazarr_tv_directory: "{{ tv_root }}"
|
|||
bazarr_movies_directory: "{{ movies_root }}"
|
||||
bazarr_user_id: "0"
|
||||
bazarr_group_id: "0"
|
||||
bazarr_port: "6767"
|
||||
|
||||
###
|
||||
### lidarr
|
||||
|
@ -466,7 +486,7 @@ lidarr_music_directory: "{{ music_root }}"
|
|||
lidarr_downloads_directory: "{{ downloads_root }}"
|
||||
lidarr_user_id: "0"
|
||||
lidarr_group_id: "0"
|
||||
|
||||
lidarr_port: "8686"
|
||||
|
||||
###
|
||||
### Couchpotato
|
||||
|
@ -478,7 +498,7 @@ couchpotato_downloads_directory: "{{ downloads_root }}"
|
|||
couchpotato_torrents_directory: "{{ torrents_root }}"
|
||||
couchpotato_user_id: "0"
|
||||
couchpotato_group_id: "0"
|
||||
|
||||
couchpotato_port: "5050"
|
||||
|
||||
###
|
||||
### Sickchill
|
||||
|
@ -489,6 +509,8 @@ sickchill_tv_directory: "{{ tv_root }}"
|
|||
sickchill_downloads_directory: "{{ downloads_root }}/completed"
|
||||
sickchill_user_id: "0"
|
||||
sickchill_group_id: "0"
|
||||
sickchill_port: "8081"
|
||||
|
||||
|
||||
###
|
||||
### Ombi
|
||||
|
@ -502,6 +524,7 @@ ombi_group_id: "0"
|
|||
### Netdata
|
||||
###
|
||||
netdata_available_externally: "false"
|
||||
netdata_port: "19999"
|
||||
|
||||
###
|
||||
### OpenVPN
|
||||
|
@ -514,7 +537,7 @@ openvpn_config_directory: "{{ docker_home }}/openvpn"
|
|||
###
|
||||
portainer_available_externally: "false"
|
||||
portainer_data_directory: "{{ docker_home }}/portainer/config"
|
||||
|
||||
portainer_port: "9000"
|
||||
|
||||
###
|
||||
### ZNC
|
||||
|
@ -523,6 +546,7 @@ znc_available_externally: "false"
|
|||
znc_data_directory: "{{ docker_home }}/znc"
|
||||
znc_user_id: "0"
|
||||
znc_group_id: "0"
|
||||
znc_port: "6677"
|
||||
|
||||
|
||||
###
|
||||
|
@ -533,36 +557,44 @@ telegraf_data_directory: "{{ docker_home }}/telegraf"
|
|||
influxdb_data_directory: "{{ docker_home }}/influxdb"
|
||||
grafana_data_directory: "{{ docker_home }}/grafana"
|
||||
stat_collection_interval: 15s
|
||||
grafana_influxdb_port: "8086"
|
||||
grafana_port: "3000"
|
||||
|
||||
###
|
||||
### Gitea
|
||||
###
|
||||
gitea_available_externally: "false"
|
||||
gitea_data_directory: "{{ docker_home }}/gitea"
|
||||
gitea_port_http: "3001"
|
||||
gitea_port_ssh: "222"
|
||||
|
||||
###
|
||||
### Glances
|
||||
###
|
||||
glances_available_externally: "false"
|
||||
glances_port_one: "61208"
|
||||
glances_port_two: "61209"
|
||||
|
||||
###
|
||||
### Nextcloud
|
||||
###
|
||||
nextcloud_available_externally: "false"
|
||||
nextcloud_data_directory: "{{ docker_home }}/nextcloud"
|
||||
nextcloud_port: "8080"
|
||||
|
||||
###
|
||||
### nginx
|
||||
###
|
||||
nginx_data_directory: "{{ docker_home }}/nginx"
|
||||
nginx_port_http: "80"
|
||||
nginx_port_https: "443"
|
||||
|
||||
###
|
||||
### Guacamole
|
||||
###
|
||||
guacamole_available_externally: "false"
|
||||
guacamole_docker_image: guacamole/guacamole:0.9.14
|
||||
guacamole_guacd_docker_image: guacamole/guacd:0.9.14
|
||||
guacamole_data_directory: "{{ docker_home }}/guacamole"
|
||||
guacamole_port: "8090"
|
||||
|
||||
###
|
||||
### Miniflux
|
||||
|
@ -571,12 +603,17 @@ miniflux_available_externally: "false"
|
|||
miniflux_data_directory: "{{ docker_home }}/miniflux"
|
||||
miniflux_admin_username: admin
|
||||
miniflux_admin_password: supersecure
|
||||
miniflux_port: "8070"
|
||||
|
||||
###
|
||||
### Airsonic
|
||||
###
|
||||
airsonic_available_externally: "false"
|
||||
airsonic_data_directory: "{{ docker_home }}/airsonic"
|
||||
airsonic_music_directory: "{{ music_root }}"
|
||||
airsonic_podcasts_directory: "{{ podcasts_root }}"
|
||||
airsonic_port: "4040"
|
||||
|
||||
|
||||
###
|
||||
### CloudCmd
|
||||
|
@ -586,6 +623,7 @@ cloudcmd_data_directory: "{{ docker_home }}/cloudcmd/config"
|
|||
cloudcmd_browse_directory: "/"
|
||||
cloudcmd_user_id: "0"
|
||||
cloudcmd_group_id: "0"
|
||||
cloudcmd_port: "7373"
|
||||
|
||||
###
|
||||
### Watchtower
|
||||
|
@ -621,12 +659,14 @@ timemachine_port: "10445"
|
|||
minidlna_media_directory1: "{{ movies_root }}"
|
||||
minidlna_media_directory2: "{{ tv_root }}"
|
||||
minidlna_friendly_name: "{{ ansible_nas_hostname }}"
|
||||
minidlna_port: "8201"
|
||||
|
||||
###
|
||||
### get_iplayer
|
||||
###
|
||||
get_iplayer_config_directory: "{{ docker_home }}/get_iplayer"
|
||||
get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads"
|
||||
get_iplayer_port: "8182"
|
||||
|
||||
###
|
||||
### mymediaforalexa
|
||||
|
@ -639,18 +679,24 @@ mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa"
|
|||
###
|
||||
jackett_available_externally: "false"
|
||||
jackett_data_directory: "{{ docker_home }}/jackett"
|
||||
jackett_torrents_root: "{{ torrents_root }}"
|
||||
jackett_port: "9117"
|
||||
|
||||
###
|
||||
### The Lounge
|
||||
###
|
||||
thelounge_available_externally: "false"
|
||||
thelounge_data_directory: "{{ docker_home }}/thelounge"
|
||||
thelounge_port_one: "113"
|
||||
thelounge_port_two: "9002"
|
||||
|
||||
###
|
||||
### Bitwarden
|
||||
###
|
||||
bitwarden_available_externally: "false"
|
||||
bitwarden_data_directory: "{{ docker_home }}/bitwarden"
|
||||
bitwarden_port_a: "19080"
|
||||
bitwarden_port_b: "3012"
|
||||
|
||||
# Keep this token secret, this is password to access admin area of your server!
|
||||
# This token can be anything, but it's recommended to use a long, randomly generated string of characters,
|
||||
|
@ -667,6 +713,7 @@ bitwarden_allow_signups: false
|
|||
###
|
||||
firefly_available_externally: "false"
|
||||
firefly_data_directory: "{{ docker_home }}/firefly"
|
||||
firefly_port: "8066"
|
||||
|
||||
###
|
||||
### Nzbget
|
||||
|
@ -676,18 +723,22 @@ nzbget_data_directory: "{{ docker_home }}/nzbget"
|
|||
nzbget_download_directory: "{{ downloads_root }}"
|
||||
nzbget_user_id: "0"
|
||||
nzbget_group_id: "0"
|
||||
nzbget_port: "6789"
|
||||
|
||||
###
|
||||
### Wallabag
|
||||
###
|
||||
wallabag_available_externally: "false"
|
||||
wallabag_data_directory: "{{ docker_home }}/wallabag"
|
||||
wallabag_port: "7780"
|
||||
|
||||
###
|
||||
### Mosquitto
|
||||
###
|
||||
mosquitto_available_externally: "false"
|
||||
mosquitto_data_directory: "{{ docker_home }}/mosquitto"
|
||||
mosquitto_port_a: "1883"
|
||||
mosquitto_port_b: "9001"
|
||||
|
||||
###
|
||||
### Calibre
|
||||
|
@ -696,6 +747,8 @@ calibre_available_externally: "false"
|
|||
calibre_data_directory: "{{ docker_home }}/calibre"
|
||||
calibre_user_id: "0"
|
||||
calibre_group_id: "0"
|
||||
calibre_books_root: "{{ books_root }}"
|
||||
calibre_port: "8084"
|
||||
# To disable ebook conversion set calibre_ebook_conversion to "". To enable it set it to "linuxserver/calibre-web:calibre"
|
||||
calibre_ebook_conversion: "linuxserver/calibre-web:calibre"
|
||||
|
||||
|
@ -704,6 +757,7 @@ calibre_ebook_conversion: "linuxserver/calibre-web:calibre"
|
|||
###
|
||||
homeassistant_available_externally: "false"
|
||||
homeassistant_data_directory: "{{ docker_home }}/homeassistant"
|
||||
homeassistant_port: "8123"
|
||||
|
||||
###
|
||||
### openHAB
|
||||
|
@ -711,6 +765,8 @@ homeassistant_data_directory: "{{ docker_home }}/homeassistant"
|
|||
openhab_available_externally: "false"
|
||||
openhab_docker_image: openhab/openhab:latest
|
||||
openhab_data_directory: "{{ docker_home }}/openhab"
|
||||
openhab_port_http: "7777"
|
||||
openhab_port_https: "7778"
|
||||
|
||||
###
|
||||
### Jellyfin
|
||||
|
@ -725,6 +781,8 @@ jellyfin_tv_directory: "{{ tv_root }}"
|
|||
jellyfin_tv_permissions: "rw"
|
||||
jellyfin_user_id: "0"
|
||||
jellyfin_group_id: "0"
|
||||
jellyfin_port_http: "8896"
|
||||
jellyfin_port_https: "8928"
|
||||
|
||||
###
|
||||
### Ubooquity
|
||||
|
@ -733,3 +791,23 @@ ubooquity_available_externally: "false"
|
|||
ubooquity_data_directory: "{{ docker_home }}/ubooquity"
|
||||
ubooquity_user_id: "0"
|
||||
ubooquity_group_id: "0"
|
||||
ubooquity_port_webui: "2202"
|
||||
ubooquity_port_admin: "2203"
|
||||
|
||||
###
|
||||
### Serposcope
|
||||
###
|
||||
serposcope_data_directory: "{{ docker_home }}/serposcope"
|
||||
serposcope_port: 7134
|
||||
serposcope_available_externally: "false"
|
||||
|
||||
###
|
||||
### Virtual Desktop
|
||||
###
|
||||
vd_data_directory: "{{ docker_home }}/virtual_desktop"
|
||||
vd_docker_image: "rattydave/docker-ubuntu-xrdp-mate-custom:19.10-tools"
|
||||
vd_users:
|
||||
- username: "{{ ansible_nas_user }}"
|
||||
password: "topsecret"
|
||||
sudo: "Y"
|
||||
vd_rdp_port: 3389
|
8
nas.yml
8
nas.yml
|
@ -215,3 +215,11 @@
|
|||
- import_tasks: tasks/lidarr.yml
|
||||
when: (lidarr_enabled | default(False))
|
||||
tags: lidarr
|
||||
|
||||
- import_tasks: tasks/serposcope.yml
|
||||
when: (serposcope_enabled | default(False))
|
||||
tags: serposcope
|
||||
|
||||
- import_tasks: tasks/virtual_desktop.yml
|
||||
when: (virtual_desktop_enabled | default(False))
|
||||
tags: virtual_desktop
|
||||
|
|
|
@ -16,10 +16,10 @@
|
|||
volumes:
|
||||
- "{{ airsonic_data_directory }}/data:/airsonic/data:rw"
|
||||
- "{{ airsonic_data_directory }}/playlists:/airsonic/playlists:rw"
|
||||
- "{{ samba_shares_root }}/music:/airsonic/music:rw"
|
||||
- "{{ samba_shares_root }}/podcasts:/airsonic/podcasts:rw"
|
||||
- "{{ airsonic_music_directory }}:/airsonic/music:rw"
|
||||
- "{{ airsonic_podcasts_directory }}:/airsonic/podcasts:rw"
|
||||
ports:
|
||||
- "4040:4040"
|
||||
- "{{ airsonic_port }}:4040"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
- "{{ bazarr_movies_directory }}:/movies:rw"
|
||||
- "{{ bazarr_data_directory }}:/config:rw"
|
||||
ports:
|
||||
- "6767:6767"
|
||||
- "{{ bazarr_port }}:6767"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ bazarr_user_id }}"
|
||||
|
|
|
@ -11,8 +11,8 @@
|
|||
image: mprasil/bitwarden:latest
|
||||
pull: true
|
||||
ports:
|
||||
- "19080:80"
|
||||
- "3012:3012"
|
||||
- "{{ bitwarden_port_a }}:80"
|
||||
- "{{ bitwarden_port_b }}:3012"
|
||||
volumes:
|
||||
- "{{ bitwarden_data_directory }}:/data:rw"
|
||||
env:
|
||||
|
@ -25,7 +25,7 @@
|
|||
traefik.enable: "{{ bitwarden_available_externally }}"
|
||||
traefik.web.port: "80"
|
||||
traefik.hub.frontend.rule: "Host:bitwarden.{{ ansible_nas_domain }};Path:/notifications/hub"
|
||||
traefik.hub.port: "3012"
|
||||
traefik.hub.port: "bitwarden_port_b"
|
||||
traefik.hub.protocol: "ws"
|
||||
restart_policy: unless-stopped
|
||||
#memory: 1g
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
pull: true
|
||||
volumes:
|
||||
- "{{ calibre_data_directory }}/config:/config"
|
||||
- "{{ books_root }}:/books"
|
||||
- "{{ calibre_books_root }}:/books"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ calibre_user_id }}"
|
||||
PGID: "{{ calibre_group_id }}"
|
||||
DOCKER_MODS: "{{ calibre_ebook_conversion }}"
|
||||
ports:
|
||||
- "8084:8083"
|
||||
- "{{ calibre_port }}:8083"
|
||||
restart_policy: unless-stopped
|
||||
labels:
|
||||
traefik.backend: "calibre"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
- "{{ cloudcmd_data_directory }}:/config:rw"
|
||||
- "{{ cloudcmd_browse_directory }}:/mnt/fs"
|
||||
ports:
|
||||
- "7373:8000"
|
||||
- "{{ cloudcmd_port }}:8000"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ cloudcmd_user_id }}"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
- "{{ couchpotato_movies_directory }}:/movies:rw"
|
||||
- "{{ couchpotato_torrents_directory }}:/torrents:rw"
|
||||
ports:
|
||||
- "5050:5050"
|
||||
- "{{ couchpotato_port }}:5050"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ couchpotato_user_id }}"
|
||||
|
|
|
@ -6,9 +6,16 @@
|
|||
register: result
|
||||
until: result is succeeded
|
||||
|
||||
- name: 'Install docker-py'
|
||||
- name: 'Remove docker-py python module'
|
||||
pip:
|
||||
name: docker-py
|
||||
state: absent
|
||||
register: result
|
||||
until: result is succeeded
|
||||
|
||||
- name: 'Install docker python module'
|
||||
pip:
|
||||
name: docker
|
||||
state: present
|
||||
register: result
|
||||
until: result is succeeded
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
image: linuxserver/duplicati
|
||||
pull: true
|
||||
ports:
|
||||
- "8200:8200"
|
||||
- "{{ duplicati_port }}:8200"
|
||||
volumes:
|
||||
- "{{ duplicati_data_directory }}:/config:rw"
|
||||
- "{{ samba_shares_root }}:/source/shares:ro"
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
- "{{ emby_movies_directory }}:/movies:{{ emby_movies_permissions }}"
|
||||
- "{{ emby_tv_directory }}:/tv:{{ emby_tv_permissions }}"
|
||||
ports:
|
||||
- "8096:8096" # HTTP port
|
||||
- "8920:8920" # HTTPS port
|
||||
- "{{ emby_port_http }}:8096"
|
||||
- "{{ emby_port_https }}:8920"
|
||||
network_mode: host
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
links:
|
||||
- firefly-mysql:db
|
||||
ports:
|
||||
- "8066:80"
|
||||
- "{{ firefly_port }}:80"
|
||||
env:
|
||||
APP_ENV: "local"
|
||||
APP_KEY: "S0m3R@nd0mString0f32Ch@rsEx@ct1y"
|
||||
|
@ -53,4 +53,4 @@
|
|||
traefik.backend: "firefly"
|
||||
traefik.frontend.rule: "Host:firefly.{{ ansible_nas_domain }}"
|
||||
traefik.enable: "{{ firefly_available_externally }}"
|
||||
traefik.port: "8080"
|
||||
traefik.port: "80"
|
|
@ -15,7 +15,7 @@
|
|||
- "{{ get_iplayer_config_directory }}:/root/.get_iplayer:rw"
|
||||
- "{{ get_iplayer_download_directory }}:/root/output:rw"
|
||||
ports:
|
||||
- "8182:8181"
|
||||
- "{{ get_iplayer_port }}:8181"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
|
||||
|
|
|
@ -51,8 +51,8 @@
|
|||
volumes:
|
||||
- "{{ gitea_data_directory }}/gitea:/data:rw"
|
||||
ports:
|
||||
- "3001:3000"
|
||||
- "222:22"
|
||||
- "{{ gitea_port_http }}:3000"
|
||||
- "{{ gitea_port_ssh }}:22"
|
||||
env:
|
||||
DB_TYPE: "mysql"
|
||||
DB_HOST: "db:3306"
|
||||
|
@ -61,8 +61,8 @@
|
|||
DB_PASSWD: "gitea"
|
||||
RUN_MODE: "prod"
|
||||
SSH_DOMAIN: "{{ ansible_nas_hostname }}"
|
||||
SSH_PORT: "222"
|
||||
ROOT_URL: "http://{{ ansible_nas_hostname }}:3001/"
|
||||
SSH_PORT: "{{ gitea_port_ssh }}"
|
||||
ROOT_URL: "http://{{ ansible_nas_hostname }}:{{ gitea_port_http }}/"
|
||||
USER_UID: "1309"
|
||||
USER_GID: "1309"
|
||||
restart_policy: unless-stopped
|
||||
|
|
|
@ -4,8 +4,8 @@
|
|||
image: nicolargo/glances
|
||||
pull: true
|
||||
ports:
|
||||
- "61208:61208"
|
||||
- "61209:61209"
|
||||
- "{{ glances_port_one }}:61208"
|
||||
- "{{ glances_port_two }}:61209"
|
||||
volumes:
|
||||
#- "/glances.conf:/glances/conf/glances.conf"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
|
|
|
@ -4,51 +4,39 @@
|
|||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ guacamole_data_directory }}/mysql"
|
||||
- "{{ guacamole_data_directory }}/config"
|
||||
|
||||
- name: Copy Guacamole database init script
|
||||
copy:
|
||||
src: files/guacamole/initdb-0.9.14.sql
|
||||
dest: "{{ guacamole_data_directory }}/initdb-0.9.14.sql"
|
||||
|
||||
- name: Guacamole Mysql Docker Container
|
||||
- name: Remove Old Guacamole Mysql Docker Container
|
||||
docker_container:
|
||||
name: guacamole-mysql
|
||||
image: mysql:5.7
|
||||
pull: true
|
||||
volumes:
|
||||
- "{{ guacamole_data_directory }}/mysql:/var/lib/mysql:rw"
|
||||
- "{{ guacamole_data_directory }}/initdb-0.9.14.sql:/docker-entrypoint-initdb.d/initdb-0.9.14.sql:ro"
|
||||
env:
|
||||
MYSQL_DATABASE: "guacamole"
|
||||
MYSQL_USER: "guacamole-user"
|
||||
MYSQL_PASSWORD: "guacamole-pass"
|
||||
MYSQL_ROOT_PASSWORD: "guacamole-secret"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
state: absent
|
||||
keep_volumes: true
|
||||
|
||||
- name: Guacamole guacd Container
|
||||
- name: Remove Old Guacamole guacd Docker Container
|
||||
docker_container:
|
||||
name: guacamole-guacd
|
||||
image: "{{ guacamole_guacd_docker_image }}"
|
||||
pull: true
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
state: absent
|
||||
keep_volumes: true
|
||||
|
||||
- name: Guacamole guacamole Container
|
||||
- name: Remove old Guacamole directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "{{ guacamole_data_directory }}/mysql"
|
||||
|
||||
# docker run -v /home/david/.guac:/config:rw -p 8080:8080 oznu/guacamole
|
||||
|
||||
|
||||
- name: Guacamole Container
|
||||
docker_container:
|
||||
name: guacamole
|
||||
image: "{{ guacamole_docker_image }}"
|
||||
image: "oznu/guacamole"
|
||||
pull: true
|
||||
links:
|
||||
- guacamole-mysql:mysql
|
||||
- guacamole-guacd:guacd
|
||||
volumes:
|
||||
- "{{ guacamole_data_directory }}/config:/config:rw"
|
||||
ports:
|
||||
- "8090:8080"
|
||||
env:
|
||||
MYSQL_DATABASE: "guacamole"
|
||||
MYSQL_USER: "guacamole-user"
|
||||
MYSQL_PASSWORD: "guacamole-pass"
|
||||
- "{{ guacamole_port }}:8080"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
@ -56,3 +44,9 @@
|
|||
traefik.frontend.rule: "Host:guacamole.{{ ansible_nas_domain }}"
|
||||
traefik.enable: "{{ guacamole_available_externally }}"
|
||||
traefik.port: "8080"
|
||||
|
||||
- name: Restart Guacamole Container
|
||||
docker_container:
|
||||
name: guacamole
|
||||
image: "oznu/guacamole"
|
||||
restart: true
|
|
@ -36,8 +36,8 @@
|
|||
PGID: "1310"
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
ports:
|
||||
- "10080:80"
|
||||
- "10443:443"
|
||||
- "{{ heimdall_port_http }}:80"
|
||||
- "{{ heimdall_port_https }}:443"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
|
|
@ -19,7 +19,7 @@
|
|||
PGID: "{{ homebridge_group_id }}"
|
||||
PUID: "{{ homebridge_user_id }}"
|
||||
HOMEBRIDGE_CONFIG_UI: "1"
|
||||
HOMEBRIDGE_CONFIG_UI_PORT: "8087"
|
||||
HOMEBRIDGE_CONFIG_UI_PORT: "{{ homebridge_port }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
|
|
@ -13,9 +13,9 @@
|
|||
volumes:
|
||||
- "{{ jackett_data_directory }}:/config:rw"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "{{ torrents_root }}:/downloads"
|
||||
- "{{ jackett_torrents_root }}:/downloads"
|
||||
ports:
|
||||
- "9117:9117"
|
||||
- "{{ jackett_port }}:9117"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
restart_policy: unless-stopped
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
- "{{ jellyfin_movies_directory }}:/movies:{{ jellyfin_movies_permissions }}"
|
||||
- "{{ jellyfin_tv_directory }}:/tv:{{ jellyfin_tv_permissions }}"
|
||||
ports:
|
||||
- "8896:8096" # HTTP port
|
||||
- "8928:8920" # HTTPS port
|
||||
- "{{ jellyfin_port_http }}:8096"
|
||||
- "{{ jellyfin_port_https }}:8920"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ jellyfin_user_id }}"
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
volumes:
|
||||
- "{{ joomla_data_directory }}:/var/www/html:rw"
|
||||
ports:
|
||||
- "8181:80"
|
||||
- "{{ joomla_port }}:80"
|
||||
links:
|
||||
- "joomla_mysql:mysql"
|
||||
env:
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
- "{{ lidarr_downloads_directory }}:/downloads:rw"
|
||||
- "{{ lidarr_data_directory }}:/config:rw"
|
||||
ports:
|
||||
- "8686:8686"
|
||||
- "{{ lidarr_port }}:8686"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ lidarr_user_id }}"
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
- "{{ minidlna_media_directory1 }}:/media1:rw"
|
||||
- "{{ minidlna_media_directory2 }}:/media2:rw"
|
||||
ports:
|
||||
- "8201:8201"
|
||||
- "{{ minidlna_port }}:8201"
|
||||
env:
|
||||
MINIDLNA_MEDIA_DIR1: "/media1"
|
||||
MINIDLNA_MEDIA_DIR2: "/media2"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
links:
|
||||
- miniflux-postgres:db
|
||||
ports:
|
||||
- "8070:8080"
|
||||
- "{{ miniflux_port }}:8080"
|
||||
env:
|
||||
DATABASE_URL: "postgres://miniflux:supersecure@db/miniflux?sslmode=disable"
|
||||
RUN_MIGRATIONS: "1"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
- "{{ mosquitto_data_directory }}/data:/mosquitto/data:rw"
|
||||
- "{{ mosquitto_data_directory }}/log:/mosquitto/log:rw"
|
||||
ports:
|
||||
- "1883:1883"
|
||||
- "9001:9001"
|
||||
- "{{ mosquitto_port_a }}:1883"
|
||||
- "{{ mosquitto_port_b }}:9001"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
state: started
|
||||
pull: true
|
||||
ports:
|
||||
- "19999:19999"
|
||||
- "{{ netdata_port }}:19999"
|
||||
volumes:
|
||||
- "/proc:/host/proc:ro"
|
||||
- "/sys:/host/sys:ro"
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
volumes:
|
||||
- "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw"
|
||||
ports:
|
||||
- "8080:80"
|
||||
- "{{ nextcloud_port }}:80"
|
||||
env:
|
||||
MYSQL_HOST: "mysql"
|
||||
MYSQL_DATABASE: "nextcloud"
|
||||
|
|
|
@ -15,8 +15,8 @@
|
|||
image: jwilder/nginx-proxy
|
||||
pull: true
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
- "{{ nginx_port_http }}:80"
|
||||
- "{{ nginx_port_https }}:443"
|
||||
volumes:
|
||||
- "{{ nginx_data_directory }}/certs:/etc/nginx/certs:ro"
|
||||
- "{{ nginx_data_directory }}/vhost.d:/etc/nginx/vhost.d:rw"
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
- "{{ nzbget_download_directory }}:/downloads:rw"
|
||||
- "{{ nzbget_data_directory }}:/config:rw"
|
||||
ports:
|
||||
- "6789:6789"
|
||||
- "{{ nzbget_port }}:6789"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ nzbget_user_id }}"
|
||||
|
|
|
@ -40,12 +40,12 @@
|
|||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
env:
|
||||
OPENHAB_HTTP_PORT: "7777"
|
||||
OPENHAB_HTTPS_PORT: "7778"
|
||||
OPENHAB_HTTP_PORT: "{{ openhab_port_http }}"
|
||||
OPENHAB_HTTPS_PORT: "{{ openhab_port_https }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
traefik.backend: "openhab"
|
||||
traefik.frontend.rule: "Host:openhab.{{ ansible_nas_domain }}"
|
||||
traefik.enable: "{{ openhab_available_externally }}"
|
||||
traefik.port: "80"
|
||||
traefik.port: "7777"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
ports:
|
||||
- "9000:9000"
|
||||
- "{{ portainer_port }}:9000"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
@ -24,4 +24,3 @@
|
|||
traefik.frontend.rule: "Host:portainer.{{ ansible_nas_domain }}"
|
||||
traefik.enable: "{{ portainer_available_externally }}"
|
||||
traefik.port: "9000"
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
- "{{ pyload_config_directory }}:/opt/pyload/pyload-config:rw"
|
||||
- "{{ pyload_download_directory }}:/opt/pyload/Downloads:rw"
|
||||
ports:
|
||||
- "8000:8000"
|
||||
- "{{ pyload_port }}:8000"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
UID: "{{ pyload_user_id }}"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
- "{{ radarr_download_directory }}/complete:/downloads:rw"
|
||||
- "{{ radarr_data_directory }}:/config:rw"
|
||||
ports:
|
||||
- "7878:7878"
|
||||
- "{{ radarr_port }}:7878"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ radarr_user_id }}"
|
||||
|
|
44
tasks/serposcope.yml
Normal file
44
tasks/serposcope.yml
Normal file
|
@ -0,0 +1,44 @@
|
|||
- name: Create Serposcope Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ serposcope_data_directory }}/mysql"
|
||||
|
||||
- name: Create MySQL container for Serposcope
|
||||
docker_container:
|
||||
name: serposcope-mysql
|
||||
image: mysql:5.7
|
||||
pull: true
|
||||
volumes:
|
||||
- "{{ serposcope_data_directory }}/mysql:/var/lib/mysql:rw"
|
||||
env:
|
||||
MYSQL_DATABASE: "serposcope"
|
||||
MYSQL_USER: "serposcope"
|
||||
MYSQL_PASSWORD: "serposcope"
|
||||
MYSQL_ROOT_PASSWORD: "serposcope"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
|
||||
- name: Wait for MySQL to init
|
||||
pause:
|
||||
seconds: 30
|
||||
|
||||
- name: Create Serposcope container
|
||||
docker_container:
|
||||
name: serposcope
|
||||
image: davestephens/serposcope:2.11.0
|
||||
pull: true
|
||||
links:
|
||||
- serposcope-mysql:db
|
||||
ports:
|
||||
- "{{ serposcope_port }}:7134"
|
||||
env:
|
||||
SERPOSCOPE_DB_URL: 'jdbc:mysql://db:3306/serposcope?user=serposcope\&password=serposcope\&allowMultiQueries=true'
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
traefik.backend: "serposcope"
|
||||
traefik.frontend.rule: "Host:serposcope.{{ ansible_nas_domain }}"
|
||||
traefik.enable: "{{ serposcope_available_externally }}"
|
||||
traefik.port: "7134"
|
|
@ -23,7 +23,7 @@
|
|||
- "{{ sickchill_downloads_directory }}:/downloads:rw"
|
||||
- "{{ sickchill_tv_directory }}:/tv:rw"
|
||||
ports:
|
||||
- "8081:8081"
|
||||
- "{{ sickchill_port }}:8081"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ sickchill_user_id }}"
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
- "{{ sonarr_download_directory }}/complete:/downloads:rw"
|
||||
- "{{ sonarr_data_directory }}:/config:rw"
|
||||
ports:
|
||||
- "8989:8989"
|
||||
- "{{ sonarr_port }}:8989"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ sonarr_user_id }}"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
volumes:
|
||||
- "{{ influxdb_data_directory }}:/var/lib/influxdb:rw"
|
||||
ports:
|
||||
- "8086:8086"
|
||||
- "{{ grafana_influxdb_port }}:8086"
|
||||
restart_policy: unless-stopped
|
||||
env:
|
||||
INFLUXDB_LOGGING_LEVEL: "error"
|
||||
|
@ -64,7 +64,7 @@
|
|||
- "{{ grafana_data_directory }}/data:/var/lib/grafana:rw"
|
||||
- "{{ grafana_data_directory }}/config/provisioning:/etc/grafana/provisioning:ro"
|
||||
ports:
|
||||
- "3000:3000"
|
||||
- "{{ grafana_port }}:3000"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
labels:
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
volumes:
|
||||
- "{{ tautulli_config_directory }}:/config:rw"
|
||||
- "{{ plex_logs }}:/logs:ro"
|
||||
network_mode: "host"
|
||||
ports:
|
||||
- "{{ tautulli_port }}:8181"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ tautulli_user_id }}"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
image: thelounge/thelounge:latest
|
||||
pull: true
|
||||
ports:
|
||||
- "113:9001"
|
||||
- "9000:9000"
|
||||
- "{{ thelounge_port_one }}:9001"
|
||||
- "{{ thelounge_port_two }}:9000"
|
||||
volumes:
|
||||
- "{{ thelounge_data_directory }}:/var/opt/thelounge"
|
||||
- "/var/run/dbus:/var/run/dbus"
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
- "{{ transmission_download_directory }}:/downloads:rw"
|
||||
- "{{ transmission_watch_directory }}:/watch:rw"
|
||||
ports:
|
||||
- "9092:9091"
|
||||
- "51414:51413"
|
||||
- "{{ transmission_webui_port }}:9091"
|
||||
- "{{ transmission_external_port }}:51413"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PUID: "{{ transmission_user_id }}"
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
- "{{ transmission_watch_directory }}:/storage/watch:rw"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
ports:
|
||||
- "9091:9091"
|
||||
- "51413:51413"
|
||||
- "{{ transmission_openvpn_webui_port }}:9091"
|
||||
- "{{ transmission_openvpn_external_port }}:51413"
|
||||
env:
|
||||
TRANSMISSION_HOME: "/config"
|
||||
TRANSMISSION_DOWNLOAD_DIR: "/storage/downloads/complete"
|
||||
|
|
|
@ -22,8 +22,8 @@
|
|||
PGID: "{{ ubooquity_group_id|quote }}"
|
||||
MAXMEM: "1024"
|
||||
ports:
|
||||
- "2202:2202"
|
||||
- "2203:2203"
|
||||
- "{{ ubooquity_port_webui }}:2202"
|
||||
- "{{ ubooquity_port_admin }}:2203"
|
||||
restart_policy: unless-stopped
|
||||
labels:
|
||||
traefik.backend: "ubooquity"
|
||||
|
|
30
tasks/virtual_desktop.yml
Normal file
30
tasks/virtual_desktop.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
- name: Create Virtual Desktop Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ vd_data_directory }}"
|
||||
- "{{ vd_data_directory }}/home"
|
||||
|
||||
- name: Create users file
|
||||
template:
|
||||
src: "templates/virtual_desktop/users.txt.j2"
|
||||
dest: "{{ vd_data_directory }}/users.txt"
|
||||
|
||||
- name: Virtual Desktop Container
|
||||
docker_container:
|
||||
name: virtual_desktop
|
||||
image: "{{ vd_docker_image }}"
|
||||
pull: true
|
||||
volumes:
|
||||
- "{{ vd_data_directory }}/users.txt:/root/createusers.txt:ro"
|
||||
- "{{ vd_data_directory }}/home:/home:rw"
|
||||
- "{{ samba_shares_root }}:/samba:rw"
|
||||
- "{{ docker_home }}:/docker:rw"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
ports:
|
||||
- "{{ vd_rdp_port }}:3389"
|
||||
privileged: true
|
||||
restart_policy: unless-stopped
|
||||
memory: 2g
|
|
@ -15,7 +15,7 @@
|
|||
- "{{ wallabag_data_directory }}/data:/var/www/wallabag/data:rw"
|
||||
- "{{ wallabag_data_directory }}/images:/var/www/wallabag/web/assets/images:rw"
|
||||
ports:
|
||||
- "7780:80"
|
||||
- "{{ wallabag_port }}:80"
|
||||
env:
|
||||
SYMFONY__ENV__DOMAIN_NAME: "https://wallabag.{{ ansible_nas_domain }}"
|
||||
restart_policy: unless-stopped
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
- "{{ znc_data_directory }}:/znc-data:rw"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
ports:
|
||||
- "6677:6677"
|
||||
- "{{ znc_port }}:6677"
|
||||
env:
|
||||
PUID: "{{ znc_user_id }}"
|
||||
PGID: "{{ znc_group_id }}"
|
||||
|
|
|
@ -30,16 +30,16 @@ defaultEntryPoints = ["http", "https"]
|
|||
|
||||
[entryPoints]
|
||||
[entryPoints.http]
|
||||
address = ":80"
|
||||
address = ":{{ traefik_port_http }}"
|
||||
[entryPoints.http.redirect]
|
||||
entryPoint = "https"
|
||||
|
||||
[entryPoints.https]
|
||||
address = ":443"
|
||||
address = ":{{ traefik_port_https }}"
|
||||
[entryPoints.https.tls]
|
||||
|
||||
[entryPoints.traefik]
|
||||
address = ":8083"
|
||||
address = ":{{ traefik_port_ui }}"
|
||||
|
||||
################################################################
|
||||
# Traefik logs configuration
|
||||
|
@ -208,6 +208,7 @@ onDemand = false # create certificate when container is created
|
|||
"portainer.{{ ansible_nas_domain }}",
|
||||
"pyload.{{ ansible_nas_domain }}",
|
||||
"radarr.{{ ansible_nas_domain }}",
|
||||
"serposcope.{{ ansible_nas_domain }}",
|
||||
"sickchill.{{ ansible_nas_domain }}",
|
||||
"sonarr.{{ ansible_nas_domain }}",
|
||||
"tautulli.{{ ansible_nas_domain }}",
|
||||
|
|
1
templates/virtual_desktop/users.txt.j2
Normal file
1
templates/virtual_desktop/users.txt.j2
Normal file
|
@ -0,0 +1 @@
|
|||
{% for user in vd_users %}{{ user.username }}:{{ user.password }}:{{ user.sudo }}{% endfor %}
|
Loading…
Reference in a new issue