From ea037209f68285cda425f99df7d2b9fb16f2a8f6 Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Wed, 24 Jan 2024 23:34:35 +0100 Subject: [PATCH] Add shlink service (url-shortener) --- node002.yml | 2 ++ roles/faas/vars/main.yml | 10 ++++------ roles/shlink/tasks/main.yml | 12 ++++++++++++ roles/shlink/vars/main.yml | 30 ++++++++++++++++++++++++++++++ 4 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 roles/shlink/tasks/main.yml create mode 100644 roles/shlink/vars/main.yml diff --git a/node002.yml b/node002.yml index a3234ab..db5de20 100644 --- a/node002.yml +++ b/node002.yml @@ -45,6 +45,8 @@ tags: [ntfy, notifications, push] - role: reitanlage_oranienburg tags: [reitanlage-oranienburg, website] + - role: shlink + tags: [shlink, url-shortener] - role: synapse tags: [synapse, matrix, communication] - role: tandoor diff --git a/roles/faas/vars/main.yml b/roles/faas/vars/main.yml index 140ca9d..48a07fd 100644 --- a/roles/faas/vars/main.yml +++ b/roles/faas/vars/main.yml @@ -7,8 +7,10 @@ faas_svc: extra_svcs: - domain: link.serguzim.me faas_function: url-mapper - - domain: msrg.cc - faas_function: webpage-msrg-cc + - domain: serguzim.me + faas_function: webpage-serguzim-me + www_domain: true + hsts: true caddy_extra: | header /.well-known/* Access-Control-Allow-Origin * @@ -20,10 +22,6 @@ faas_svc: rewrite * /.well-known/webfinger/{user}.json import faas webpage-msrg-cc } - - domain: serguzim.me - faas_function: webpage-serguzim-me - www_domain: true - hsts: true - domain: team-leon.eu faas_function: webpage-team-leon-eu www_domain: true diff --git a/roles/shlink/tasks/main.yml b/roles/shlink/tasks/main.yml new file mode 100644 index 0000000..bc0230e --- /dev/null +++ b/roles/shlink/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: Set common facts + ansible.builtin.import_tasks: tasks/set-default-facts.yml + +- name: Deploy {{ svc.name }} + vars: + svc: "{{ shlink_svc }}" + env: "{{ shlink_env }}" + compose: "{{ shlink_compose }}" + block: + - name: Import tasks to deploy common service + ansible.builtin.import_tasks: tasks/deploy-common-service.yml diff --git a/roles/shlink/vars/main.yml b/roles/shlink/vars/main.yml new file mode 100644 index 0000000..b1fcf20 --- /dev/null +++ b/roles/shlink/vars/main.yml @@ -0,0 +1,30 @@ +--- +shlink_svc: + domain: msrg.cc + name: shlink + port: 8080 + +shlink_env: + DEFAULT_DOMAIN: "{{ shlink_svc.domain }}" + IS_HTTPS_ENABLED: true + TIMEZONE: "{{ timezone }}" + + DEFAULT_SHORT_CODES_LENGTH: 8 + MULTI_SEGMENT_SLUGS_ENABLED: false + SHORT_URL_TRAILING_SLASH: true + REDIRECT_APPEND_EXTRA_PATH: true + DEFAULT_BASE_URL_REDIRECT: "https://www.serguzim.me/" + + DB_DRIVER: postgres + DB_HOST: "{{ postgres.host }}" + DB_PORT: "{{ postgres.port }}" + DB_NAME: shlink + DB_USER: "{{ vault_shlink.db.user }}" + DB_PASSWORD: "{{ vault_shlink.db.pass }}" + + DISABLE_TRACKING: true + SKIP_INITIAL_GEOLITE_DOWNLOAD: true + +shlink_compose: + watchtower: true + image: shlinkio/shlink