Initial vault setup
This commit is contained in:
@@ -0,0 +1,150 @@
|
||||
---
|
||||
title: Shiori
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, bookmarks, read-later, go, sqlite, lightweight, bookmarklet]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Bookmarks, https://github.com/go-shiori/shiori]
|
||||
---
|
||||
|
||||
# 🐾 Shiori
|
||||
|
||||
> **Le bookmarking en un seul binaire Go** : Shiori se veut une alternative simple, sans Docker, sans JavaScript lourd, qui fait exactement ce qu'on lui demande.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [github.com/go-shiori/shiori](https://github.com/go-shiori/shiori) |
|
||||
| **GitHub** | [go-shiori/shiori](https://github.com/go-shiori/shiori) |
|
||||
| **Licence** | MIT |
|
||||
| **Langage** | Go |
|
||||
| **Étoiles GitHub** | 6.1k ⭐ |
|
||||
| **Dernière MAJ** | 2026-04-22 |
|
||||
| **Catégorie** | [[cat-bookmarks\|Bookmarks]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Shiori** (櫨, le buis japonais) est une application de **bookmarks et read-it-later** écrite en Go et distribuée comme **un seul binaire statique**. Sa philosophie : aucune dépendance externe (SQLite embarqué), pas de JavaScript côté front, et une interface volontairement minimaliste. Idéal pour les **serveurs légers** (Raspberry Pi, VPS modeste) ou les amateurs de Go.
|
||||
|
||||
À l'usage, Shiori se manipule principalement via sa **CLI** (`shiori add`, `shiori list`, `shiori search`) et offre une **interface web** minimale pour la consultation et l'archivage manuel. Un **bookmarklet** et des **extensions navigateur** permettent la capture. Le contenu est archivé via **go-readability** (extraction du texte) et **chromedp** (rendu headless pour les pages JS).
|
||||
|
||||
Le programme supporte :
|
||||
- 📥 **Import** depuis Netscape HTML, Pocket, Pinboard
|
||||
- 🏷️ Étiquettes, recherche plein texte
|
||||
- 📦 **Archive locale** (HTML + assets) pour consultation offline
|
||||
- 🔐 Authentification simple (user/pass)
|
||||
- 🌐 Web UI servie par le binaire lui-même
|
||||
- 🐳 Image Docker aussi disponible pour les fans de Compose
|
||||
|
||||
Pour qui ? Pour ceux qui veulent **un service de bookmarks sans DB à gérer, sans reverse proxy complexe, et qui tient en 20 Mo de RAM**. C'est aussi un excellent choix pour les **serveurs isolés** (VPN, intranet).
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1 : Binaire unique (recommandé pour la simplicité)
|
||||
|
||||
```bash
|
||||
# Téléchargement direct depuis GitHub Releases
|
||||
wget https://github.com/go-shiori/shiori/releases/latest/download/shiori_Linux_x86_64.tar.gz
|
||||
tar -xzf shiori_Linux_x86_64.tar.gz
|
||||
sudo mv shiori /usr/local/bin/
|
||||
|
||||
# Initialisation
|
||||
shiori migrate
|
||||
shiori add --url https://exemple.com/article --title "Mon article"
|
||||
|
||||
# Lancer le serveur web
|
||||
shiori serve --port 8080
|
||||
# UI : http://localhost:8080
|
||||
```
|
||||
|
||||
### Option 2 : Docker Compose
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
services:
|
||||
shiori:
|
||||
image: ghcr.io/go-shiori/shiori:latest
|
||||
container_name: shiori
|
||||
restart: unless-stopped
|
||||
command: serve --port 8080
|
||||
ports:
|
||||
- "8080:8080"
|
||||
volumes:
|
||||
- shiori-data:/shiori
|
||||
environment:
|
||||
- SHIORI_DIR=/shiori
|
||||
|
||||
volumes:
|
||||
shiori-data:
|
||||
```
|
||||
|
||||
### Option 3 : Snap / Homebrew
|
||||
|
||||
```bash
|
||||
sudo snap install shiori
|
||||
# ou
|
||||
brew install shiori
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Créer un compte** : `shiori account add`.
|
||||
2. **Activer le service systemd** :
|
||||
```ini
|
||||
# /etc/systemd/system/shiori.service
|
||||
[Unit]
|
||||
Description=Shiori bookmarks
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/local/bin/shiori serve --port 8080
|
||||
Restart=always
|
||||
User=shiori
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
3. **Importer** depuis Pinboard, Pocket, ou un fichier Netscape HTML (`shiori import`).
|
||||
4. **Brancher un reverse proxy** (Caddy/Nginx) en HTTPS pour usage externe.
|
||||
5. **Configurer le bookmarklet** depuis la page `/bookmarklet`.
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-linkding]] — Python/Django, single-user, plus complet
|
||||
- [[app-karakeep]] — Next.js, IA, plus moderne
|
||||
- [[app-wallabag]] — PHP/Symfony, plus mature
|
||||
- [[app-linkace]] — Laravel, plus riche en fonctionnalités
|
||||
- [[app-shaarli]] — PHP, single-file, encore plus minimaliste
|
||||
|
||||
### Propriétaires (ce que Shiori remplace)
|
||||
- **Pocket** — Sunset 2025
|
||||
- **Pinboard** — Solo, 25$/an
|
||||
- **Instapaper** — Cloud obligatoire
|
||||
- **Shaarli.com (hosted)** — Pas d'archive locale
|
||||
- **Evernote Web Clipper** — Lourd
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- Authentification par **utilisateur/mot de passe** (bcrypt)
|
||||
- **Pas de 2FA natif** ⚠️ → à compenser avec SSO via reverse proxy (Authelia/Authentik)
|
||||
- Chiffrement local des secrets via `SHIORI_ENCRYPTION_KEY`
|
||||
- Surface d'attaque très réduite (un seul binaire statique)
|
||||
- À placer derrière **HTTPS** (Caddy/Traefik) dès qu'exposé
|
||||
- Sauvegarder simplement le dossier `shiori-data` (SQLite + archives)
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Documentation officielle](https://github.com/go-shiori/shiori/blob/master/docs/README.md)
|
||||
- [Dépôt GitHub](https://github.com/go-shiori/shiori)
|
||||
- [Wiki communauté](https://github.com/go-shiori/shiori/wiki)
|
||||
- [selfh.st — Bookmarks](https://selfh.st/apps/?tag=Bookmarks)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-bookmarks]] — Vue d'ensemble de la catégorie Bookmarks
|
||||
- [[app-linkding]] — Concurrent single-user en Python
|
||||
- [[app-shaarli]] — Concurrent PHP, encore plus minimaliste
|
||||
- [[recettes-docker-compose]] — Bonnes pratiques Docker Compose
|
||||
Reference in New Issue
Block a user