aboutsummaryrefslogtreecommitdiffstats
path: root/roles
diff options
context:
space:
mode:
authorStonewall Jackson <stonewall@sacredheartsc.com>2023-02-19 08:28:07 -0500
committerStonewall Jackson <stonewall@sacredheartsc.com>2023-02-19 08:28:07 -0500
commite709b620a2905eec51d112f579d16cbfbe2d0e77 (patch)
treecc37f7832d8eb92e33cc0076063db7d6b1d98704 /roles
parentacc09a8a39afd1a0df773075fcf6925b54b557fd (diff)
downloadselfhosted-e709b620a2905eec51d112f579d16cbfbe2d0e77.tar.gz
selfhosted-e709b620a2905eec51d112f579d16cbfbe2d0e77.zip
psitransfer: add docs
Diffstat (limited to 'roles')
-rw-r--r--roles/psitransfer/README.md60
-rw-r--r--roles/psitransfer/defaults/main.yml13
-rw-r--r--roles/psitransfer/vars/main.yml10
3 files changed, 70 insertions, 13 deletions
diff --git a/roles/psitransfer/README.md b/roles/psitransfer/README.md
new file mode 100644
index 0000000..2f27bd2
--- /dev/null
+++ b/roles/psitransfer/README.md
@@ -0,0 +1,60 @@
+PsiTransfer
+======
+
+Description
+-----------
+
+The `psitransfer` role installs and configures [PsiTransfer](https://github.com/psi-4ward/psitransfer),
+a web application for sharing files.
+
+This role configures the NodeJS application only; it does not configure a reverse
+proxy.
+
+
+Variables
+---------
+
+This role **accepts** the following variables:
+
+Variable | Default | Description
+-------------------------------|-----------------------------------|------------
+`psitransfer_version` | see [defaults](defaults/main.yml) | Git version to install
+`psitransfer_port` | 8080 | Local listening port
+`psitransfer_admin_password` | &nbsp; | Password to access `/admin` page
+`psitransfer_upload_cidrs` | `[]` | CIDRs allowed to upload files
+`psitransfer_admin_cidrs` | `[]` | CIDRs allowed to access admin page
+`psitransfer_max_file_size` | `1 GB` | Maximum file size
+`psitransfer_max_bucket_size` | `5 GB` | Maximum upload group size
+`psitransfer_max_preview_size` | `32 MB` | Maximum size for thumbnail generation
+
+This role **exports** the following variables:
+
+Variable | Description
+----------------------------|------------
+`psitransfer_apache_config` | Apache config block to configure a reverse proxy
+
+
+Usage
+-----
+
+Example playbook:
+
+````yaml
+- name: configure psitransfer
+ hosts: filedrop_servers
+ roles:
+ - role: psitransfer
+ psitransfer_port: 8080
+ psitransfer_admin_password: s3cret
+ psitransfer_upload_cidrs:
+ - 10.10.10.0/24
+ - 10.10.11.0/24
+ psitransfer_admin_cidrs:
+ - 10.10.10.0/24
+
+ - role: apache_vhost
+ apache_server_name: psitransfer.example.com
+ apache_server_aliases: []
+ apache_letsencrypt: yes
+ apache_config: '{{ psitransfer_apache_config }}'
+````
diff --git a/roles/psitransfer/defaults/main.yml b/roles/psitransfer/defaults/main.yml
index e43067f..280447c 100644
--- a/roles/psitransfer/defaults/main.yml
+++ b/roles/psitransfer/defaults/main.yml
@@ -1,22 +1,9 @@
psitransfer_version: 2.1.2
psitransfer_port: 8080
-psitransfer_server_name: '{{ ansible_fqdn }}'
-psitransfer_server_aliases: '{{ cnames }}'
-
psitransfer_upload_cidrs: []
psitransfer_admin_cidrs: []
-psitransfer_retentions:
- one-time: one time download
- 3600: 1 hour
- 86400: 1 day
- 604800: 1 week
- 2419200: 1 month
- 4838400: 2 months
-
-psitransfer_default_retention: 604800
-
psitransfer_max_file_size: 1 GB
psitransfer_max_bucket_size: 5 GB
psitransfer_max_preview_size: 32 MB
diff --git a/roles/psitransfer/vars/main.yml b/roles/psitransfer/vars/main.yml
index d6007fa..486eae0 100644
--- a/roles/psitransfer/vars/main.yml
+++ b/roles/psitransfer/vars/main.yml
@@ -4,6 +4,16 @@ psitransfer_data_dir: '{{ psitransfer_home }}/data'
psitransfer_user: psitransfer
psitransfer_url: https://github.com/psi-4ward/psitransfer/releases/download/v{{ psitransfer_version }}/psitransfer-v{{ psitransfer_version }}.tar.gz
+psitransfer_default_retention: 604800
+psitransfer_retentions:
+ one-time: one time download
+ 3600: 1 hour
+ 86400: 1 day
+ 604800: 1 week
+ 2419200: 1 month
+ 4838400: 2 months
+
+
psitransfer_archive_shell: >-
TIMESTAMP=$(date +%Y%m%d%H%M%S);
tar czf "psitransfer-${TIMESTAMP}.tar.gz"