From eb6052e4ec715796ed1b0a2288f2a32941606a3d Mon Sep 17 00:00:00 2001 From: Tobias Reisinger Date: Fri, 8 Mar 2024 00:35:42 +0100 Subject: [PATCH] Add linkwarden service --- node002.yml | 2 ++ roles/immich/vars/main.yml | 2 +- roles/linkwarden/tasks/main.yml | 12 ++++++++++ roles/linkwarden/vars/main.yml | 39 +++++++++++++++++++++++++++++++++ templates/env.j2 | 4 ++++ 5 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 roles/linkwarden/tasks/main.yml create mode 100644 roles/linkwarden/vars/main.yml diff --git a/node002.yml b/node002.yml index ed1738d..a6cd6d8 100644 --- a/node002.yml +++ b/node002.yml @@ -41,6 +41,8 @@ tags: [influxdb, sensors, monitoring] - role: jellyfin tags: [jellyfin, media] + - role: linkwarden + tags: [linkwarden, booksmarks] - role: minio tags: [minio, storage] - role: ntfy diff --git a/roles/immich/vars/main.yml b/roles/immich/vars/main.yml index 39f87ae..478dfdd 100644 --- a/roles/immich/vars/main.yml +++ b/roles/immich/vars/main.yml @@ -77,7 +77,7 @@ immich_compose: default: database: - image: tensorchord/pgvecto-rs:pg16-v0.1.11 + image: tensorchord/pgvecto-rs:pg16-v0.2.0 env_file: - service.env volumes: diff --git a/roles/linkwarden/tasks/main.yml b/roles/linkwarden/tasks/main.yml new file mode 100644 index 0000000..4b06747 --- /dev/null +++ b/roles/linkwarden/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: "{{ linkwarden_svc }}" + env: "{{ linkwarden_env }}" + compose: "{{ linkwarden_compose }}" + block: + - name: Import tasks to deploy common service + ansible.builtin.import_tasks: tasks/deploy-common-service.yml diff --git a/roles/linkwarden/vars/main.yml b/roles/linkwarden/vars/main.yml new file mode 100644 index 0000000..0a0f0c1 --- /dev/null +++ b/roles/linkwarden/vars/main.yml @@ -0,0 +1,39 @@ +--- +linkwarden_secret: "{{ vault_linkwarden.secret }}" + +linkwarden_db_host_port: "{{ postgres.host }}:{{ postgres.port }}" +linkwarden_db_user: "{{ vault_linkwarden.db.user }}" +linkwarden_db_pass: "{{ vault_linkwarden.db.pass }}" +linkwarden_db_database: linkwarden + +linkwarden_minio_accesskey: "{{ vault_linkwarden.minio.accesskey }}" +linkwarden_minio_secretkey: "{{ vault_linkwarden.minio.secretkey }}" + +linkwarden_svc: + domain: bookmarks.serguzim.me + name: linkwarden + port: 3000 + +linkwarden_env: + NEXTAUTH_SECRET: "{{ linkwarden_secret }}" + NEXTAUTH_URL: https://bookmarks.serguzim.me/api/v1/auth + DATABASE_URL: postgres://{{ linkwarden_db_user }}:{{ linkwarden_db_pass }}@{{ linkwarden_db_host_port }}/{{ linkwarden_db_database }} + + SPACES_KEY: "{{ linkwarden_minio_accesskey }}" + SPACES_SECRET: "{{ linkwarden_minio_secretkey }}" + SPACES_ENDPOINT: https://s3.serguzim.me + SPACES_BUCKET_NAME: linkwarden + SPACES_REGION: de-contabo-1 + SPACES_FORCE_PATH_STYLE: true + + NEXT_PUBLIC_DISABLE_REGISTRATION: true + NEXT_PUBLIC_CREDENTIALS_ENABLED: true + NEXT_PUBLIC_AUTHENTIK_ENABLED: false + AUTHENTIK_CUSTOM_NAME: auth.serguzim.me + AUTHENTIK_ISSUER: https://auth.serguzim.me/application/o/bookmarks-serguzim-me + AUTHENTIK_CLIENT_ID: "{{ vault_linkwarden.oidc_client.id }}" + AUTHENTIK_CLIENT_SECRET: "{{ vault_linkwarden.oidc_client.secret }}" + +linkwarden_compose: + watchtower: true + image: ghcr.io/linkwarden/linkwarden:latest diff --git a/templates/env.j2 b/templates/env.j2 index 14aa0e4..1bb88aa 100644 --- a/templates/env.j2 +++ b/templates/env.j2 @@ -1,3 +1,7 @@ {% for key, value in env.items() %} +{% if value is boolean %} +{{ key }}={{ value|lower }} +{% else %} {{ key }}={{ value }} +{% endif %} {% endfor %}