mirror of
https://github.com/davestephens/ansible-nas
synced 2024-12-24 10:33:06 +00:00
Merge pull request #482 from wmudge/duplicity-web
Add role for Duplicacy Web UI
This commit is contained in:
commit
24dcd06767
6 changed files with 83 additions and 0 deletions
|
@ -44,6 +44,7 @@ Ansible config and a bunch of Docker containers.
|
||||||
* [CouchPotato](https://couchpota.to/) - for downloading and managing movies
|
* [CouchPotato](https://couchpota.to/) - for downloading and managing movies
|
||||||
* [Deluge](https://dev.deluge-torrent.org/) - A lightweight, Free Software, cross-platform BitTorrent client.
|
* [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.
|
* [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
|
* [Duplicati](https://www.duplicati.com/) - for backing up your stuff
|
||||||
* [Emby](https://emby.media/) - Media streaming and management
|
* [Emby](https://emby.media/) - Media streaming and management
|
||||||
* [Firefly III](https://firefly-iii.org/) - Free and open source personal finance manager
|
* [Firefly III](https://firefly-iii.org/) - Free and open source personal finance manager
|
||||||
|
|
15
docs/applications/duplicacy.md
Normal file
15
docs/applications/duplicacy.md
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Duplicacy Cloud Backup
|
||||||
|
|
||||||
|
Homepage: [https://duplicacy.com/](https://duplicacy.com/)
|
||||||
|
|
||||||
|
Duplicacy is a next-generation, cross-platform, cloud backup tool. Duplicacy backs up your files to many cloud storages with client-side encryption and the highest level of deduplication.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Set `duplicacy_enabled: true` in your `inventories/<your_inventory>/nas.yml` file.
|
||||||
|
|
||||||
|
Duplicacy's web interface can be found at http://ansible_nas_host_or_ip:3875.
|
||||||
|
|
||||||
|
## Specific Configuration
|
||||||
|
|
||||||
|
The Duplicacy Web UI container has a number of configurations
|
|
@ -13,6 +13,7 @@ By default, applications can be found on the ports listed below.
|
||||||
| Cloud Commander | 7373 | Bridge | HTTP |
|
| Cloud Commander | 7373 | Bridge | HTTP |
|
||||||
| Couchpotato | 5050 | Bridge | HTTP |
|
| Couchpotato | 5050 | Bridge | HTTP |
|
||||||
| DokuWiki | 8085 | Bridge | HTTP |
|
| DokuWiki | 8085 | Bridge | HTTP |
|
||||||
|
| Duplicacy | 3875 | Bridge | HTTP |
|
||||||
| Duplicati | 8200 | Bridge | HTTP |
|
| Duplicati | 8200 | Bridge | HTTP |
|
||||||
| Emby | 8096 | Bridge | HTTP |
|
| Emby | 8096 | Bridge | HTTP |
|
||||||
| Emby | 8096 | Bridge | HTTP |
|
| Emby | 8096 | Bridge | HTTP |
|
||||||
|
|
5
nas.yml
5
nas.yml
|
@ -83,6 +83,11 @@
|
||||||
- deluge
|
- deluge
|
||||||
when: (deluge_enabled | default(False))
|
when: (deluge_enabled | default(False))
|
||||||
|
|
||||||
|
- role: duplicacy
|
||||||
|
tags:
|
||||||
|
- duplicacy
|
||||||
|
when: (duplicacy_enabled | default(False))
|
||||||
|
|
||||||
- role: duplicati
|
- role: duplicati
|
||||||
tags:
|
tags:
|
||||||
- duplicati
|
- duplicati
|
||||||
|
|
24
roles/duplicacy/defaults/main.yml
Normal file
24
roles/duplicacy/defaults/main.yml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
---
|
||||||
|
duplicacy_enabled: false
|
||||||
|
duplicacy_available_externally: "false"
|
||||||
|
|
||||||
|
# directories
|
||||||
|
duplicacy_config_directory: "{{ docker_home }}/duplicacy/config"
|
||||||
|
duplicacy_logs_directory: "{{ docker_home }}/duplicacy/logs"
|
||||||
|
duplicacy_cache_directory: "{{ docker_home}}/duplicacy/cache"
|
||||||
|
|
||||||
|
# permissions
|
||||||
|
duplicacy_data_permissions: "ro" # Change to 'rw' to allow the UI to restore data
|
||||||
|
|
||||||
|
# version
|
||||||
|
duplicacy_web_version: "Stable"
|
||||||
|
|
||||||
|
# uid / gid
|
||||||
|
duplicacy_user_id: "0"
|
||||||
|
duplicacy_group_id: "0"
|
||||||
|
|
||||||
|
# network
|
||||||
|
duplicacy_port: "3875"
|
||||||
|
duplicacy_hostname: "duplicacy"
|
||||||
|
|
||||||
|
duplicacy_memory: 1g
|
37
roles/duplicacy/tasks/main.yml
Normal file
37
roles/duplicacy/tasks/main.yml
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
---
|
||||||
|
- name: Create Duplicacy Directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items:
|
||||||
|
- "{{ duplicacy_config_directory }}"
|
||||||
|
- "{{ duplicacy_logs_directory }}"
|
||||||
|
- "{{ duplicacy_cache_directory }}"
|
||||||
|
|
||||||
|
- name: Duplicacy Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: duplicacy
|
||||||
|
image: saspus/duplicacy-web:mini
|
||||||
|
hostname: "{{ duplicacy_hostname }}"
|
||||||
|
pull: true
|
||||||
|
ports:
|
||||||
|
- "{{ duplicacy_port }}:3875"
|
||||||
|
volumes:
|
||||||
|
- "{{ duplicacy_config_directory }}:/config:rw"
|
||||||
|
- "{{ duplicacy_logs_directory }}:/logs:rw"
|
||||||
|
- "{{ duplicacy_cache_directory }}:/cache:rw"
|
||||||
|
- "{{ samba_shares_root }}:/backuproot:{{ duplicacy_data_permissions }}"
|
||||||
|
env:
|
||||||
|
DUPLICACY_WEB_VERSION: "{{ duplicacy_web_version }}"
|
||||||
|
TZ: "{{ ansible_nas_timezone }}"
|
||||||
|
USR_ID: "{{ duplicacy_user_id }}"
|
||||||
|
GRP_ID: "{{ duplicacy_group_id }}"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
memory: "{{ duplicacy_memory }}"
|
||||||
|
labels:
|
||||||
|
traefik.enable: "{{ duplicacy_available_externally }}"
|
||||||
|
traefik.http.routers.duplicacy.rule: "Host(`{{ duplicacy_hostname }}.{{ ansible_nas_domain }}`)"
|
||||||
|
traefik.http.routers.duplicacy.tls.certresolver: "letsencrypt"
|
||||||
|
traefik.http.routers.duplicacy.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.routers.duplicacy.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.services.duplicacy.loadbalancer.server.port: "3875"
|
Loading…
Reference in a new issue