Merge pull request #482 from wmudge/duplicity-web

Add role for Duplicacy Web UI
This commit is contained in:
David Stephens 2021-12-13 15:47:50 -08:00 committed by GitHub
commit 24dcd06767
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 83 additions and 0 deletions

View file

@ -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

View 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

View file

@ -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 |

View file

@ -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

View 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

View 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"