From fb9cadf96ae9b5f57ad7e430307b88f7d3d061a9 Mon Sep 17 00:00:00 2001 From: Mohammad Dahamshi Date: Thu, 3 Sep 2026 18:36:01 +0300 Subject: [PATCH] feat(service): add Linkwarden (#11561) --- public/svgs/linkwarden.svg | 1 + templates/compose/linkwarden.yaml | 54 +++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 public/svgs/linkwarden.svg create mode 100644 templates/compose/linkwarden.yaml diff --git a/public/svgs/linkwarden.svg b/public/svgs/linkwarden.svg new file mode 100644 index 0000000000..866080d6e6 --- /dev/null +++ b/public/svgs/linkwarden.svg @@ -0,0 +1 @@ +Linkwarden diff --git a/templates/compose/linkwarden.yaml b/templates/compose/linkwarden.yaml new file mode 100644 index 0000000000..44634649eb --- /dev/null +++ b/templates/compose/linkwarden.yaml @@ -0,0 +1,54 @@ +# documentation: https://docs.linkwarden.app/self-hosting/setup +# slogan: A self-hostable collaborative bookmark manager to collect, organize, and preserve web pages. +# category: productivity +# tags: bookmarks,collaboration,archive,links,self-hosted +# logo: svgs/linkwarden.svg +# port: 3000 + +services: + linkwarden: + image: ghcr.io/linkwarden/linkwarden:v2.16.1 + environment: + - SERVICE_URL_LINKWARDEN_3000 + - NEXTAUTH_URL=${SERVICE_URL_LINKWARDEN_3000}/api/v1/auth + - NEXTAUTH_SECRET=${SERVICE_PASSWORD_LINKWARDENNEXTAUTH} + - MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILI} + - DATABASE_URL=postgresql://$SERVICE_USER_POSTGRES:$SERVICE_PASSWORD_POSTGRES@postgresql:5432/${POSTGRES_DB:-linkwarden} + volumes: + - linkwarden-data:/data/data + depends_on: + postgresql: + condition: service_healthy + meilisearch: + condition: service_healthy + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:3000"] + interval: 10s + timeout: 20s + retries: 10 + + postgresql: + image: postgres:16-alpine + volumes: + - postgresql-data:/var/lib/postgresql/data + environment: + - POSTGRES_USER=$SERVICE_USER_POSTGRES + - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES + - POSTGRES_DB=${POSTGRES_DB:-linkwarden} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] + interval: 5s + timeout: 20s + retries: 10 + + meilisearch: + image: getmeili/meilisearch:v1.12.8 + environment: + - MEILI_MASTER_KEY=${SERVICE_PASSWORD_MEILI} + volumes: + - meilisearch-data:/meili_data + healthcheck: + test: ["CMD", "curl", "-f", "http://127.0.0.1:7700/health"] + interval: 5s + timeout: 10s + retries: 10