mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-13 03:58:47 +00:00
Merge branch 'new_format' of https://github.com/anarion80/ansible-nas into anarion80-new_format_2
This commit is contained in:
commit
6b697c7756
444 changed files with 7494 additions and 2342 deletions
66
nas.yml
66
nas.yml
|
@ -123,12 +123,10 @@
|
||||||
- role: freshrss
|
- role: freshrss
|
||||||
tags:
|
tags:
|
||||||
- freshrss
|
- freshrss
|
||||||
when: (freshrss_enabled | default(False))
|
|
||||||
|
|
||||||
- role: get_iplayer
|
- role: get_iplayer
|
||||||
tags:
|
tags:
|
||||||
- get_iplayer
|
- get_iplayer
|
||||||
when: (get_iplayer_enabled | default(False))
|
|
||||||
|
|
||||||
- role: gitea
|
- role: gitea
|
||||||
tags:
|
tags:
|
||||||
|
@ -137,32 +135,26 @@
|
||||||
- role: gitlab
|
- role: gitlab
|
||||||
tags:
|
tags:
|
||||||
- gitlab
|
- gitlab
|
||||||
when: (gitlab_enabled | default(False))
|
|
||||||
|
|
||||||
- role: glances
|
- role: glances
|
||||||
tags:
|
tags:
|
||||||
- glances
|
- glances
|
||||||
when: (glances_enabled | default(False))
|
|
||||||
|
|
||||||
- role: gotify
|
- role: gotify
|
||||||
tags:
|
tags:
|
||||||
- gotify
|
- gotify
|
||||||
when: (gotify_enabled | default(False))
|
|
||||||
|
|
||||||
- role: guacamole
|
- role: guacamole
|
||||||
tags:
|
tags:
|
||||||
- guacamole
|
- guacamole
|
||||||
when: (guacamole_enabled | default(False))
|
|
||||||
|
|
||||||
- role: healthchecks.io
|
- role: healthchecks.io
|
||||||
tags:
|
tags:
|
||||||
- healthchecks.io
|
- healthchecks.io
|
||||||
when: (healthchecks_enabled | default(False))
|
|
||||||
|
|
||||||
- role: heimdall
|
- role: heimdall
|
||||||
tags:
|
tags:
|
||||||
- heimdall
|
- heimdall
|
||||||
when: (heimdall_enabled | default(False))
|
|
||||||
|
|
||||||
- role: hello_world
|
- role: hello_world
|
||||||
tags:
|
tags:
|
||||||
|
@ -171,67 +163,54 @@
|
||||||
- role: homeassistant
|
- role: homeassistant
|
||||||
tags:
|
tags:
|
||||||
- homeassistant
|
- homeassistant
|
||||||
when: (homeassistant_enabled | default(False))
|
|
||||||
|
|
||||||
- role: homebridge
|
- role: homebridge
|
||||||
tags:
|
tags:
|
||||||
- homebridge
|
- homebridge
|
||||||
when: (homebridge_enabled | default(False))
|
|
||||||
|
|
||||||
- role: jackett
|
- role: jackett
|
||||||
tags:
|
tags:
|
||||||
- jackett
|
- jackett
|
||||||
when: (jackett_enabled | default(False))
|
|
||||||
|
|
||||||
- role: jellyfin
|
- role: jellyfin
|
||||||
tags:
|
tags:
|
||||||
- jellyfin
|
- jellyfin
|
||||||
when: (jellyfin_enabled | default(False))
|
|
||||||
|
|
||||||
- role: joomla
|
- role: joomla
|
||||||
tags:
|
tags:
|
||||||
- joomla
|
- joomla
|
||||||
when: (joomla_enabled | default(False))
|
|
||||||
|
|
||||||
- role: komga
|
- role: komga
|
||||||
tags:
|
tags:
|
||||||
- komga
|
- komga
|
||||||
when: (komga_enabled | default(False))
|
|
||||||
|
|
||||||
- role: krusader
|
- role: krusader
|
||||||
tags:
|
tags:
|
||||||
- krusader
|
- krusader
|
||||||
when: (krusader_enabled | default(False))
|
|
||||||
|
|
||||||
- role: lidarr
|
- role: lidarr
|
||||||
tags:
|
tags:
|
||||||
- lidarr
|
- lidarr
|
||||||
when: (lidarr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: mealie
|
- role: mealie
|
||||||
tags:
|
tags:
|
||||||
- mealie
|
- mealie
|
||||||
when: (mealie_enabled | default(False))
|
|
||||||
|
|
||||||
- role: minecraft-server
|
- role: minecraft-server
|
||||||
tags:
|
tags:
|
||||||
- minecraft-server
|
- minecraft-server
|
||||||
when: (minecraft_server_enabled | default(False))
|
|
||||||
|
|
||||||
- role: minidlna
|
- role: minidlna
|
||||||
tags:
|
tags:
|
||||||
- minidlna
|
- minidlna
|
||||||
when: (minidlna_enabled | default(False))
|
|
||||||
|
|
||||||
- role: miniflux
|
- role: miniflux
|
||||||
tags:
|
tags:
|
||||||
- miniflux
|
- miniflux
|
||||||
when: (miniflux_enabled | default(False))
|
|
||||||
|
|
||||||
- role: mosquitto
|
- role: mosquitto
|
||||||
tags:
|
tags:
|
||||||
- mosquitto
|
- mosquitto
|
||||||
when: (mosquitto_enabled | default(False))
|
|
||||||
|
|
||||||
- role: mumble
|
- role: mumble
|
||||||
tags:
|
tags:
|
||||||
|
@ -240,37 +219,30 @@
|
||||||
- role: mylar
|
- role: mylar
|
||||||
tags:
|
tags:
|
||||||
- mylar
|
- mylar
|
||||||
when: (mylar_enabled | default(False))
|
|
||||||
|
|
||||||
- role: mymediaforalexa
|
- role: mymediaforalexa
|
||||||
tags:
|
tags:
|
||||||
- mymediaforalexa
|
- mymediaforalexa
|
||||||
when: (mymediaforalexa_enabled | default(False))
|
|
||||||
|
|
||||||
- role: n8n
|
- role: n8n
|
||||||
tags:
|
tags:
|
||||||
- n8n
|
- n8n
|
||||||
when: (n8n_enabled | default(False))
|
|
||||||
|
|
||||||
- role: navidrome
|
- role: navidrome
|
||||||
tags:
|
tags:
|
||||||
- navidrome
|
- navidrome
|
||||||
when: (navidrome_enabled | default(False))
|
|
||||||
|
|
||||||
- role: netbootxyz
|
- role: netbootxyz
|
||||||
tags:
|
tags:
|
||||||
- netbootxyz
|
- netbootxyz
|
||||||
when: (netbootxyz_enabled | default(False))
|
|
||||||
|
|
||||||
- role: netdata
|
- role: netdata
|
||||||
tags:
|
tags:
|
||||||
- netdata
|
- netdata
|
||||||
when: (netdata_enabled | default(False))
|
|
||||||
|
|
||||||
- role: nextcloud
|
- role: nextcloud
|
||||||
tags:
|
tags:
|
||||||
- nextcloud
|
- nextcloud
|
||||||
when: (nextcloud_enabled | default(False))
|
|
||||||
|
|
||||||
- role: nomad
|
- role: nomad
|
||||||
tags:
|
tags:
|
||||||
|
@ -279,189 +251,151 @@
|
||||||
- role: nzbget
|
- role: nzbget
|
||||||
tags:
|
tags:
|
||||||
- nzbget
|
- nzbget
|
||||||
when: (nzbget_enabled | default(False))
|
|
||||||
|
|
||||||
- role: octoprint
|
- role: octoprint
|
||||||
tags:
|
tags:
|
||||||
- octoprint
|
- octoprint
|
||||||
when: (octoprint_enabled | default(False))
|
|
||||||
|
|
||||||
- role: ombi
|
- role: ombi
|
||||||
tags:
|
tags:
|
||||||
- ombi
|
- ombi
|
||||||
when: (ombi_enabled | default(False))
|
|
||||||
|
|
||||||
- role: openhab
|
- role: openhab
|
||||||
tags:
|
tags:
|
||||||
- openhab
|
- openhab
|
||||||
when: (openhab_enabled | default(False))
|
|
||||||
|
|
||||||
- role: organizr
|
- role: organizr
|
||||||
tags:
|
tags:
|
||||||
- organizr
|
- organizr
|
||||||
when: (organizr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: overseerr
|
- role: overseerr
|
||||||
tags:
|
tags:
|
||||||
- overseerr
|
- overseerr
|
||||||
when: (overseerr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: paperless_ng
|
- role: paperless_ng
|
||||||
tags:
|
tags:
|
||||||
- paperless_ng
|
- paperless_ng
|
||||||
when: (paperless_ng_enabled | default(False))
|
|
||||||
|
|
||||||
- role: piwigo
|
- role: piwigo
|
||||||
tags:
|
tags:
|
||||||
- piwigo
|
- piwigo
|
||||||
when: (piwigo_enabled | default(False))
|
|
||||||
|
|
||||||
- role: plex
|
- role: plex
|
||||||
tags:
|
tags:
|
||||||
- plex
|
- plex
|
||||||
when: (plex_enabled | default(False))
|
|
||||||
|
|
||||||
- role: portainer
|
- role: portainer
|
||||||
tags:
|
tags:
|
||||||
- portainer
|
- portainer
|
||||||
when: (portainer_enabled | default(False))
|
|
||||||
|
|
||||||
- role: prowlarr
|
- role: prowlarr
|
||||||
tags:
|
tags:
|
||||||
- prowlarr
|
- prowlarr
|
||||||
when: (prowlarr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: pyload
|
- role: pyload
|
||||||
tags:
|
tags:
|
||||||
- pyload
|
- pyload
|
||||||
when: (pyload_enabled | default(False))
|
|
||||||
|
|
||||||
- role: pytivo
|
- role: pytivo
|
||||||
tags:
|
tags:
|
||||||
- pytivo
|
- pytivo
|
||||||
when: (pytivo_enabled | default(False))
|
|
||||||
|
|
||||||
- role: radarr
|
- role: radarr
|
||||||
tags:
|
tags:
|
||||||
- radarr
|
- radarr
|
||||||
when: (radarr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: route53_ddns
|
- role: route53_ddns
|
||||||
tags:
|
tags:
|
||||||
- route53_ddns
|
- route53_ddns
|
||||||
when: (route53_ddns_enabled | default(False))
|
|
||||||
|
|
||||||
- role: rssbridge
|
- role: rssbridge
|
||||||
tags:
|
tags:
|
||||||
- rssbridge
|
- rssbridge
|
||||||
when: (rssbridge_enabled | default(False))
|
|
||||||
|
|
||||||
- role: sabnzbd
|
- role: sabnzbd
|
||||||
tags:
|
tags:
|
||||||
- sabnzbd
|
- sabnzbd
|
||||||
when: (sabnzbd_enabled | default(False))
|
|
||||||
|
|
||||||
- role: sickchill
|
- role: sickchill
|
||||||
tags:
|
tags:
|
||||||
- sickchill
|
- sickchill
|
||||||
when: (sickchill_enabled | default(False))
|
|
||||||
|
|
||||||
- role: sonarr
|
- role: sonarr
|
||||||
tags:
|
tags:
|
||||||
- sonarr
|
- sonarr
|
||||||
when: (sonarr_enabled | default(False))
|
|
||||||
|
|
||||||
- role: speedtest-tracker
|
- role: speedtest-tracker
|
||||||
tags:
|
tags:
|
||||||
- speedtest-tracker
|
- speedtest-tracker
|
||||||
when: (speedtest_tracker_enabled | default(False))
|
|
||||||
|
|
||||||
- role: stats
|
- role: stats
|
||||||
tags:
|
tags:
|
||||||
- stats
|
- stats
|
||||||
when: (stats_enabled | default(False))
|
|
||||||
|
|
||||||
- role: syncthing
|
- role: syncthing
|
||||||
tags:
|
tags:
|
||||||
- syncthing
|
- syncthing
|
||||||
when: (syncthing_enabled | default(False))
|
|
||||||
|
|
||||||
- role: tautulli
|
- role: tautulli
|
||||||
tags:
|
tags:
|
||||||
- tautulli
|
- tautulli
|
||||||
when: (tautulli_enabled | default(False))
|
|
||||||
|
|
||||||
- role: thelounge
|
- role: thelounge
|
||||||
tags:
|
tags:
|
||||||
- thelounge
|
- thelounge
|
||||||
when: (thelounge_enabled | default(False))
|
|
||||||
|
|
||||||
- role: tiddlywiki
|
- role: tiddlywiki
|
||||||
tags:
|
tags:
|
||||||
- tiddlywiki
|
- tiddlywiki
|
||||||
when: (tiddlywiki_enabled | default(False))
|
|
||||||
|
|
||||||
- role: timemachine
|
- role: timemachine
|
||||||
tags:
|
tags:
|
||||||
- timemachine
|
- timemachine
|
||||||
when: (timemachine_enabled | default(False))
|
|
||||||
|
|
||||||
- role: traefik
|
- role: traefik
|
||||||
tags:
|
tags:
|
||||||
- traefik
|
- traefik
|
||||||
when: (traefik_enabled | default(False))
|
|
||||||
|
|
||||||
- role: transmission
|
- role: transmission
|
||||||
tags:
|
tags:
|
||||||
- transmission
|
- transmission
|
||||||
when: (transmission_enabled | default(False))
|
|
||||||
|
|
||||||
- role: transmission-with-openvpn
|
- role: transmission-with-openvpn
|
||||||
tags:
|
tags:
|
||||||
- transmission_with_openvpn
|
- transmission_with_openvpn
|
||||||
when: (transmission_with_openvpn_enabled | default(False))
|
|
||||||
|
|
||||||
- role: ubooquity
|
- role: ubooquity
|
||||||
tags:
|
tags:
|
||||||
- ubooquity
|
- ubooquity
|
||||||
when: (ubooquity_enabled | default(False))
|
|
||||||
|
|
||||||
- role: utorrent
|
- role: utorrent
|
||||||
tags:
|
tags:
|
||||||
- utorrent
|
- utorrent
|
||||||
when: (utorrent_enabled | default(False))
|
|
||||||
|
|
||||||
- role: virtual_desktop
|
- role: virtual_desktop
|
||||||
tags:
|
tags:
|
||||||
- virtual_desktop
|
- virtual_desktop
|
||||||
when: (virtual_desktop_enabled | default(False))
|
|
||||||
|
|
||||||
- role: wallabag
|
- role: wallabag
|
||||||
tags:
|
tags:
|
||||||
- wallabag
|
- wallabag
|
||||||
when: (wallabag_enabled | default(False))
|
|
||||||
|
|
||||||
- role: watchtower
|
- role: watchtower
|
||||||
tags:
|
tags:
|
||||||
- watchtower
|
- watchtower
|
||||||
when: (watchtower_enabled | default(False))
|
|
||||||
|
|
||||||
- role: wireshark
|
- role: wireshark
|
||||||
tags:
|
tags:
|
||||||
- wireshark
|
- wireshark
|
||||||
when: (wireshark_enabled | default(False))
|
|
||||||
|
|
||||||
- role: woodpecker-ci
|
- role: woodpecker-ci
|
||||||
tags:
|
tags:
|
||||||
- woodpecker_ci
|
- woodpecker_ci
|
||||||
when: (woodpecker_ci_enabled | default(False))
|
|
||||||
|
|
||||||
- role: youtubedlmaterial
|
- role: youtubedlmaterial
|
||||||
tags:
|
tags:
|
||||||
- youtubedlmaterial
|
- youtubedlmaterial
|
||||||
when: (youtubedlmaterial_enabled | default(False))
|
|
||||||
|
|
||||||
- role: znc
|
- role: znc
|
||||||
tags:
|
tags:
|
||||||
- znc
|
- znc
|
||||||
when: (znc_enabled | default(False))
|
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Airsonic
|
- name: Try and stop and remove Airsonic
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Bazarr
|
- name: Try and stop and remove Bazarr
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Bitwarden
|
- name: Try and stop and remove Bitwarden
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Booksonic
|
- name: Try and stop and remove Booksonic
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Calibre
|
- name: Try and stop and remove Calibre
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Cloudcmd
|
- name: Try and stop and remove Cloudcmd
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Cloudflare DDNS
|
- name: Try and stop and remove Cloudflare DDNS
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Code Server
|
- name: Try and stop and remove Code Server
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Couchpotato
|
- name: Try and stop and remove Couchpotato
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Dashy
|
- name: Try and stop and remove Dashy
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Deluge
|
- name: Try and stop and remove Deluge
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Dokuwiki
|
- name: Try and stop and remove Dokuwiki
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Drone CI
|
- name: Try and stop and remove Drone CI
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Duplicacy
|
- name: Try and stop and remove Duplicacy
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove EspHome
|
- name: Try and stop and remove EspHome
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -3,7 +3,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Firefly
|
- name: Try and stop and remove Firefly
|
||||||
|
|
|
@ -10,5 +10,10 @@ freshrss_extensions_directory: "{{ docker_home }}/freshrss"
|
||||||
freshrss_port: "8089"
|
freshrss_port: "8089"
|
||||||
freshrss_hostname: "freshrss"
|
freshrss_hostname: "freshrss"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
freshrss_container_name: freshrss
|
||||||
|
freshrss_image_name: "freshrss/freshrss"
|
||||||
|
freshrss_image_version: latest
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
freshrss_memory: 1g
|
freshrss_memory: 1g
|
||||||
|
|
6
roles/freshrss/molecule/default/molecule.yml
Normal file
6
roles/freshrss/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
freshrss_enabled: true
|
10
roles/freshrss/molecule/default/side_effect.yml
Normal file
10
roles/freshrss/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
freshrss_enabled: false
|
19
roles/freshrss/molecule/default/verify.yml
Normal file
19
roles/freshrss/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get freshrss container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ freshrss_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if freshrss containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/freshrss/molecule/default/verify_stopped.yml
Normal file
19
roles/freshrss/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove freshrss
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ freshrss_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if freshrss is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,17 +1,19 @@
|
||||||
---
|
---
|
||||||
- name: Create FreshRSS Directories
|
- name: Start FreshRSS
|
||||||
file:
|
block:
|
||||||
|
- name: Create FreshRSS Directories
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
# mode: 0755
|
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ freshrss_data_directory }}/data"
|
- "{{ freshrss_data_directory }}/data"
|
||||||
- "{{ freshrss_extensions_directory }}/extensions"
|
- "{{ freshrss_extensions_directory }}/extensions"
|
||||||
|
|
||||||
- name: FreshRSS Docker Container
|
- name: FreshRSS Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: freshrss
|
container_default_behavior: no_defaults
|
||||||
image: freshrss/freshrss
|
name: "{{ freshrss_container_name }}"
|
||||||
|
image: "{{ freshrss_image_name }}:{{ freshrss_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ freshrss_data_directory }}/data:/var/www/FreshRSS/data:rw"
|
- "{{ freshrss_data_directory }}/data:/var/www/FreshRSS/data:rw"
|
||||||
|
@ -30,3 +32,13 @@
|
||||||
traefik.http.routers.freshrss.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.freshrss.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.freshrss.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.freshrss.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.freshrss.loadbalancer.server.port: "80"
|
traefik.http.services.freshrss.loadbalancer.server.port: "80"
|
||||||
|
when: freshrss_enabled is true
|
||||||
|
|
||||||
|
|
||||||
|
- name: Stop FreshRSS
|
||||||
|
block:
|
||||||
|
- name: Stop FreshRSS
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ freshrss_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: freshrss_enabled is false
|
||||||
|
|
|
@ -8,5 +8,10 @@ get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads"
|
||||||
# network
|
# network
|
||||||
get_iplayer_port: "8182"
|
get_iplayer_port: "8182"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
get_iplayer_container_name: "get_iplayer"
|
||||||
|
get_iplayer_image_name: "kolonuk/get_iplayer"
|
||||||
|
get_iplayer_image_version: "latest"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
get_iplayer_memory: "1g"
|
get_iplayer_memory: "1g"
|
||||||
|
|
6
roles/get_iplayer/molecule/default/molecule.yml
Normal file
6
roles/get_iplayer/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
get_iplayer_enabled: true
|
10
roles/get_iplayer/molecule/default/side_effect.yml
Normal file
10
roles/get_iplayer/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
get_iplayer_enabled: false
|
19
roles/get_iplayer/molecule/default/verify.yml
Normal file
19
roles/get_iplayer/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get get_iplayer container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ get_iplayer_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if get_iplayer containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/get_iplayer/molecule/default/verify_stopped.yml
Normal file
19
roles/get_iplayer/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove get_iplayer
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ get_iplayer_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if get_iplayer is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,16 +1,19 @@
|
||||||
---
|
---
|
||||||
- name: Create get_iplayer Directories
|
- name: Start get_iplayer
|
||||||
file:
|
block:
|
||||||
|
- name: Create get_iplayer Directories
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ get_iplayer_config_directory }}"
|
- "{{ get_iplayer_config_directory }}"
|
||||||
- "{{ get_iplayer_download_directory }}"
|
- "{{ get_iplayer_download_directory }}"
|
||||||
|
|
||||||
- name: Get_iplayer Docker Container
|
- name: Create get_iplayer Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: get_iplayer
|
container_default_behavior: no_defaults
|
||||||
image: kolonuk/get_iplayer
|
name: "{{ get_iplayer_container_name }}"
|
||||||
|
image: "{{ get_iplayer_image_name }}:{{ get_iplayer_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ get_iplayer_config_directory }}:/root/.get_iplayer:rw"
|
- "{{ get_iplayer_config_directory }}:/root/.get_iplayer:rw"
|
||||||
|
@ -19,3 +22,12 @@
|
||||||
- "{{ get_iplayer_port }}:8181"
|
- "{{ get_iplayer_port }}:8181"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: "{{ get_iplayer_memory }}"
|
memory: "{{ get_iplayer_memory }}"
|
||||||
|
when: get_iplayer_enabled is true
|
||||||
|
|
||||||
|
- name: Stop get_iplayer
|
||||||
|
block:
|
||||||
|
- name: Stop get_iplayer
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ get_iplayer_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: get_iplayer_enabled is false
|
||||||
|
|
|
@ -7,6 +7,7 @@ gitea_data_directory: "{{ docker_home }}/gitea"
|
||||||
|
|
||||||
# network
|
# network
|
||||||
gitea_hostname: "gitea"
|
gitea_hostname: "gitea"
|
||||||
|
gitea_network_name: "gitea"
|
||||||
gitea_port_http: "3001"
|
gitea_port_http: "3001"
|
||||||
gitea_port_ssh: "222"
|
gitea_port_ssh: "222"
|
||||||
|
|
||||||
|
@ -16,4 +17,8 @@ gitea_mysql_memory: 1g
|
||||||
|
|
||||||
# docker
|
# docker
|
||||||
gitea_container_name: gitea
|
gitea_container_name: gitea
|
||||||
|
gitea_image_name: gitea/gitea
|
||||||
|
gitea_image_version: latest
|
||||||
gitea_mysql_container_name: gitea-mysql
|
gitea_mysql_container_name: gitea-mysql
|
||||||
|
gitea_mysql_image_name: mysql
|
||||||
|
gitea_mysql_image_version: "5.7"
|
||||||
|
|
7
roles/gitea/molecule/default/molecule.yml
Normal file
7
roles/gitea/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
gitea_enabled: true
|
||||||
|
ansible_nas_hostname: ansible-nas
|
10
roles/gitea/molecule/default/side_effect.yml
Normal file
10
roles/gitea/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
gitea_enabled: false
|
19
roles/gitea/molecule/default/verify.yml
Normal file
19
roles/gitea/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get gitea container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gitea_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gitea containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/gitea/molecule/default/verify_stopped.yml
Normal file
19
roles/gitea/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove gitea
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gitea_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gitea is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -10,11 +10,19 @@
|
||||||
- "{{ gitea_data_directory }}/gitea"
|
- "{{ gitea_data_directory }}/gitea"
|
||||||
- "{{ gitea_data_directory }}/mysql"
|
- "{{ gitea_data_directory }}/mysql"
|
||||||
|
|
||||||
|
- name: Create gitea network
|
||||||
|
community.docker.docker_network:
|
||||||
|
name: "{{ gitea_network_name }}"
|
||||||
|
|
||||||
- name: Create MySQL container for Gitea
|
- name: Create MySQL container for Gitea
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
|
container_default_behavior: no_defaults
|
||||||
name: "{{ gitea_mysql_container_name }}"
|
name: "{{ gitea_mysql_container_name }}"
|
||||||
image: mysql:5.7
|
image: "{{ gitea_mysql_image_name }}:{{ gitea_mysql_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
|
networks:
|
||||||
|
- name: "{{ gitea_network_name }}"
|
||||||
|
network_mode: "{{ gitea_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ gitea_data_directory }}/mysql:/var/lib/mysql:rw"
|
- "{{ gitea_data_directory }}/mysql:/var/lib/mysql:rw"
|
||||||
env:
|
env:
|
||||||
|
@ -26,12 +34,14 @@
|
||||||
memory: "{{ gitea_mysql_memory }}"
|
memory: "{{ gitea_mysql_memory }}"
|
||||||
|
|
||||||
- name: Create Gitea container
|
- name: Create Gitea container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: gitea
|
container_default_behavior: no_defaults
|
||||||
image: gitea/gitea:latest
|
name: "{{ gitea_container_name }}"
|
||||||
|
image: "{{ gitea_image_name }}:{{ gitea_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
links:
|
networks:
|
||||||
- gitea-mysql:db
|
- name: "{{ gitea_network_name }}"
|
||||||
|
network_mode: "{{ gitea_network_name }}"
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ gitea_data_directory }}/gitea:/data:rw"
|
- "{{ gitea_data_directory }}/gitea:/data:rw"
|
||||||
ports:
|
ports:
|
||||||
|
@ -39,7 +49,7 @@
|
||||||
- "{{ gitea_port_ssh }}:22"
|
- "{{ gitea_port_ssh }}:22"
|
||||||
env:
|
env:
|
||||||
DB_TYPE: "mysql"
|
DB_TYPE: "mysql"
|
||||||
DB_HOST: "db:3306"
|
DB_HOST: "{{ gitea_mysql_container_name }}:3306"
|
||||||
DB_NAME: "gitea"
|
DB_NAME: "gitea"
|
||||||
DB_USER: "gitea"
|
DB_USER: "gitea"
|
||||||
DB_PASSWD: "gitea"
|
DB_PASSWD: "gitea"
|
||||||
|
|
|
@ -12,5 +12,12 @@ gitlab_port_http: "4080"
|
||||||
gitlab_port_https: "4443"
|
gitlab_port_https: "4443"
|
||||||
gitlab_port_ssh: "422"
|
gitlab_port_ssh: "422"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
gitlab_container_name: "gitlab"
|
||||||
|
gitlab_image_name: "gitlab/gitlab-ce"
|
||||||
|
gitlab_image_version: "latest"
|
||||||
|
gitlab_user_id: "1000"
|
||||||
|
gitlab_group_id: "1000"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
gitlab_memory: "4g"
|
gitlab_memory: "4g"
|
||||||
|
|
6
roles/gitlab/molecule/default/molecule.yml
Normal file
6
roles/gitlab/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
gitlab_enabled: true
|
10
roles/gitlab/molecule/default/side_effect.yml
Normal file
10
roles/gitlab/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
gitlab_enabled: false
|
19
roles/gitlab/molecule/default/verify.yml
Normal file
19
roles/gitlab/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get gitlab container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gitlab_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gitlab containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/gitlab/molecule/default/verify_stopped.yml
Normal file
19
roles/gitlab/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove gitlab
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gitlab_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gitlab is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,12 +1,14 @@
|
||||||
---
|
---
|
||||||
# The gitlab uid/gid matches 'git:git' in the Gitlab Docker image.
|
- name: Start Gitlab
|
||||||
- name: Create Gitlab group account
|
block:
|
||||||
|
# The gitlab uid/gid matches 'git:git' in the Gitlab Docker image.
|
||||||
|
- name: Create Gitlab group account
|
||||||
group:
|
group:
|
||||||
name: gitlab
|
name: gitlab
|
||||||
gid: 998
|
gid: 998
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: Create Gitlab user account
|
- name: Create Gitlab user account
|
||||||
user:
|
user:
|
||||||
name: gitlab
|
name: gitlab
|
||||||
uid: 998
|
uid: 998
|
||||||
|
@ -16,7 +18,7 @@
|
||||||
create_home: no
|
create_home: no
|
||||||
group: gitlab
|
group: gitlab
|
||||||
|
|
||||||
- name: Create Gitlab Directories
|
- name: Create Gitlab Directories
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
@ -27,10 +29,11 @@
|
||||||
- "{{ gitlab_data_directory }}/log"
|
- "{{ gitlab_data_directory }}/log"
|
||||||
- "{{ gitlab_data_directory }}/data"
|
- "{{ gitlab_data_directory }}/data"
|
||||||
|
|
||||||
- name: Create Gitlab Docker Container
|
- name: Create Gitlab Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: gitlab
|
container_default_behavior: no_defaults
|
||||||
image: gitlab/gitlab-ce:latest
|
name: "{{ gitlab_container_name }}"
|
||||||
|
image: "{{ gitlab_image_name }}:{{ gitlab_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ gitlab_data_directory }}/config:/etc/gitlab:rw"
|
- "{{ gitlab_data_directory }}/config:/etc/gitlab:rw"
|
||||||
|
@ -55,3 +58,12 @@
|
||||||
traefik.http.routers.gitlab.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.gitlab.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.gitlab.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.gitlab.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.gitlab.loadbalancer.server.port: "80"
|
traefik.http.services.gitlab.loadbalancer.server.port: "80"
|
||||||
|
when: gitlab_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Gitlab
|
||||||
|
block:
|
||||||
|
- name: Stop Gitlab
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gitlab_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: gitlab_enabled is false
|
||||||
|
|
|
@ -12,5 +12,10 @@ glances_port_two: "61209"
|
||||||
glances_security_options:
|
glances_security_options:
|
||||||
- "apparmor=unconfined"
|
- "apparmor=unconfined"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
glances_container_name: "glances"
|
||||||
|
glances_image_name: "nicolargo/glances"
|
||||||
|
glances_image_version: "latest"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
glances_memory: 1g
|
glances_memory: 1g
|
||||||
|
|
6
roles/glances/molecule/default/molecule.yml
Normal file
6
roles/glances/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
glances_enabled: true
|
10
roles/glances/molecule/default/side_effect.yml
Normal file
10
roles/glances/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
glances_enabled: false
|
19
roles/glances/molecule/default/verify.yml
Normal file
19
roles/glances/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get glances container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ glances_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if glances containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/glances/molecule/default/verify_stopped.yml
Normal file
19
roles/glances/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove glances
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ glances_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if glances is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,8 +1,11 @@
|
||||||
---
|
---
|
||||||
- name: Create Glances Docker Container
|
- name: Start Glances
|
||||||
docker_container:
|
block:
|
||||||
name: glances
|
- name: Create Glances Docker Container
|
||||||
image: nicolargo/glances
|
community.docker.docker_container:
|
||||||
|
container_default_behavior: no_defaults
|
||||||
|
name: "{{ glances_container_name }}"
|
||||||
|
image: "{{ glances_image_name }}:{{ glances_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||||
|
@ -23,3 +26,12 @@
|
||||||
traefik.http.routers.glances.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.glances.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.glances.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.glances.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.glances.loadbalancer.server.port: "61208"
|
traefik.http.services.glances.loadbalancer.server.port: "61208"
|
||||||
|
when: glances_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Glances
|
||||||
|
block:
|
||||||
|
- name: Stop Glances
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ glances_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: glances_enabled is false
|
||||||
|
|
|
@ -5,14 +5,14 @@ gotify_available_externally: false
|
||||||
# data directory
|
# data directory
|
||||||
gotify_data_directory: "{{ docker_home }}/gotify"
|
gotify_data_directory: "{{ docker_home }}/gotify"
|
||||||
|
|
||||||
# docker image to use
|
|
||||||
gotify_docker_image: gotify/server:latest
|
|
||||||
|
|
||||||
# network
|
# network
|
||||||
gotify_port: "2346"
|
gotify_port: "2346"
|
||||||
gotify_hostname: "gotify"
|
gotify_hostname: "gotify"
|
||||||
|
|
||||||
# user to run container with
|
# docker
|
||||||
|
gotify_container_name: "gotify"
|
||||||
|
gotify_image_name: "gotify/server"
|
||||||
|
gotify_image_version: "latest"
|
||||||
gotify_user_id: "0"
|
gotify_user_id: "0"
|
||||||
gotify_group_id: "0"
|
gotify_group_id: "0"
|
||||||
|
|
||||||
|
|
6
roles/gotify/molecule/default/molecule.yml
Normal file
6
roles/gotify/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
gotify_enabled: true
|
10
roles/gotify/molecule/default/side_effect.yml
Normal file
10
roles/gotify/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
gotify_enabled: false
|
19
roles/gotify/molecule/default/verify.yml
Normal file
19
roles/gotify/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get gotify container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gotify_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gotify containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/gotify/molecule/default/verify_stopped.yml
Normal file
19
roles/gotify/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove gotify
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gotify_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if gotify is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,15 +1,18 @@
|
||||||
---
|
---
|
||||||
- name: Create Gotify Data Directory
|
- name: Start Gotify
|
||||||
file:
|
block:
|
||||||
|
- name: Create Gotify Data Directory
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ gotify_data_directory }}"
|
- "{{ gotify_data_directory }}"
|
||||||
|
|
||||||
- name: Gotify Docker Container
|
- name: Gotify Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: gotify
|
container_default_behavior: no_defaults
|
||||||
image: "{{ gotify_docker_image }}"
|
name: "{{ gotify_container_name }}"
|
||||||
|
image: "{{ gotify_image_name }}:{{ gotify_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
ports:
|
ports:
|
||||||
- "{{ gotify_port }}:80"
|
- "{{ gotify_port }}:80"
|
||||||
|
@ -29,3 +32,12 @@
|
||||||
traefik.http.routers.gotify.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.gotify.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.gotify.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.gotify.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.gotify.loadbalancer.server.port: "80"
|
traefik.http.services.gotify.loadbalancer.server.port: "80"
|
||||||
|
when: gotify_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Gotify
|
||||||
|
block:
|
||||||
|
- name: Stop Gotify
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ gotify_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: gotify_enabled is false
|
||||||
|
|
|
@ -9,5 +9,10 @@ guacamole_data_directory: "{{ docker_home }}/guacamole"
|
||||||
guacamole_port: "8090"
|
guacamole_port: "8090"
|
||||||
guacamole_hostname: "guacamole"
|
guacamole_hostname: "guacamole"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
guacamole_container_name: "guacamole"
|
||||||
|
guacamole_image_name: "oznu/guacamole"
|
||||||
|
guacamole_image_version: "latest"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
guacamole_memory: 1g
|
guacamole_memory: 1g
|
||||||
|
|
6
roles/guacamole/molecule/default/molecule.yml
Normal file
6
roles/guacamole/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
guacamole_enabled: true
|
10
roles/guacamole/molecule/default/side_effect.yml
Normal file
10
roles/guacamole/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
guacamole_enabled: false
|
19
roles/guacamole/molecule/default/verify.yml
Normal file
19
roles/guacamole/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get guacamole container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ guacamole_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if guacamole containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/guacamole/molecule/default/verify_stopped.yml
Normal file
19
roles/guacamole/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove guacamole
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ guacamole_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if guacamole is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,34 +1,37 @@
|
||||||
---
|
---
|
||||||
- name: Create Guacamole directories
|
- name: Start Guacamole
|
||||||
file:
|
block:
|
||||||
|
- name: Create Guacamole directories
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ guacamole_data_directory }}/config"
|
- "{{ guacamole_data_directory }}/config"
|
||||||
|
|
||||||
- name: Remove Old Guacamole Mysql Docker Container
|
- name: Remove Old Guacamole Mysql Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: guacamole-mysql
|
name: guacamole-mysql
|
||||||
state: absent
|
state: absent
|
||||||
keep_volumes: true
|
keep_volumes: true
|
||||||
|
|
||||||
- name: Remove Old Guacamole guacd Docker Container
|
- name: Remove Old Guacamole guacd Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: guacamole-guacd
|
name: guacamole-guacd
|
||||||
state: absent
|
state: absent
|
||||||
keep_volumes: true
|
keep_volumes: true
|
||||||
|
|
||||||
- name: Remove old Guacamole directories
|
- name: Remove old Guacamole directories
|
||||||
file:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: absent
|
state: absent
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ guacamole_data_directory }}/mysql"
|
- "{{ guacamole_data_directory }}/mysql"
|
||||||
|
|
||||||
- name: Guacamole Container
|
- name: Guacamole Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: guacamole
|
container_default_behavior: no_defaults
|
||||||
image: "oznu/guacamole"
|
name: "{{ guacamole_container_name }}"
|
||||||
|
image: "{{ guacamole_image_name }}:{{ guacamole_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ guacamole_data_directory }}/config:/config:rw"
|
- "{{ guacamole_data_directory }}/config:/config:rw"
|
||||||
|
@ -44,8 +47,18 @@
|
||||||
traefik.http.routers.guacamole.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.guacamole.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.guacamole.loadbalancer.server.port: "8080"
|
traefik.http.services.guacamole.loadbalancer.server.port: "8080"
|
||||||
|
|
||||||
- name: Restart Guacamole Container
|
- name: Restart Guacamole Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: guacamole
|
name: "{{ guacamole_container_name }}"
|
||||||
image: "oznu/guacamole"
|
image: "{{ guacamole_image_name }}:{{ guacamole_image_version }}"
|
||||||
restart: true
|
restart: true
|
||||||
|
tags: molecule-idempotence-notest
|
||||||
|
when: guacamole_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Guacamole
|
||||||
|
block:
|
||||||
|
- name: Stop Guacamole
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ guacamole_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: guacamole_enabled is false
|
||||||
|
|
6
roles/healthchecks.io/molecule/default/molecule.yml
Normal file
6
roles/healthchecks.io/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
healthchecks_enabled: true
|
10
roles/healthchecks.io/molecule/default/side_effect.yml
Normal file
10
roles/healthchecks.io/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
healthchecks_enabled: false
|
19
roles/healthchecks.io/molecule/default/verify.yml
Normal file
19
roles/healthchecks.io/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Check cron job file
|
||||||
|
ansible.builtin.fetch:
|
||||||
|
src: /var/spool/cron/crontabs/root
|
||||||
|
dest: /tmp/fetched
|
||||||
|
|
||||||
|
- name: Check if cron job does exist
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that: "lookup('file', '/tmp/fetched/instance/var/spool/cron/crontabs/root') is search('healthchecks.io')"
|
||||||
|
fail_msg: "Cron job 'healthchecks.io' does not exist!"
|
||||||
|
success_msg: "Cron job 'healthchecks.io' does exist!"
|
19
roles/healthchecks.io/molecule/default/verify_stopped.yml
Normal file
19
roles/healthchecks.io/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Check cron job file
|
||||||
|
ansible.builtin.fetch:
|
||||||
|
src: /var/spool/cron/crontabs/root
|
||||||
|
dest: /tmp/fetched
|
||||||
|
|
||||||
|
- name: Check if cron job does not exist
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that: "not lookup('file', '/tmp/fetched/instance/var/spool/cron/crontabs/root') is search('healthchecks.io')"
|
||||||
|
fail_msg: "Cron job 'healthchecks.io' still exists!"
|
||||||
|
success_msg: "Cron job 'healthchecks.io' does not exist!"
|
|
@ -1,7 +1,19 @@
|
||||||
---
|
---
|
||||||
- name: Add healthchecks.io cronjob
|
- name: Start Healthchecks
|
||||||
cron:
|
block:
|
||||||
|
- name: Add healthchecks.io cronjob
|
||||||
|
ansible.builtin.cron:
|
||||||
name: healthchecks.io
|
name: healthchecks.io
|
||||||
minute: "*/{{ healthchecks_ping_minutes }}"
|
minute: "*/{{ healthchecks_ping_minutes }}"
|
||||||
user: root
|
user: root
|
||||||
job: "curl -m 10 --retry 5 {{ healthchecks_url }}"
|
job: "curl -m 10 --retry 5 {{ healthchecks_url }}"
|
||||||
|
when: healthchecks_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Healthchecks
|
||||||
|
block:
|
||||||
|
- name: Remove healthchecks.io cronjob
|
||||||
|
ansible.builtin.cron:
|
||||||
|
name: healthchecks.io
|
||||||
|
user: root
|
||||||
|
state: absent
|
||||||
|
when: healthchecks_enabled is false
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Heimdall
|
- name: Try and stop and remove Heimdall
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Get container state
|
- name: Get container state
|
||||||
|
|
|
@ -5,7 +5,8 @@
|
||||||
hosts: all
|
hosts: all
|
||||||
gather_facts: false
|
gather_facts: false
|
||||||
tasks:
|
tasks:
|
||||||
- include_vars:
|
- name: Include vars
|
||||||
|
include_vars:
|
||||||
file: ../../defaults/main.yml
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
- name: Try and stop and remove Hello World
|
- name: Try and stop and remove Hello World
|
||||||
|
|
|
@ -9,5 +9,10 @@ homeassistant_data_directory: "{{ docker_home }}/homeassistant"
|
||||||
homeassistant_port: "8123"
|
homeassistant_port: "8123"
|
||||||
homeassistant_hostname: "homeassistant"
|
homeassistant_hostname: "homeassistant"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
homeassistant_container_name: "homeassistant"
|
||||||
|
homeassistant_image_name: "homeassistant/home-assistant"
|
||||||
|
homeassistant_image_version: latest
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
homeassistant_memory: 1g
|
homeassistant_memory: 1g
|
||||||
|
|
6
roles/homeassistant/molecule/default/molecule.yml
Normal file
6
roles/homeassistant/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
homeassistant_enabled: true
|
10
roles/homeassistant/molecule/default/side_effect.yml
Normal file
10
roles/homeassistant/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
homeassistant_enabled: false
|
19
roles/homeassistant/molecule/default/verify.yml
Normal file
19
roles/homeassistant/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get homeassistant container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homeassistant_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if homeassistant containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/homeassistant/molecule/default/verify_stopped.yml
Normal file
19
roles/homeassistant/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove homeassistant
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homeassistant_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if homeassistant is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,15 +1,18 @@
|
||||||
---
|
---
|
||||||
- name: Create Home Assistant Directories
|
- name: Start Homeassistant
|
||||||
file:
|
block:
|
||||||
|
- name: Create Home Assistant Directories
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ homeassistant_data_directory }}/config"
|
- "{{ homeassistant_data_directory }}/config"
|
||||||
|
|
||||||
- name: Home Assistant Docker Container
|
- name: Home Assistant Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: homeassistant
|
container_default_behavior: no_defaults
|
||||||
image: homeassistant/home-assistant
|
name: "{{ homeassistant_container_name }}"
|
||||||
|
image: "{{ homeassistant_image_name }}:{{ homeassistant_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ homeassistant_data_directory }}/config:/config:rw"
|
- "{{ homeassistant_data_directory }}/config:/config:rw"
|
||||||
|
@ -25,3 +28,12 @@
|
||||||
traefik.http.routers.homeassistant.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.homeassistant.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.homeassistant.loadbalancer.server.port: "8123"
|
traefik.http.services.homeassistant.loadbalancer.server.port: "8123"
|
||||||
memory: "{{ homeassistant_memory }}"
|
memory: "{{ homeassistant_memory }}"
|
||||||
|
when: homeassistant_enabled is true
|
||||||
|
|
||||||
|
- name: Stop homeassistant
|
||||||
|
block:
|
||||||
|
- name: Stop homeassistant
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homeassistant_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: homeassistant_enabled is false
|
||||||
|
|
|
@ -14,5 +14,10 @@ homebridge_group_id: "0"
|
||||||
homebridge_hostname: "homebridge"
|
homebridge_hostname: "homebridge"
|
||||||
homebridge_port: "8087"
|
homebridge_port: "8087"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
homebridge_container_name: "homebridge"
|
||||||
|
homebridge_image_name: "oznu/homebridge"
|
||||||
|
homebridge_image_version: "latest"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
homebridge_memory: "1g"
|
homebridge_memory: "1g"
|
||||||
|
|
6
roles/homebridge/molecule/default/molecule.yml
Normal file
6
roles/homebridge/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
homebridge_enabled: true
|
10
roles/homebridge/molecule/default/side_effect.yml
Normal file
10
roles/homebridge/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
homebridge_enabled: false
|
19
roles/homebridge/molecule/default/verify.yml
Normal file
19
roles/homebridge/molecule/default/verify.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Get homebridge container state
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homebridge_container_name }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if homebridge containers are running
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- result.container['State']['Status'] == "running"
|
||||||
|
- result.container['State']['Restarting'] == false
|
19
roles/homebridge/molecule/default/verify_stopped.yml
Normal file
19
roles/homebridge/molecule/default/verify_stopped.yml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
---
|
||||||
|
- name: Verify
|
||||||
|
hosts: all
|
||||||
|
gather_facts: false
|
||||||
|
tasks:
|
||||||
|
- name: Include vars
|
||||||
|
ansible.builtin.include_vars:
|
||||||
|
file: ../../defaults/main.yml
|
||||||
|
|
||||||
|
- name: Try and stop and remove homebridge
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homebridge_container_name }}"
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Check if homebridge is stopped
|
||||||
|
ansible.builtin.assert:
|
||||||
|
that:
|
||||||
|
- not result.changed
|
|
@ -1,16 +1,19 @@
|
||||||
---
|
---
|
||||||
- name: Create Homebridge Directories
|
- name: Start Homebridge
|
||||||
file:
|
block:
|
||||||
|
- name: Create Homebridge Directories
|
||||||
|
ansible.builtin.file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
# mode: 0755
|
# mode: 0755
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ homebridge_config_directory }}"
|
- "{{ homebridge_config_directory }}"
|
||||||
|
|
||||||
- name: Create Homebridge Docker Container
|
- name: Create Homebridge Docker Container
|
||||||
docker_container:
|
community.docker.docker_container:
|
||||||
name: homebridge
|
container_default_behavior: no_defaults
|
||||||
image: oznu/homebridge
|
name: "{{ homebridge_container_name }}"
|
||||||
|
image: "{{ homebridge_image_name }}:{{ homebridge_image_version }}"
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ homebridge_config_directory }}:/homebridge"
|
- "{{ homebridge_config_directory }}:/homebridge"
|
||||||
|
@ -30,3 +33,12 @@
|
||||||
traefik.http.routers.homebridge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.homebridge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.homebridge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.homebridge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
traefik.http.services.homebridge.loadbalancer.server.port: "8087"
|
traefik.http.services.homebridge.loadbalancer.server.port: "8087"
|
||||||
|
when: homebridge_enabled is true
|
||||||
|
|
||||||
|
- name: Stop Homebridge
|
||||||
|
block:
|
||||||
|
- name: Stop Homebridge
|
||||||
|
community.docker.docker_container:
|
||||||
|
name: "{{ homebridge_container_name }}"
|
||||||
|
state: absent
|
||||||
|
when: homebridge_enabled is false
|
||||||
|
|
|
@ -11,5 +11,10 @@ jackett_torrents_root: "{{ torrents_root }}"
|
||||||
jackett_hostname: "jackett"
|
jackett_hostname: "jackett"
|
||||||
jackett_port: "9117"
|
jackett_port: "9117"
|
||||||
|
|
||||||
|
# docker
|
||||||
|
jackett_container_name: "jackett"
|
||||||
|
jackett_image_name: "linuxserver/jackett"
|
||||||
|
jackett_image_version: "latest"
|
||||||
|
|
||||||
# specs
|
# specs
|
||||||
jackett_memory: "1g"
|
jackett_memory: "1g"
|
||||||
|
|
6
roles/jackett/molecule/default/molecule.yml
Normal file
6
roles/jackett/molecule/default/molecule.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
provisioner:
|
||||||
|
inventory:
|
||||||
|
group_vars:
|
||||||
|
all:
|
||||||
|
jackett_enabled: true
|
10
roles/jackett/molecule/default/side_effect.yml
Normal file
10
roles/jackett/molecule/default/side_effect.yml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
- name: Stop
|
||||||
|
hosts: all
|
||||||
|
become: true
|
||||||
|
tasks:
|
||||||
|
- name: "Include {{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }} role"
|
||||||
|
ansible.builtin.include_role:
|
||||||
|
name: "{{ lookup('env', 'MOLECULE_PROJECT_DIRECTORY') | basename }}"
|
||||||
|
vars:
|
||||||
|
jackett_enabled: false
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue