277 lines
10 KiB
YAML
277 lines
10 KiB
YAML
---
|
|
# @var internal_domain: lab.megabyte.space # Default domain to add internal apps to
|
|
internal_domain: lab.megabyte.space
|
|
|
|
# @var public_domain: megabyte.space # Domain to add public apps to
|
|
public_domain: megabyte.space
|
|
|
|
# @var healthcheck_endpoint: 'health.{{ public_domain }}' # FQDN of the [Healthchecks](https://github.com/healthchecks/healthchecks) endpoint
|
|
healthcheck_endpoint: 'health.{{ public_domain }}'
|
|
|
|
# @var theme_park_theme: aquamarine # Default CSS theme to use for select web-apps (see https://github.com/gilbN/theme.park)
|
|
theme_park_theme: aquamarine
|
|
|
|
# @var apps: [] # Contains lists of web-apps assigned to specific hosts. **Any app installed on your network should be categorized
|
|
# under its host.** You can see all the supported web-apps in the following places:
|
|
#
|
|
# 1. In the `roles/virtualization/swarm/templates` folder you will see Docker Swarm configurations. If your desired app is in a configuration
|
|
# named `portainer.docker-stack.yml` then you can install it to a host named `nuc` by placing `portainer` under the `nuc` key of `apps`.
|
|
# 2. In the `group_vars/all/helm.yml` file, you will find the `helm_charts` variable. Each key in the `helm_charts` variable is a key
|
|
# that you can add to a specific host in the `apps` variable.
|
|
apps:
|
|
nuc:
|
|
- cockpit
|
|
- maas
|
|
- portainer
|
|
raspiboot:
|
|
- netboot
|
|
- netbootassets
|
|
statuscheck:
|
|
- healthchecks
|
|
- statping
|
|
workstation:
|
|
- cups
|
|
# If you want HTPC apps, make sure to enable all of these at the same time. They are added with a single Docker configuration
|
|
# and configured to tunnel all traffic out via WireGuard.
|
|
# - bazarr
|
|
# - cups
|
|
# - heimdall
|
|
# - jackett
|
|
# - kodi
|
|
# - lidarr
|
|
# - nzbget
|
|
# - ombi
|
|
# - organizr
|
|
# - plex
|
|
# - radarr
|
|
# - sonarr
|
|
# - tautulli
|
|
# - transmission
|
|
|
|
# @var domains: {} # A map of configurations used when provisioning web-apps that are defined in the `apps` variable above. The
|
|
# variables are used to configure NGINX, configure CloudFlare DNS records, and populate the /etc/hosts files of peers on the network.
|
|
# Examples along with descriptions of the options is provided below. **Any new hosts (that you would find in the `host_vars` folder)
|
|
# need to be added to this configuration with a minimum of `hosts`, `ip_address` and `regexp` defined.
|
|
domains:
|
|
bazarr:
|
|
hosts: 'bazarr bazarr.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26671
|
|
regexp: '# Bazarr'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/bazarr/{{ theme_park_theme }}.css'
|
|
cockpit:
|
|
hosts: 'cockpit cockpit.{{ internal_domain }}'
|
|
ip_address: '{{ controller_ip_address }}'
|
|
port: 9090
|
|
proxy_file: proxy-ws.conf
|
|
regexp: '# Cockpit'
|
|
transport: https
|
|
cups:
|
|
hosts: 'cups printers printers.{{ internal_domain }}'
|
|
ip_address: '{{ workstation_ip_address }}'
|
|
port: 631
|
|
proxy_file: proxy-cups.conf
|
|
regexp: '# CUPS'
|
|
transport: https
|
|
grafana:
|
|
hosts: 'grafana grafana.{{ internal_domain }}'
|
|
ip_address: '{{ cluster_ip_address }}'
|
|
regexp: '# Grafana'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/grafana/{{ theme_park_theme }}.css'
|
|
healthchecks:
|
|
dns_record: health
|
|
dns_zone: '{{ internal_domain }}'
|
|
hosts: 'healthchecks health health.{{ public_domain }}'
|
|
ip_address: '{{ status_ip_address }}'
|
|
port: 26798
|
|
regexp: '# Healthchecks'
|
|
heimdall:
|
|
hosts: 'heimdall home home.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 29915
|
|
regexp: '# Heimdall'
|
|
jackett:
|
|
hosts: 'jackett jackett.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26673
|
|
regexp: '# Jackett'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/jackett/{{ theme_park_theme }}.css'
|
|
kodi:
|
|
hosts: 'kodi kodi.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26674
|
|
regexp: '# Kodi'
|
|
lidarr:
|
|
hosts: 'lidarr lidarr.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26676
|
|
regexp: '# Lidarr'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/lidarr/{{ theme_park_theme }}.css'
|
|
localhost:
|
|
hosts: localhost
|
|
ip_address: 127.0.0.1
|
|
regexp: '# Localhost'
|
|
maas:
|
|
firewall: true
|
|
hosts: 'maas maas.{{ internal_domain }}'
|
|
ip_address: '{{ controller_ip_address }}'
|
|
port: 5240
|
|
regexp: '# MAAS'
|
|
malaptop:
|
|
hostname: MALaptop
|
|
hosts: 'malaptop laptop.{{ internal_domain }}'
|
|
ip_address: '{{ malaptop_ip_address }}'
|
|
regexp: '# Laptop'
|
|
netboot:
|
|
hosts: 'netboot netboot.{{ internal_domain }}'
|
|
ip_address: '{{ netboot_ip_address }}'
|
|
port: 3000
|
|
regexp: '# NetbootXYZ'
|
|
netbootassets:
|
|
hosts: 'netbootassets netbootassets.{{ internal_domain }}'
|
|
ip_address: '{{ netboot_ip_address }}'
|
|
port: 80
|
|
regexp: '# Assets4XYZ'
|
|
nuc:
|
|
hostname: NUC
|
|
hosts: 'nuc nuc.{{ internal_domain }}'
|
|
ip_address: '{{ controller_ip_address }}'
|
|
regexp: '# NUC'
|
|
nzbget:
|
|
hosts: 'nzbget nzbget.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26678
|
|
regexp: '# NZBGet'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/nzbget/{{ theme_park_theme }}.css'
|
|
ombi:
|
|
hosts: 'ombi ombi.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26679
|
|
regexp: '# Ombi'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/ombi/{{ theme_park_theme }}.css'
|
|
organizr:
|
|
hosts: 'organizr organizr.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26680
|
|
regexp: '# Organizr'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/organizr/{{ theme_park_theme }}.css'
|
|
pfsense:
|
|
hosts: 'pfsense pfsense.{{ internal_domain }}'
|
|
hostname: pfSense
|
|
ip_address: '{{ firewall_ip_address }}'
|
|
regexp: '# pfSense'
|
|
plex:
|
|
hosts: 'plex plex.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 32400
|
|
regexp: '# Plex'
|
|
transport: https
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/plex/{{ theme_park_theme }}.css'
|
|
portainer:
|
|
hosts: 'portainer portainer.{{ internal_domain }}'
|
|
ip_address: '{{ controller_ip_address }}'
|
|
port: 26685
|
|
regexp: '# Portainer'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/portainer/{{ theme_park_theme }}.css'
|
|
radarr:
|
|
hosts: 'radarr radarr.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26681
|
|
regexp: '# Radarr'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/radarr/{{ theme_park_theme }}.css'
|
|
raspiboot:
|
|
hostname: RaspiBoot
|
|
hosts: 'boot boot.{{ internal_domain }}'
|
|
ip_address: '{{ netboot_ip_address }}'
|
|
regexp: '# RaspiBoot'
|
|
seconion:
|
|
hosts: 'seconion seconion.{{ internal_domain }}'
|
|
ip_address: '{{ seconion_ip_address }}'
|
|
regexp: '# Security Onion'
|
|
sonarr:
|
|
hosts: 'sonarr sonarr.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26682
|
|
regexp: '# Sonarr'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/sonarr/{{ theme_park_theme }}.css'
|
|
statping:
|
|
dns_record: status
|
|
dns_zone: '{{ public_domain }}'
|
|
hosts: 'statping status status.{{ public_domain }}'
|
|
ip_address: '{{ status_ip_address }}'
|
|
port: 26799
|
|
regexp: '# StatPing'
|
|
statuscheck:
|
|
dns_record: statuscheck
|
|
dns_zone: '{{ public_domain }}'
|
|
hostname: StatusCheck
|
|
hosts: 'statuscheck statuscheck.{{ public_domain }}'
|
|
ip_address: '{{ status_ip_address }}'
|
|
regexp: '# Status'
|
|
tautulli:
|
|
hosts: 'tautulli tautulli.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26683
|
|
regexp: '# Tautulli'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/tautulli/{{ theme_park_theme }}.css'
|
|
transmission:
|
|
hosts: 'transmission transmission.{{ internal_domain }}'
|
|
ip_address: '{{ htpc_ip_address }}'
|
|
port: 26684
|
|
regexp: '# Transmission'
|
|
theme_url: 'https://gilbn.github.io/theme.park/CSS/themes/transmission/{{ theme_park_theme }}.css'
|
|
unifihome:
|
|
auth: false
|
|
hosts: 'unifi.home unifi.home.{{ public_domain }}'
|
|
ip_address: '{{ upstream_ip_address }}'
|
|
port: 443
|
|
regexp: '# UniFi Home'
|
|
transport: https
|
|
unifilab:
|
|
auth: false
|
|
hosts: 'unifi.lab unifi.{{ internal_domain }}'
|
|
ip_address: '{{ firewall_ip_address }}'
|
|
port: 8443
|
|
regexp: '# UniFi Lab'
|
|
transport: https
|
|
workstation:
|
|
hostname: Workstation
|
|
hosts: 'workstation workstation.{{ internal_domain }}'
|
|
ip_address: '{{ workstation_ip_address }}'
|
|
regexp: '# Workstation'
|
|
# @example #
|
|
# domains:
|
|
# cockpit:
|
|
# # `auth` - Whether or not to guard the application with the SSO provider. This is `true` by default but needs to be set to
|
|
# # false in some cases like when hosts need to be accessed by automated systems.
|
|
# auth: true
|
|
# # `hosts` - The domains you would like the app accessible by in browsers across your network.
|
|
# hosts: 'cockpit cockpit.{{ internal_domain }}'
|
|
# # `ip_address` - The IP address that the app is accessible on.
|
|
# ip_address: '{{ controller_ip_address }}'
|
|
# # `port` - The port on the localhost where the application is accessible
|
|
# port: 2999
|
|
# # `proxy_file` - Used when an app needs special NGINX proxy pass settings, like in the case of web sockets.
|
|
# proxy_file: proxy-ws.conf
|
|
# # `regexp` - A unique string used to identify lines in /etc/hosts that need to get updated when IP addresses change.
|
|
# regexp: '# Cockpit'
|
|
# # `transport` - Whenever possible, this should be set to `https`. When it is set to `https`, the NGINX proxy pass is made over HTTPS.
|
|
# transport: https
|
|
# statping:
|
|
# # If CloudFlare is configured, the `dns_record` will be used to create a `status` CNAME on the `public_domain`, which is
|
|
# # `megabyte.space` in this case.
|
|
# dns_record: status
|
|
# # The `dns_zone` is the CloudFlare DNS zone. This must be the root domain of the record you want to be automatically updated.
|
|
# dns_zone: '{{ public_domain }}'
|
|
# hosts: 'statping status status.{{ public_domain }}'
|
|
# ip_address: '{{ status_ip_address }}'
|
|
# regexp: '# StatPing'
|
|
# raspiboot:
|
|
# # The `hostname` must be assigned to the desired hostname for every target instance. In order to add a host to the `apps`
|
|
# # variable, it needs to be defined with the fields in this example, at the minimum (i.e. `hostname`, `hosts`, `ip_address`,
|
|
# # and `regexp`).
|
|
# hostname: RaspiBoot
|
|
# hosts: 'boot boot.{{ internal_domain }}'
|
|
# ip_address: '{{ netboot_ip_address }}'
|
|
# regexp: '# RaspiBoot'
|
|
# @end
|