* tasks/main.yml: prefix all builtin modules with ansible.builtin (file, template) — silences ansible-lint fqcn[action-core] and matches the convention used by the other roles in this collection. * meta/main.yml: change min_ansible_version from the float 2.14 to the string '2.14'. ansible-galaxy's schema requires a string here (ansible-lint schema[meta] complains otherwise — same fix I just applied to the opnform role). |
||
|---|---|---|
| .. | ||
| defaults | ||
| handlers | ||
| meta | ||
| tasks | ||
| templates | ||
| vars | ||
| README.md | ||
Send
Deploys a self-hosted Send instance (timvisee fork of the discontinued Mozilla Send) with a Redis backend behind Traefik, using Docker Compose.
Requirements
- Docker +
docker composeplugin on the target host - Traefik (role
digitalboard.core.traefik) reachable via an external Docker network namedproxy(default) - DNS for each entry in
send_domainspointing at the reverse proxy - Optional: a Garage S3 bucket if
send_storage_backend: s3
Role Variables
Important defaults (see defaults/main.yml for the full list):
| Variable | Default | Description |
|---|---|---|
send_domains |
["send.local.test"] |
FQDNs the router accepts; first entry is the canonical BASE_URL |
send_image |
registry.gitlab.com/timvisee/send:latest |
Send container image |
send_max_file_size |
1073741824 |
Max upload size in bytes (1 GiB) |
send_max_expire_seconds |
604800 |
Max share lifetime (7 d) |
send_storage_backend |
local |
local (volume) or s3 |
send_s3_* |
"" |
S3 endpoint/bucket/key/secret (when backend is s3) |
send_use_ssl |
true |
Issue Traefik labels for the websecure entrypoint |
Dependencies
None.
Example Playbook
- hosts: send_servers
become: true
roles:
- digitalboard.core.send
With S3 (Garage) backend:
send_storage_backend: s3
send_s3_endpoint: "http://{{ hostvars['backend']['garage_s3_domain'] }}"
send_s3_bucket: "send"
send_s3_access_key: "{{ lookup('digitalboard.core.garage_credentials', 'send', host='backend')['key_id'] }}"
send_s3_secret_key: "{{ lookup('digitalboard.core.garage_credentials', 'send', host='backend')['secret_key'] }}"
License
MIT