111 lines
5.6 KiB
Markdown
111 lines
5.6 KiB
Markdown
---
|
|
title: Postmarks
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, activitypub-fediverse, bookmarks, social-bookmarking, fediverse, single-user]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/ckolderup/postmarks]
|
|
---
|
|
|
|
# 🔖 Postmarks
|
|
|
|
> **Le bookmarking social simple et fédéré** — un site de sign personnels mono-utilisateur qui parle ActivityPub avec Mastodon, Firefish et le reste du Fediverse.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [postmarks.xyz](https://www.postmarks.xyz/) |
|
|
| **GitHub** | [ckolderup/postmarks](https://github.com/ckolderup/postmarks) |
|
|
| **Licence** | AGPL-3.0 |
|
|
| **Langage** | Ruby, SQLite |
|
|
| **Étoiles GitHub** | 43 ⭐ |
|
|
| **Dernière MAJ** | 2026-05 |
|
|
| **Catégorie** | [[cat-activitypub-fediverse\|ActivityPub / Fediverse]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Postmarks** est né d'un constat : la fonction "signets partagés" a été cannibalisée par les timelines chronologiques. Ce projet remet le **bookmarking social** au centre, dans la veine de del.icio.us ou Pinboard, mais **fédéré via ActivityPub**. Chaque signet posté depuis votre instance Postmarks apparaît dans les timelines Mastodon, Firefish, Akkoma et autres logiciels compatibles, et les réponses fédérées (favoris, boosts, commentaires) remontent vers votre instance.
|
|
|
|
L'usage typique est **mono-utilisateur** : vous installez Postmarks pour vous seul, comme un journal public de liens utiles. Le projet ne vise pas la construction d'un réseau social à part entière : pas de DM, pas de groupes, pas de découverte algorithmique — simplement un **flux de signets annotés** que vos contacts peuvent suivre. L'interface web est volontairement minimaliste, proche d'un blog de liens.
|
|
|
|
Côté technique, le code est très léger : **Ruby on Rails** classique avec **SQLite** par défaut, ce qui rend le déploiement accessible même sur un petit VPS. Les **images OpenGraph** sont extraites automatiquement pour enrichir la preview de chaque signet. La fédération ActivityPub est gérée par la gem **Mastodon-API compatible** et la gem `activitypub`.
|
|
|
|
Forces : simplicité radicale, souverain (vous restez propriétaire de vos signets), fédération bidirectionnelle. Faiblesses : pas de tags automatiques avancés, pas d'import Pocket/Pinboard natif (à vérifier à chaque release), instance mono-utilisateur assumée donc inadapté pour un réseau d'équipe.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Option recommandée : Docker (image de la communauté)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
postmarks:
|
|
image: ghcr.io/ckolderup/postmarks:latest
|
|
container_name: postmarks
|
|
restart: unless-stopped
|
|
environment:
|
|
- RAILS_ENV=production
|
|
- SECRET_KEY_BASE=changez-moi-avec-rails-secret
|
|
- POSTMARKS_USER=alice
|
|
- POSTMARKS_DOMAIN=signets.example.org
|
|
volumes:
|
|
- ./postmarks-data:/app/storage
|
|
ports:
|
|
- "3000:3000"
|
|
```
|
|
|
|
### Option 2 : Installation manuelle (Ruby)
|
|
|
|
```bash
|
|
git clone https://github.com/ckolderup/postmarks.git
|
|
cd postmarks
|
|
bundle install
|
|
rails db:setup
|
|
SECRET_KEY_BASE=$(rails secret) rails server -b 0.0.0.0
|
|
```
|
|
|
|
Prérequis : Ruby 3.1+, SQLite, un reverse proxy (Caddy, Nginx) pour le TLS.
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Choisir son domaine** (ex. `signets.example.org`) et pointer un DNS A/CNAME.
|
|
2. **Configurer le reverse proxy** pour pointer vers le port 3000 du conteneur.
|
|
3. **Définir `POSTMARKS_USER`** : un identifiant unique qui deviendra votre acteur ActivityPub.
|
|
4. **Activer la fédération** : dès qu'un compte Mastodon suit `@alice@signets.example.org`, les signets apparaissent dans sa timeline.
|
|
5. **Configurer l'OpenGraph** : Postmarks extrait automatiquement les titres, descriptions et images des liens ajoutés.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-linkwarden]] — Bookmark manager avec archivage et collections (sans Fediverse).
|
|
- [[app-karakeep]] (ex-Hoard) — Bookmarking auto-hébergé avec tagging et full-text search.
|
|
- [[app-shaarli]] — Le grand classique du bookmarking personnel, sans fédération.
|
|
- [[app-bookwyrm]] — Goodreads-like fédéré, centré sur les livres.
|
|
|
|
### Propriétaires (ce que cette app remplace)
|
|
- **Pinterest** — curation visuelle sans interopérabilité.
|
|
- **Raindrop.io** — bookmarking cloud propriétaire.
|
|
- **Pinboard** — modèle économique vieillissant, non fédéré.
|
|
- **del.icio.us** — ancêtre Yahoo, fermé depuis.
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- **Pas d'authentification intégrée** : Postmarks est mono-utilisateur, l'accès admin se fait par le compte unique déclaré dans `POSTMARKS_USER`. Protégez l'accès au panneau d'administration via le reverse proxy (BasicAuth, IP allowlist).
|
|
- **Fédération** : les signets sont publics par défaut (fédérés). Si vous voulez des signets privés, ils ne seront pas poussés sur le Fediverse mais resteront stockés localement.
|
|
- **Webfinger** : la découverte ActivityPub repose sur `/.well-known/webfinger`. Vérifiez que votre reverse proxy le sert correctement.
|
|
- **Sauvegardes** : un simple dump SQLite + le volume `postmarks-data` suffit.
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Dépôt GitHub ckolderup/postmarks](https://github.com/ckolderup/postmarks)
|
|
- [TechCrunch — Social bookmarking is back](https://techcrunch.com/2023/09/08/with-postmarks-social-bookmarking-is-back-but-this-time-its-built-on-the-fediverse/)
|
|
- [Apalrd — Setting up a Postmarks server](https://www.apalrd.net/posts/2025/fedi_postmarks/)
|
|
|
|
## Pages Liées
|
|
- [[cat-activitypub-fediverse]] — Catégorie parente
|
|
- [[recettes-docker-compose]] — Templates Docker
|
|
- [[comparatif-bookmarking-personnel]] — Shaarli vs Postmarks vs Linkwarden (à créer)
|