Merge pull request #555 from HitLuca/migrate-tasks-to-roles

Converted remaining tasks to proper roles
This commit is contained in:
David Stephens 2022-08-20 10:30:15 +01:00 committed by GitHub
commit 5ad87cbdd4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
24 changed files with 291 additions and 239 deletions

View file

@ -23,8 +23,8 @@ If you have a spare domain name you can configure applications to be accessible
* [Cloud Commander](https://cloudcmd.io/) - A dual panel file manager with integrated web console and text editor
* [Cloudflare DDNS](https://hub.docker.com/r/joshuaavalon/cloudflare-ddns/) - automatically update Cloudflare with your IP address
* [CouchPotato](https://couchpota.to/) - for downloading and managing movies
* [Deluge](https://dev.deluge-torrent.org/) - A lightweight, Free Software, cross-platform BitTorrent client.
* [Dashy](https://dashy.to/) - A self-hosted startpage for your server. Easy to use visual editor, status checking, widgets, themes and tons more!
* [Deluge](https://dev.deluge-torrent.org/) - A lightweight, Free Software, cross-platform BitTorrent client.
* [DokuWiki](https://www.dokuwiki.org/) - A simple to use and highly versatile Open Source wiki software that doesn't require a database.
* [Duplicacy](https://duplicacy.com/) - A web UI for the Duplicacy cloud backup program, which provides lock-free deduplication backups to multiple providers
* [Duplicati](https://www.duplicati.com/) - for backing up your stuff
@ -37,12 +37,11 @@ If you have a spare domain name you can configure applications to be accessible
* [GitLab](https://about.gitlab.com/features/) - Self-hosted GitHub clone of the highest order
* [Glances](https://nicolargo.github.io/glances/) - for seeing the state of your system via a web browser
* [Gotify](https://gotify.net/) Self-hosted server for sending push notifications
* [Grafana](https://github.com/grafana/grafana) - Dashboarding tool
* [Guacamole](https://guacamole.apache.org/) - Web based remote desktop gateway, supports VNC, RDP and SSH
* [healthchecks.io](https://healthchecks.io/) - Ensure your NAS is online and get notified otherwise
* [Heimdall](https://heimdall.site/) - Home server dashboard
* [Home Assistant](https://www.home-assistant.io) - Open source home automation
* [InfluxDB](https://github.com/influxdata/influxdb) - Time series database used for stats collection
* [Homebridge](https://github.com/nfarina/homebridge) - Emulate the iOS HomeKit API
* [Jackett](https://github.com/Jackett/Jackett) - API Support for your favorite torrent trackers
* [Jellyfin](https://jellyfin.github.io) - The Free Software Media System
* [Joomla](https://www.joomla.org/) - Open source content management system
@ -64,8 +63,8 @@ If you have a spare domain name you can configure applications to be accessible
* [NZBget](https://nzbget.net/) - The most efficient usenet downloader
* [Octoprint](https://octoprint.org/) - Control and monitor your 3D printer
* [Ombi](https://ombi.io/) - web application that automatically gives your users the ability to request content
* [Organizr](https://organizr.app/) - ORGANIZR aims to be your one stop shop for your Servers Frontend.
* [openHAB](https://www.openhab.org/) - A vendor and technology agnostic open source automation software for your home
* [Organizr](https://organizr.app/) - ORGANIZR aims to be your one stop shop for your Servers Frontend.
* [overseerr](https://docs.overseerr.dev) - open source software application for managing requests for your media library
* [Paperless_ng](https://github.com/jonaswinkler/paperless-ng) - Scan, index and archive all your physical documents
* [Piwigo](https://piwigo.org/) - Photo Gallery Software
@ -83,7 +82,6 @@ If you have a spare domain name you can configure applications to be accessible
* [Speedtest-Tracker](https://github.com/henrywhitaker3/Speedtest-Tracker) - Continuously track your internet speed
* [Syncthing](https://syncthing.net/) - sync directories with another device
* [Tautulli](http://tautulli.com/) - Monitor Your Plex Media Server
* [Telegraf](https://github.com/influxdata/telegraf) - Metrics collection agent
* [The Lounge](https://thelounge.chat) - Web based always-on IRC client
* [TiddlyWiki](https://tiddlywiki.com) - A unique non-linear notebook/wiki for capturing, organizing, and sharing complex information
* [TimeMachine](https://github.com/awlx/samba-timemachine) - Samba-based mac backup server

View file

@ -12,38 +12,6 @@
### Add your customisations to inventories/<your_inventory>/group_vars/nas.yml
###
###
### Ansible-NAS Applications
###
# System Management
stats_enabled: false
guacamole_enabled: false
virtual_desktop_enabled: false
krusader_enabled: false
# Backup & Restore
timemachine_enabled: false
# IRC
thelounge_enabled: false
# Wallabag
wallabag_enabled: false
# Home Automation
mosquitto_enabled: false
openhab_enabled: false
# Books
calibre_enabled: false
# Ubooquity
ubooquity_enabled: false
# Joomla
joomla_enabled: false
###
### General
###
@ -106,7 +74,7 @@ samba_server_string: Ansible NAS
# Shares you want published over Samba.
samba_shares:
- name: downloads
comment: 'Stuff downloaded'
comment: "Stuff downloaded"
guest_ok: yes
public: yes
writable: yes
@ -114,7 +82,7 @@ samba_shares:
path: "{{ downloads_root }}"
- name: movies
comment: 'Movies'
comment: "Movies"
guest_ok: yes
public: yes
writable: yes
@ -122,7 +90,7 @@ samba_shares:
path: "{{ movies_root }}"
- name: tv
comment: 'TV Episodes'
comment: "TV Episodes"
guest_ok: yes
public: yes
writable: yes
@ -130,7 +98,7 @@ samba_shares:
path: "{{ tv_root }}"
- name: music
comment: 'Music'
comment: "Music"
guest_ok: yes
public: yes
writable: yes
@ -138,7 +106,7 @@ samba_shares:
path: "{{ music_root }}"
- name: podcasts
comment: 'Podcasts'
comment: "Podcasts"
guest_ok: yes
public: yes
writable: yes
@ -146,7 +114,7 @@ samba_shares:
path: "{{ podcasts_root }}"
- name: dump
comment: 'File dump'
comment: "File dump"
guest_ok: yes
public: yes
writable: yes
@ -154,7 +122,7 @@ samba_shares:
path: "{{ samba_shares_root }}/dump"
- name: games
comment: 'Games'
comment: "Games"
guest_ok: yes
public: yes
writable: yes
@ -162,7 +130,7 @@ samba_shares:
path: "{{ samba_shares_root }}/games"
- name: photos
comment: 'Pictures'
comment: "Pictures"
guest_ok: yes
public: yes
writable: yes
@ -170,7 +138,7 @@ samba_shares:
path: "{{ photos_root }}"
- name: books
comment: 'Books'
comment: "Books"
guest_ok: yes
public: yes
writable: yes
@ -178,7 +146,7 @@ samba_shares:
path: "{{ books_root }}"
- name: audiobooks
comment: 'Audiobooks'
comment: "Audiobooks"
guest_ok: yes
public: yes
writable: yes
@ -186,7 +154,7 @@ samba_shares:
path: "{{ audiobooks_root }}"
- name: comics
comment: 'Comics'
comment: "Comics"
guest_ok: yes
public: yes
writable: yes
@ -194,7 +162,7 @@ samba_shares:
path: "{{ comics_root }}"
- name: documents
comment: 'Documents'
comment: "Documents"
guest_ok: yes
public: yes
writable: yes
@ -231,103 +199,3 @@ samba_map_to_guest: Bad Password
# The NetBIOS hostname used by Samba on your network
samba_netbios_name: "{{ ansible_nas_hostname }}"
###
### Joomla
###
joomla_data_directory: "{{ docker_home }}/joomla"
joomla_available_externally: false
joomla_database_password: top_secret
joomla_port: "8181"
###
### OpenVPN
###
openvpn_config_directory: "{{ docker_home }}/openvpn"
###
### Guacamole
###
guacamole_available_externally: false
guacamole_data_directory: "{{ docker_home }}/guacamole"
guacamole_port: "8090"
###
### Krusader
###
krusader_available_externally: false
krusader_config_directory: "{{ docker_home }}/krusader/config"
krusader_browse_directory: "/"
krusader_user_id: "0"
krusader_group_id: "0"
krusader_secure_connection: "0"
krusader_vnc_password: "topsecret"
krusader_port_http: "5800"
krusader_port_vnc: "5900"
###
### Time Machine
###
timemachine_data_directory: "{{ docker_home }}/timemachine"
timemachine_volume_size_limit: "0"
timemachine_password: timemachine
timemachine_share_name: Data
timemachine_log_level: error
timemachine_port: "10445"
###
### The Lounge
###
thelounge_available_externally: false
thelounge_data_directory: "{{ docker_home }}/thelounge"
thelounge_port_one: "113"
thelounge_port_two: "9002"
###
### Wallabag
###
wallabag_available_externally: false
wallabag_data_directory: "{{ docker_home }}/wallabag"
wallabag_port: "7780"
###
### Calibre-web
###
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"
###
### openHAB
###
openhab_available_externally: false
openhab_docker_image: openhab/openhab:latest
openhab_data_directory: "{{ docker_home }}/openhab"
openhab_port_http: "7777"
openhab_port_https: "7778"
###
### Ubooquity
###
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"
###
### Virtual Desktop
###
vd_data_directory: "{{ docker_home }}/virtual_desktop"
vd_docker_image: "rattydave/docker-ubuntu-xrdp-mate-custom:20.04-tools"
vd_users:
- username: "{{ ansible_nas_user }}"
password: "topsecret"
sudo: "Y"
vd_rdp_port: 3389

143
nas.yml
View file

@ -60,6 +60,11 @@
- booksonic
when: (booksonic_enabled | default(False))
- role: calibre
tags:
- calibre
when: (calibre_enabled | default(False))
- role: cloudcmd
tags:
- cloudcmd
@ -145,6 +150,11 @@
- gotify
when: (gotify_enabled | default(False))
- role: guacamole
tags:
- guacamole
when: (guacamole_enabled | default(False))
- role: healthchecks.io
tags:
- healthchecks.io
@ -160,16 +170,36 @@
- homeassistant
when: (homeassistant_enabled | default(False))
- role: homebridge
tags:
- homebridge
when: (homebridge_enabled | default(False))
- role: jackett
tags:
- jackett
when: (jackett_enabled | default(False))
- role: jellyfin
tags:
- jellyfin
when: (jellyfin_enabled | default(False))
- role: joomla
tags:
- joomla
when: (joomla_enabled | default(False))
- role: komga
tags:
- komga
when: (komga_enabled | default(False))
- role: krusader
tags:
- krusader
when: (krusader_enabled | default(False))
- role: lidarr
tags:
- lidarr
@ -245,6 +275,16 @@
- octoprint
when: (octoprint_enabled | default(False))
- role: ombi
tags:
- ombi
when: (ombi_enabled | default(False))
- role: openhab
tags:
- openhab
when: (openhab_enabled | default(False))
- role: organizr
tags:
- organizr
@ -265,6 +305,11 @@
- piwigo
when: (piwigo_enabled | default(False))
- role: plex
tags:
- plex
when: (plex_enabled | default(False))
- role: portainer
tags:
- portainer
@ -280,16 +325,6 @@
- pyload
when: (pyload_enabled | default(False))
- role: ombi
tags:
- ombi
when: (ombi_enabled | default(False))
- role: plex
tags:
- plex
when: (plex_enabled | default(False))
- role: pytivo
tags:
- pytivo
@ -300,11 +335,6 @@
- radarr
when: (radarr_enabled | default(False))
- role: sabnzbd
tags:
- sabnzbd
when: (sabnzbd_enabled | default(False))
- role: route53_ddns
tags:
- route53_ddns
@ -315,6 +345,11 @@
- rssbridge
when: (rssbridge_enabled | default(False))
- role: sabnzbd
tags:
- sabnzbd
when: (sabnzbd_enabled | default(False))
- role: sickchill
tags:
- sickchill
@ -340,11 +375,26 @@
- tautulli
when: (tautulli_enabled | default(False))
- role: thelounge
tags:
- thelounge
when: (thelounge_enabled | default(False))
- role: tiddlywiki
tags:
- tiddlywiki
when: (tiddlywiki_enabled | default(False))
- role: timemachine
tags:
- timemachine
when: (timemachine_enabled | default(False))
- role: traefik
tags:
- traefik
when: (traefik_enabled | default(False))
- role: transmission
tags:
- transmission
@ -355,20 +405,25 @@
- transmission_with_openvpn
when: (transmission_with_openvpn_enabled | default(False))
- role: ubooquity
tags:
- ubooquity
when: (ubooquity_enabled | default(False))
- role: utorrent
tags:
- utorrent
when: (utorrent_enabled | default(False))
- role: traefik
- role: virtual_desktop
tags:
- traefik
when: (traefik_enabled | default(False))
- virtual_desktop
when: (virtual_desktop_enabled | default(False))
- role: youtubedlmaterial
- role: wallabag
tags:
- youtubedlmaterial
when: (youtubedlmaterial_enabled | default(False))
- wallabag
when: (wallabag_enabled | default(False))
- role: watchtower
tags:
@ -380,48 +435,12 @@
- wireshark
when: (wireshark_enabled | default(False))
- role: youtubedlmaterial
tags:
- youtubedlmaterial
when: (youtubedlmaterial_enabled | default(False))
- role: znc
tags:
- znc
when: (znc_enabled | default(False))
tasks:
- import_tasks: tasks/thelounge.yml
when: (thelounge_enabled | default(False))
tags: thelounge
- import_tasks: tasks/timemachine.yml
when: (timemachine_enabled | default(False))
tags: timemachine
- import_tasks: tasks/guacamole.yml
when: (guacamole_enabled | default(False))
tags: guacamole
- import_tasks: tasks/joomla.yml
when: (joomla_enabled | default(False))
tags: joomla
- import_tasks: tasks/wallabag.yml
when: (wallabag_enabled | default(False))
tags: wallabag
- import_tasks: tasks/calibre.yml
when: (calibre_enabled | default(False))
tags: calibre
- import_tasks: tasks/openhab.yml
when: (openhab_enabled | default(False))
tags: openhab
- import_tasks: tasks/krusader.yml
when: (krusader_enabled | default(False))
tags: krusader
- import_tasks: tasks/ubooquity.yml
when: (ubooquity_enabled | default(False))
tags: ubooquity
- import_tasks: tasks/virtual_desktop.yml
when: (virtual_desktop_enabled | default(False))
tags: virtual_desktop

View file

@ -0,0 +1,21 @@
---
calibre_enabled: false
calibre_available_externally: false
# uid / gid
calibre_user_id: "0"
calibre_group_id: "0"
# directories
calibre_data_directory: "{{ docker_home }}/calibre"
calibre_books_root: "{{ books_root }}"
# other
calibre_ebook_conversion: "linuxserver/calibre-web:calibre"
# network
calibre_port: "8084"
calibre_hostname: "calibre"
# specs
calibre_memory: 1g

View file

@ -22,7 +22,7 @@
ports:
- "{{ calibre_port }}:8083"
restart_policy: unless-stopped
memory: 1g
memory: "{{ calibre_memory }}"
labels:
traefik.enable: "{{ calibre_available_externally | string }}"
traefik.http.routers.calibre.rule: "Host(`calibre.{{ ansible_nas_domain }}`)"

View file

@ -0,0 +1,13 @@
---
guacamole_enabled: false
guacamole_available_externally: false
# directories
guacamole_data_directory: "{{ docker_home }}/guacamole"
# network
guacamole_port: "8090"
guacamole_hostname: "guacamole"
# specs
guacamole_memory: 1g

View file

@ -25,8 +25,6 @@
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
@ -37,10 +35,10 @@
ports:
- "{{ guacamole_port }}:8080"
restart_policy: unless-stopped
memory: 1g
memory: "{{ guacamole_memory }}"
labels:
traefik.enable: "{{ guacamole_available_externally | string }}"
traefik.http.routers.guacamole.rule: "Host(`guacamole.{{ ansible_nas_domain }}`)"
traefik.http.routers.guacamole.rule: "Host(`{{ guacamole_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.guacamole.tls.certresolver: "letsencrypt"
traefik.http.routers.guacamole.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.guacamole.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,15 @@
---
joomla_enabled: false
joomla_available_externally: false
joomla_database_password: top_secret
# directories
joomla_data_directory: "{{ docker_home }}/joomla"
# network
joomla_port: "8181"
joomla_hostname: "joomla"
# specs
joomla_memory: 1g

View file

@ -37,10 +37,10 @@
JOOMLA_DB_USER: "root"
JOOMLA_DB_PASSWORD: "{{ joomla_database_password }}"
restart_policy: unless-stopped
memory: 1g
memory: "{{ joomla_memory }}"
labels:
traefik.enable: "{{ joomla_available_externally | string }}"
traefik.http.routers.joomla.rule: "Host(`joomla.{{ ansible_nas_domain }}`)"
traefik.http.routers.joomla.rule: "Host(`{{ joomla_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.joomla.tls.certresolver: "letsencrypt"
traefik.http.routers.joomla.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.joomla.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,22 @@
---
krusader_enabled: false
krusader_available_externally: false
krusader_secure_connection: "0"
krusader_vnc_password: "topsecret"
# uid / gid
krusader_user_id: "0"
krusader_group_id: "0"
# directories
krusader_config_directory: "{{ docker_home }}/krusader/config"
krusader_browse_directory: "/"
# network
krusader_port_http: "5800"
krusader_port_vnc: "5900"
krusader_hostname: "krusader"
# specs
krusader_memory: 1g

View file

@ -24,10 +24,10 @@
TZ: "{{ ansible_nas_timezone }}"
VNC_PASSWORD: "{{ krusader_vnc_password }}"
restart_policy: unless-stopped
memory: 1g
memory: "{{ krusader_memory }}"
labels:
traefik.enable: "{{ krusader_available_externally | string }}"
traefik.http.routers.krusader.rule: "Host(`krusader.{{ ansible_nas_domain }}`)"
traefik.enable: "{{ krusader_available_externally }}"
traefik.http.routers.krusader.rule: "Host(`{{ krusader_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.krusader.tls.certresolver: "letsencrypt"
traefik.http.routers.krusader.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.krusader.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,14 @@
---
openhab_enabled: false
openhab_available_externally: false
# directories
openhab_data_directory: "{{ docker_home }}/openhab"
# network
openhab_port_http: "7777"
openhab_port_https: "7778"
openhab_hostname: "openhab"
# specs
openhab_memory: 1g

View file

@ -30,7 +30,7 @@
- name: Create openHAB container
docker_container:
name: openHAB
image: "{{ openhab_docker_image }}"
image: openhab/openhab
pull: true
network_mode: "host"
volumes:
@ -43,10 +43,10 @@
OPENHAB_HTTP_PORT: "{{ openhab_port_http }}"
OPENHAB_HTTPS_PORT: "{{ openhab_port_https }}"
restart_policy: unless-stopped
memory: 1g
memory: "{{ openhab_memory }}"
labels:
traefik.enable: "{{ openhab_available_externally | string }}"
traefik.http.routers.openhab.rule: "Host(`openhab.{{ ansible_nas_domain }}`)"
traefik.http.routers.openhab.rule: "Host(`{{ openhab_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.openhab.tls.certresolver: "letsencrypt"
traefik.http.routers.openhab.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.openhab.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,14 @@
---
thelounge_enabled: false
thelounge_available_externally: false
# Directories
thelounge_data_directory: "{{ docker_home }}/thelounge"
# Networking
thelounge_port_one: "113"
thelounge_port_two: "9002"
thelounge_hostname: thelounge
# Container
thelounge_memory: 1g

View file

@ -25,10 +25,10 @@
- "{{ thelounge_data_directory }}:/var/opt/thelounge"
- "/var/run/dbus:/var/run/dbus"
restart_policy: unless-stopped
memory: 1g
memory: "{{ thelounge_memory }}"
labels:
traefik.enable: "{{ thelounge_available_externally | string }}"
traefik.http.routers.thelounge.rule: "Host(`thelounge.{{ ansible_nas_domain }}`)"
traefik.http.routers.thelounge.rule: "Host(`{{ thelounge_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.thelounge.tls.certresolver: "letsencrypt"
traefik.http.routers.thelounge.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.thelounge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,16 @@
---
timemachine_enabled: false
timemachine_volume_size_limit: "0"
timemachine_password: timemachine
timemachine_share_name: Data
timemachine_log_level: error
# Directories
timemachine_data_directory: "{{ docker_home }}/timemachine"
# Networking
timemachine_port: "10445"
# Container
timemachine_memory: 1g

View file

@ -21,7 +21,7 @@
- "nofile:1048576:1048576"
network_mode: bridge
restart_policy: unless-stopped
memory: 1g
memory: "{{ timemachine_memory }}"
- name: Install avahi
apt:

View file

@ -0,0 +1,18 @@
---
ubooquity_enabled: false
ubooquity_available_externally: false
# uid / gid
ubooquity_user_id: "0"
ubooquity_group_id: "0"
# Directories
ubooquity_data_directory: "{{ docker_home }}/ubooquity"
# Networking
ubooquity_port_webui: "2202"
ubooquity_port_admin: "2203"
ubooquity_hostname: ubooquity
# Container
ubooquity_memory: 1g

View file

@ -25,9 +25,10 @@
- "{{ ubooquity_port_webui }}:2202"
- "{{ ubooquity_port_admin }}:2203"
restart_policy: unless-stopped
memory: "{{ ubooquity_memory }}"
labels:
traefik.enable: "{{ ubooquity_available_externally | string }}"
traefik.http.routers.ubooquity.rule: "Host(`ubooquity.{{ ansible_nas_domain }}`)"
traefik.http.routers.ubooquity.rule: "Host(`{{ ubooquity }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.ubooquity.tls.certresolver: "letsencrypt"
traefik.http.routers.ubooquity.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.ubooquity.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -0,0 +1,22 @@
---
virtual_desktop_enabled: false
virtual_desktop_docker_image: "rattydave/docker-ubuntu-xrdp-mate-custom:20.04-tools"
virtual_desktop_users:
- username: "{{ ansible_nas_user }}"
password: "topsecret"
sudo: "Y"
# uid / gid
virtual_desktop_user_id: "0"
virtual_desktop_group_id: "0"
# Directories
virtual_desktop_data_directory: "{{ docker_home }}/virtual_desktop"
# Networking
virtual_desktop_rdp_port: 3389
# Container
virtual_desktop_memory: 2g

View file

@ -4,27 +4,27 @@
path: "{{ item }}"
state: directory
with_items:
- "{{ vd_data_directory }}"
- "{{ vd_data_directory }}/home"
- "{{ virtual_desktop_data_directory }}"
- "{{ virtual_desktop_data_directory }}/home"
- name: Create users file
template:
src: "templates/virtual_desktop/users.txt.j2"
dest: "{{ vd_data_directory }}/users.txt"
dest: "{{ virtual_desktop_data_directory }}/users.txt"
- name: Virtual Desktop Container
docker_container:
name: virtual_desktop
image: "{{ vd_docker_image }}"
image: "{{ virtual_desktop_docker_image }}"
pull: true
volumes:
- "{{ vd_data_directory }}/users.txt:/root/createusers.txt:ro"
- "{{ vd_data_directory }}/home:/home:rw"
- "{{ virtual_desktop_data_directory }}/users.txt:/root/createusers.txt:ro"
- "{{ virtual_desktop_data_directory }}/home:/home:rw"
- "{{ samba_shares_root }}:/samba:rw"
- "{{ docker_home }}:/docker:rw"
- "/etc/timezone:/etc/timezone:ro"
ports:
- "{{ vd_rdp_port }}:3389"
- "{{ virtual_desktop_rdp_port }}:3389"
privileged: true
restart_policy: unless-stopped
memory: 2g
memory: "{{ virtual_desktop_memory }}"

View file

@ -0,0 +1,13 @@
---
wallabag_enabled: false
wallabag_available_externally: false
# Directories
wallabag_data_directory: "{{ docker_home }}/wallabag"
# Networking
wallabag_port: "7780"
wallabag_hostname: wallabag
# Container
wallabag_memory: 1g

View file

@ -20,10 +20,10 @@
env:
SYMFONY__ENV__DOMAIN_NAME: "https://wallabag.{{ ansible_nas_domain }}"
restart_policy: unless-stopped
memory: 1g
memory: "{{ wallabag_memory }}"
labels:
traefik.enable: "{{ wallabag_available_externally | string }}"
traefik.http.routers.wallabag.rule: "Host(`wallabag.{{ ansible_nas_domain }}`)"
traefik.http.routers.wallabag.rule: "Host(`{{ wallabag_hostname }}.{{ ansible_nas_domain }}`)"
traefik.http.routers.wallabag.tls.certresolver: "letsencrypt"
traefik.http.routers.wallabag.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.wallabag.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"

View file

@ -1 +1 @@
{% for user in vd_users %}{{ user.username }}:{{ user.password }}:{{ user.sudo }}{% endfor %}
{% for user in virtual_desktop_users %}{{ user.username }}:{{ user.password }}:{{ user.sudo }}{% endfor %}