feat(linkding): Add linkding stack

Bookmarking software similar to shaarli but a bit more featureful. And
not written in php, thankfully.
This commit is contained in:
Marty Oehme 2025-03-07 21:42:45 +01:00
parent 83613f6d86
commit 447e15f9e9
Signed by: Marty
GPG key ID: 4E535BC19C61886E
7 changed files with 195 additions and 0 deletions

View file

@ -0,0 +1,52 @@
## Register reverse proxy
- name: Ensure upstream directory exists
ansible.builtin.file:
path: "{{ linkding_upstream_file_dir }}"
state: directory
mode: "0755"
become: true
listen: "update linkding upstream"
- name: Update upstream template
ansible.builtin.template:
src: upstream.json.j2
dest: "{{ linkding_upstream_file_dir }}/upstream.json"
become: true
listen: "update linkding upstream"
# figure out if upstream id exists
- name: check {{ stack_name }} upstream
community.docker.docker_container_exec:
container: "{{ caddy_container_id }}"
command: >
curl localhost:2019/id/{{ stack_name }}_upstream/
changed_when: False
register: result
become: true
listen: "update linkding upstream"
# upstream already exists, patch it
- name: remove old {{ stack_name }} upstream
community.docker.docker_container_exec:
container: "{{ caddy_container_id }}"
command: >
curl -X DELETE localhost:2019/id/{{ stack_name }}_upstream/
become: true
when: (result.stdout | from_json)['error'] is not defined
listen: "update linkding upstream"
# upstream has to be created
- name: add {{ stack_name }} upstream
community.docker.docker_container_exec:
container: "{{ caddy_container_id }}"
command: >
curl -X POST -H "Content-Type: application/json" -d @{{ linkding_upstream_file_dir }}/upstream.json localhost:2019/config/apps/http/servers/{{ (linkding_use_https == True) | ternary(caddy_https_server_name, caddy_http_server_name) }}/routes/0/
become: true
listen: "update linkding upstream"
- name: Ensure upstream directory is gone again
ansible.builtin.file:
path: "{{ linkding_upstream_file_dir }}"
state: absent
become: true
listen: "update linkding upstream"