2 Commits

5 changed files with 36 additions and 4 deletions

View File

@ -0,0 +1,21 @@
# `finallycoffee.services.hedgedoc` ansible role
Role to deploy and configure hedgedoc using `docker` or `podman`.
To configure hedgedoc, set either the config as complex data
directly in `hedgedoc_config` or use the flattened variables
from the `hedgedoc_config_*` prefix (see
[defaults/main/config.yml](defaults/main/config.yml)).
To remove hedgedoc, set `hedgedoc_state: absent`. Note that this
will delete all data directories aswell, removing any traces this
role created on the target (except database contents).
# Required configuration
- `hedgedoc_config_domain` - Domain of the hedgedoc instance
- `hedgedoc_config_session_secret` - session secret for hedgedoc
## Deployment methods
To set the desired deployment method, set `hedgedoc_deployment_method` to a
supported deployment methods (see [vars/main.yml](vars/main.yml#5)).

View File

@ -48,7 +48,10 @@ hedgedoc_container_all_volumes: >-2
hedgedoc_container_base_labels: hedgedoc_container_base_labels:
version: "{{ hedgedoc_container_tag | default(hedgedoc_version, true) }}" version: "{{ hedgedoc_container_tag | default(hedgedoc_version, true) }}"
hedgedoc_container_labels: ~ hedgedoc_container_labels: ~
hedgedoc_container_network_mode: ~
hedgedoc_container_all_labels: >-2 hedgedoc_container_all_labels: >-2
{{ hedgedoc_container_base_labels | default({}, true) {{ hedgedoc_container_base_labels | default({}, true)
| combine(hedgedoc_container_labels | default({}, true)) }} | combine(hedgedoc_container_labels | default({}, true)) }}
hedgedoc_container_restart_policy: "unless-stopped" hedgedoc_container_restart_policy: >-2
{{ (hedgedoc_deployment_method === 'docker')
| ternary('unless-stopped', 'on-failure') }}

View File

@ -1,5 +1,5 @@
--- ---
hedgedoc_run_user_id: >-2 hedgedoc_run_user_id: >-2
{{ hedgedoc_user_info.uid | default(hedgedoc_user }} {{ hedgedoc_user_info.uid | default(hedgedoc_user) }}
hedgedoc_run_group_id: >-2 hedgedoc_run_group_id: >-2
{{ hedgedoc_user_info.group | default(hedgedoc_user }} {{ hedgedoc_user_info.group | default(hedgedoc_user) }}

View File

@ -17,8 +17,15 @@
name: "{{ hedgedoc_container_name }}" name: "{{ hedgedoc_container_name }}"
image: "{{ hedgedoc_container_image }}" image: "{{ hedgedoc_container_image }}"
env: "{{ hedgedoc_container_env | default(omit, true) }}" env: "{{ hedgedoc_container_env | default(omit, true) }}"
user: "{{ hedgedoc_container_user | default(omit, true) }}"
ports: "{{ hedgedoc_container_ports | default(omit, true) }}"
labels: "{{ hedgedoc_container_all_labels }}" labels: "{{ hedgedoc_container_all_labels }}"
volumes: "{{ hedgedoc_container_all_volumes }}" volumes: "{{ hedgedoc_container_all_volumes }}"
etc_hosts: "{{ hedgedoc_container_etc_hosts | default(omit, true) }}" etc_hosts: "{{ hedgedoc_container_etc_hosts | default(omit, true) }}"
restart_policy: "{{ hedgedoc_container_restart_policy | default(omit, true) }}" dns_servers: >-2
{{ hedgedoc_container_dns_servers | default(omit, true) }}
network_mode: >-2
{{ hedgedoc_container_network_mode | default(omit, true) }}
restart_policy: >-2
{{ hedgedoc_container_restart_policy | default(omit, true) }}
state: "{{ hedgedoc_container_state }}" state: "{{ hedgedoc_container_state }}"

View File

@ -4,6 +4,7 @@ hedgedoc_states:
- absent - absent
hedgedoc_deployment_methods: hedgedoc_deployment_methods:
- docker - docker
- podman
hedgedoc_required_arguments: hedgedoc_required_arguments:
- hedgedoc_config_domain - hedgedoc_config_domain