cloud commander support

This commit is contained in:
Koldo Aingeru 2019-10-05 12:53:49 +02:00
parent 8282c5823c
commit 7f73907f7e
7 changed files with 59 additions and 0 deletions

View file

@ -25,11 +25,13 @@ Ansible config and a bunch of Docker containers.
* A Docker host with Portainer for image and container management
* An automatic dynamic DNS updater if you use Cloudflare to host your domain DNS
* A Personal finance manager
* A dual panel local file manager
### Docker Containers Used
* [Airsonic](https://airsonic.github.io/) - catalog and stream music
* [Bitwarden_rs](https://github.com/dani-garcia/bitwarden_rs) - Self-Hosting port of password manager
* [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
* [Duplicati](https://www.duplicati.com/) - for backing up your stuff

View file

@ -0,0 +1,11 @@
# Cloud Commander file manager
Homepage: [https://cloudcmd.io/](https://cloudcmd.io/)
Cloud Commander is a file manager for the web. It includes a command-line console and a text editor. Cloud Commander helps you manage your server and work with files, directories and programs in a web browser from any computer, mobile or tablet.
## Usage
Set `cloudcmd_enabled: true` in your `group_vars/all.yml` file. Then setup the folder you want to manager with `cloudcmd_browse_directory`, if you define it as `/` you will see all of your nas in `/mnt/fs`.

View file

@ -4,6 +4,7 @@ By default, applications can be found on the ports listed below.
| Application | Port | Notes |
|-----------------|--------|-----------|
| Cloud Commander | 7373 | |
| Couchpotato | 5050 | |
| Bitwarden "hub" | 3012 | Web Not. |
| Bitwarden | 19080 | HTTP |

View file

@ -54,6 +54,8 @@ guacamole_enabled: false
netdata_enabled: false
watchtower_enabled: false
cloudflare_ddns_enabled: false
cloudcmd_enabled: true
# Backup & Restore
duplicati_enabled: false
@ -476,6 +478,15 @@ miniflux_admin_password: supersecure
airsonic_available_externally: "false"
airsonic_data_directory: "{{ docker_home }}/airsonic"
###
### CloudCmd
###
cloudcmd_available_externally: "false"
cloudcmd_data_directory: "{{ docker_home }}/cloudcmd/config"
cloudcmd_browse_directory: "/"
cloudcmd_user_id: 0
cloudcmd_group_id: 0
###
### Watchtower
###

View file

@ -171,3 +171,7 @@
- import_tasks: tasks/mosquitto.yml
when: (mosquitto_enabled | default(False))
tags: mosquitto
- import_tasks: tasks/cloudcmd.yml
when: (cloudcmd_enabled | default(False))
tags: cloudcmd

29
tasks/cloudcmd.yml Normal file
View file

@ -0,0 +1,29 @@
---
- name: Create CloudCmd Directories
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ cloudcmd_data_directory }}"
- name: CloudCmd
docker_container:
name: cloudcmd
image: coderaiser/cloudcmd
pull: true
volumes:
- "{{ cloudcmd_data_directory }}:/config:rw"
- "{{ cloudcmd_browse_directory }}:/mnt/fs"
ports:
- "7373:8000"
env:
TZ: "{{ ansible_nas_timezone }}"
PUID: "{{ cloudcmd_user_id }}"
PGID: "{{ cloudcmd_group_id }}"
restart_policy: unless-stopped
memory: 1g
labels:
traefik.backend: "cloudcmd"
traefik.frontend.rule: "Host:cloudcmd.{{ ansible_nas_domain }}"
traefik.enable: "{{ cloudcmd_available_externally }}"
traefik.port: "7373"

View file

@ -181,6 +181,7 @@ onDemand = false # create certificate when container is created
# we request a certificate for everything, because why not.
sans = ["airsonic.{{ ansible_nas_domain }}",
"bitwarden.{{ ansible_nas_domain }}",
"cloudcmd.{{ ansible_nas_domain }}",
"couchpotato.{{ ansible_nas_domain }}",
"duplicati.{{ ansible_nas_domain }}",
"emby.{{ ansible_nas_domain }}",