From 08a32bb2f7ab9f581a95049b88d13dca4611241a Mon Sep 17 00:00:00 2001 From: chatton Date: Fri, 7 Jul 2023 18:18:24 +0100 Subject: [PATCH] added linkding --- roles/portainer_linkding/defaults/main.yml | 22 ++++++++++++ roles/portainer_linkding/tasks/main.yml | 35 +++++++++++++++++++ roles/portainer_vaultwarden/defaults/main.yml | 2 ++ roles/portainer_vaultwarden/tasks/main.yml | 3 +- 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 roles/portainer_linkding/defaults/main.yml create mode 100644 roles/portainer_linkding/tasks/main.yml diff --git a/roles/portainer_linkding/defaults/main.yml b/roles/portainer_linkding/defaults/main.yml new file mode 100644 index 0000000..c1d2c49 --- /dev/null +++ b/roles/portainer_linkding/defaults/main.yml @@ -0,0 +1,22 @@ +--- +linkding_image: sissbruecker/linkding +linkding_tag: latest +linkding_backup_enabled: true +linkding_backup_schedule: "nightly" +linkding_expose_port: 9090 +linkding_portainer_stack_name: linkding +linkding_container_name: linkding +linkding_restart_policy: unless-stopped + +# Environment variables +linkding_websocket_enabled: true +linkding_sends_allowed: true +linkding_emergency_access_allowed: true +linkding_domain: "https://vault.cianhatton.ie" +linkding_signups_allowed: false +linkding_webvault_enabled: true + +# Backup variables +linkding_docker_backup_restore_force: false +linkding_docker_backup_restore_latest_s3_key: true +linkding_docker_backup_fail_on_no_s3_backups: false diff --git a/roles/portainer_linkding/tasks/main.yml b/roles/portainer_linkding/tasks/main.yml new file mode 100644 index 0000000..8428c31 --- /dev/null +++ b/roles/portainer_linkding/tasks/main.yml @@ -0,0 +1,35 @@ +--- +- name: "Linkding | Restore any missing volumes from S3" + ansible.builtin.include_role: + name: chatton.docker_backup.docker_s3_volume_restore + vars: + docker_backup_restore_force: "{{ linkding_docker_backup_restore_force }}" + docker_backup_restore_latest_s3_key: "{{ linkding_docker_backup_restore_latest_s3_key }}" + docker_backup_fail_on_no_s3_backups: "{{ linkding_docker_backup_fail_on_no_s3_backups }}" + docker_backup_s3_volume: + name: "{{ linkding_portainer_stack_name }}_data" + +- name: "Linkding | Update Portainer." + chatton.portainer.portainer_stack: + username: admin + password: '{{ portainer.password }}' + base_url: '{{ portainer_base_url }}' + stack_name: '{{ linkding_portainer_stack_name }}' + endpoint_id: '{{ portainer_endpoint }}' + state: present + definition: + version: '3' + services: + linkding: + labels: + ie.cianhatton.backup.enabled: "{{ linkding_backup_enabled }}" + ie.cianhatton.backup.schedule: "{{ linkding_backup_schedule }}" + container_name: "{{ linkding_container_name }}" + image: "{{ linkding_image }}:{{ linkding_tag }}" + ports: + - "{{ linkding_expose_port }}:9090" + volumes: + - "data:/etc/linkding/data" + restart: "{{ linkding_restart_policy }}" + volumes: + data: {} diff --git a/roles/portainer_vaultwarden/defaults/main.yml b/roles/portainer_vaultwarden/defaults/main.yml index b3af832..60b184f 100644 --- a/roles/portainer_vaultwarden/defaults/main.yml +++ b/roles/portainer_vaultwarden/defaults/main.yml @@ -5,6 +5,8 @@ vaultwarden_backup_enabled: true vaultwarden_backup_schedule: "nightly" vaultwarden_expose_port: 80 vaultwarden_portainer_stack_name: vaultwarden +vaultwarden_container_name: vaultwarden +vaultwarden_restart_policy: unless-stopped # Environment variables vaultwarden_websocket_enabled: true diff --git a/roles/portainer_vaultwarden/tasks/main.yml b/roles/portainer_vaultwarden/tasks/main.yml index 158d0ce..df79bf3 100644 --- a/roles/portainer_vaultwarden/tasks/main.yml +++ b/roles/portainer_vaultwarden/tasks/main.yml @@ -25,6 +25,7 @@ ie.cianhatton.backup.enabled: "{{ vaultwarden_backup_enabled }}" ie.cianhatton.backup.schedule: "{{ vaultwarden_backup_schedule }}" image: "{{ vaultwarden_image }}:{{ vaultwarden_tag }}" + container_name: "{{ vaultwarden_container_name }}" environment: WEBSOCKET_ENABLED: "{{ vaultwarden_websocket_enabled }}" SENDS_ALLOWED: "{{ vaultwarden_sends_allowed }}" @@ -33,7 +34,7 @@ DOMAIN: "{{ vaultwarden_domain }}" ADMIN_TOKEN: "{{ vaultwarden_admin_token }}" SIGNUPS_ALLOWED: "{{ vaultwarden_signups_allowed }}" - restart: unless-stopped + restart: "{{ vaultwarden_restart_policy }}" ports: - "{{ vaultwarden_expose_port }}:80" volumes: