Initial vault setup
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
---
|
||||
title: Mergeable
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, dashboard, bookmarks, preview, self-hosted]
|
||||
confidence: medium
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Dashboard, https://github.com/mergeable/mergeable]
|
||||
---
|
||||
|
||||
# 📊 Mergeable
|
||||
|
||||
> Dashboard de **bookmarks avec preview** façon Linkwarden : tuiles enrichies de captures et d'extraits pour reconnaître chaque service d'un coup d'œil.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Attribut | Valeur |
|
||||
|----------|--------|
|
||||
| **Nom** | Mergeable |
|
||||
| **Slug** | mergeable |
|
||||
| **Description** | Dashboard de bookmarks avec prévisualisations, lecture de contenu, organisation par collections |
|
||||
| **Site officiel** | https://github.com/mergeable/mergeable |
|
||||
| **Repository** | https://github.com/mergeable/mergeable |
|
||||
| **Stars** | 106 ⭐ |
|
||||
| **Licence** | MIT |
|
||||
| **Langage principal** | TypeScript (Next.js) |
|
||||
| **Catégorie** | Dashboard |
|
||||
| **Tags** | [catalogue, dashboard, bookmarks, preview, self-hosted] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
Mergeable s'inscrit dans la famille des **gestionnaires de signets self-hosted avec archivage**, aux côtés de Linkwarden et Hoarder. Sa valeur ajoutée : une UI tournée vers la **lecture** et la **prévisualisation**, plus que vers le simple stockage d'URLs.
|
||||
|
||||
L'idée directrice :
|
||||
|
||||
- **Cartes riches** : chaque bookmark s'affiche avec une **capture d'écran**, un titre, une description et un favicon. On retrouve visuellement un service même 6 mois après.
|
||||
- **Prévisualisation de contenu** : Mergeable tente d'extraire un extrait de la page cible (via un headless browser ou un service de type Mercury Parser).
|
||||
- **Collections** : organiser les signets par thème (Articles, Outils, Veille, Homelab…).
|
||||
- **Tags** : taxonomie libre, multiple par bookmark.
|
||||
- **Recherche full-text** : sur les titres, descriptions et extraits indexés.
|
||||
- **Import** : depuis les exports Chrome, Firefox, Pocket, Pinboard, Linkwarden (migration facilitée).
|
||||
|
||||
C'est l'outil idéal pour qui veut un **Pocket / Raindrop.io self-hosted** avec un soupçon de dashboard en page d'accueil. La confiance est **medium** car le projet, bien qu'élégant, a une activité de développement moins soutenue que Linkwarden — à surveiller.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker (recommandé)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
mergeable:
|
||||
image: ghcr.io/mergeable/mergeable:latest
|
||||
container_name: mergeable
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- DATABASE_URL=postgresql://mergeable:changeme@db:5432/mergeable
|
||||
- NEXTAUTH_URL=https://mergeable.example.com
|
||||
- NEXTAUTH_SECRET=changeme-32-caracteres
|
||||
depends_on:
|
||||
- db
|
||||
volumes:
|
||||
- ./data:/data
|
||||
ports:
|
||||
- "3000:3000"
|
||||
|
||||
db:
|
||||
image: postgres:16-alpine
|
||||
container_name: mergeable-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- POSTGRES_DB=mergeable
|
||||
- POSTGRES_USER=mergeable
|
||||
- POSTGRES_PASSWORD=changeme
|
||||
volumes:
|
||||
- ./db:/var/lib/postgresql/data
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
|
||||
Node.js 20+, PostgreSQL 14+, cloner, `pnpm install && pnpm build && pnpm start`. Prévoir un reverse proxy pour le HTTPS.
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- **Compte admin** : créé au premier démarrage, password à stocker dans un vault ([[app-vaultwarden]]).
|
||||
- **Worker de capture** : un job tourne périodiquement pour rafraîchir les captures (intervalle configurable).
|
||||
- **Stockage** : BDD PostgreSQL + dossiers locaux pour les assets ; backups à orchestrer.
|
||||
- **Auth** : OIDC optionnel, sinon compte local.
|
||||
- **Thème** : dark/light, accent personnalisable.
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- **Linkwarden** — le plus mature de la catégorie, archivage complet.
|
||||
- **Hoarder** — plus récent, AI tagging, même esprit.
|
||||
- **Karakeep** (ex-Hoarder) — fork/évolution avec tagging automatique.
|
||||
- **Shaarli** — vétéran PHP, ultra-léger, sans preview.
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- **NEXTAUTH_SECRET** obligatoire, long et aléatoire (32+ caractères).
|
||||
- **HTTPS obligatoire** : nextauth, captures externes, headers de sécurité → reverse proxy ([[app-traefik]] + Let's Encrypt).
|
||||
- **Base PostgreSQL** : sauvegarder régulièrement (`pg_dump`), idéalement via [[app-restic]] ou [[app-borg-backup-server]].
|
||||
- **Worker d'archivage** : fait des requêtes sortantes vers des sites arbitraires — isoler derrière un timeout et un user-agent identifiable.
|
||||
- **CSP** : configurer un `Content-Security-Policy` strict pour limiter le XSS sur les extraits HTML.
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- Repository : https://github.com/mergeable/mergeable
|
||||
- Comparatif : https://www.linkwarden.app vs Mergeable (blogs divers)
|
||||
|
||||
## 🔗 Pages Liées
|
||||
|
||||
- [[cat-dashboard]]
|
||||
- [[app-linkwarden]] — alternative plus mature
|
||||
- [[app-hoarder]] — cousin avec IA
|
||||
- [[app-traefik]] — reverse proxy + HTTPS
|
||||
- [[app-authentik]] — SSO optionnel
|
||||
- [[recettes-docker-compose]]
|
||||
- [[securisation-home-lab]]
|
||||
Reference in New Issue
Block a user