Merge branch 'Krusader-addition' of https://github.com/bcurran3/ansible-nas into bcurran3-Krusader-addition

* 'Krusader-addition' of https://github.com/bcurran3/ansible-nas:
  added variables for PUID, GUID, secure or not, and default VNC password
  added variables for PUID, GUID, secure or not, and default VNC password
  Krusader add
  Krusader add
  Krusader add
  Krusader add
  Krusader add
  Krusader add
  Krusader add
This commit is contained in:
David Stephens 2020-05-10 22:14:33 +01:00
commit eadfe38f2b
7 changed files with 68 additions and 0 deletions

View file

@ -55,6 +55,7 @@ Ansible config and a bunch of Docker containers.
* [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
* [https://krusader.org/](https://krusader.org/) - Twin panel file management for your desktop
* [Lidarr](https://github.com/lidarr/Lidarr) - Music collection manager for Usenet and BitTorrent users
* [MiniDlna](https://sourceforge.net/projects/minidlna/) - simple media server which is fully compliant with DLNA/UPnP-AV clients
* [Miniflux](https://miniflux.app/) - An RSS news reader

View file

@ -0,0 +1,13 @@
# Krusader
Homepage: [https://krusader.org/](https://krusader.org/)
Docker Container: [https://hub.docker.com/r/djaydev/krusader](https://hub.docker.com/r/djaydev/krusader)
Krusader provides twin panel file management for your ansible-nas via browser and VNC.
## Usage
Set `krusader_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
The Krusader web interface can be found at http://ansible_nas_host_or_ip:5800.

View file

@ -30,6 +30,8 @@ By default, applications can be found on the ports listed below.
| Jackett | 9117 | |
| Jellyfin | 8896 | HTTP |
| Jellyfin | 8928 | HTTPS |
| Krusader | 5800 | HTTP |
| Krusader | 5800 | VNC |
| Lidarr | 8686 | |
| MiniDLNA | 8201 | |
| Miniflux | 8070 | |

View file

@ -59,6 +59,7 @@ watchtower_enabled: false
cloudflare_ddns_enabled: false
cloudcmd_enabled: false
virtual_desktop_enabled: false
krusader_enabled: false
# Backup & Restore
duplicati_enabled: false
@ -678,6 +679,19 @@ cloudcmd_user_id: "0"
cloudcmd_group_id: "0"
cloudcmd_port: "7373"
###
### Krusader
###
krusader_available_externally: "false"
krusader_data_directory: "{{ docker_home }}/krusader"
krusader_browse_directory: "/"
krusader_user_id: "0"
krusader_group_id: "0"
krusader_secure_connection: "1"
krusader_vnc_password: "topsecret"
krusader_port_http: "5800"
krusader_port_vnc: "5900"
###
### Watchtower
###

View file

@ -212,6 +212,10 @@
when: (cloudcmd_enabled | default(False))
tags: cloudcmd
- import_tasks: tasks/krusader.yml
when: (krusader_enabled | default(False))
tags: krusader
- import_tasks: tasks/ubooquity.yml
when: (ubooquity_enabled | default(False))
tags: ubooquity

33
tasks/krusader.yml Normal file
View file

@ -0,0 +1,33 @@
---
- name: Krusader Directory
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ krusader_data_directory }}/krusader"
- name: Krusader Docker Container
docker_container:
name: krusader
image: djaydev/krusader:latest
pull: true
volumes:
- "{{ krusader_data_directory }}/config:/config:rw"
- "{{ krusader_browse_directory }}:/mnt/fs"
ports:
- "{{ krusader_port_http }}:5800"
- "{{ krusader_port_vnc }}:5900"
env:
USER_ID: "{{ krusader_user_id }}"
GROUP_ID: "{{ krusader_group_id }}"
SECURE_CONNECTION: "{{ krusader_secure_connection }}"
TZ: "{{ ansible_nas_timezone }}"
VNC_PASSWORD: "{{ krusader_vnc_password }}"
restart_policy: unless-stopped
labels:
traefik.backend: "krusader"
traefik.frontend.rule: "Host:krusader.{{ ansible_nas_domain }}"
traefik.enable: "{{ krusader_available_externally }}"
traefik.port: "5800"
memory: 1g

View file

@ -198,6 +198,7 @@ onDemand = false # create certificate when container is created
"jackett.{{ ansible_nas_domain }}",
"jellyfin.{{ ansible_nas_domain }}",
"joomla.{{ ansible_nas_domain }}",
"krusader.{{ ansible_nas_domain }}",
"lidarr.{{ ansible_nas_domain }}",
"miniflux.{{ ansible_nas_domain }}",
"netdata.{{ ansible_nas_domain }}",