113 lines
3.8 KiB
Markdown
113 lines
3.8 KiB
Markdown
---
|
|
title: SnapOtter
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, photos, gallery, light, self-hosted, web]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/Snap-Otter/snapotter]
|
|
---
|
|
|
|
# 📸 SnapOtter
|
|
|
|
> **Alternative légère à Immich** : galerie photos minimaliste pour qui veut juste stocker, organiser et partager des photos sans la complexité d'un Immich ou d'un PhotoPrism.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | SnapOtter |
|
|
| **Slug** | app-snapotter |
|
|
| **Description** | Galerie photos simple et légère type Immich |
|
|
| **Site officiel** | [snapotter.app](https://snapotter.app) |
|
|
| **Repository** | [Snap-Otter/snapotter](https://github.com/Snap-Otter/snapotter) |
|
|
| **Stars** | 1 526 ⭐ |
|
|
| **Licence** | MIT |
|
|
| **Langage principal** | TypeScript, Node.js |
|
|
| **Catégorie** | Photos |
|
|
| **Tags** | [catalogue, photos, gallery, light, self-hosted, web] |
|
|
|
|
## 📝 Description
|
|
|
|
**SnapOtter** se positionne comme une **alternative volontairement dépouillée** à Immich. Pas de reconnaissance faciale embarquée, pas de ML lourd, pas de cluster Kubernetes : juste une galerie photos qui marche, avec un upload simple, une timeline, des albums, du partage public. Idéal pour les homelabs modestes ou les utilisateurs qui trouvent Immich trop complexe.
|
|
|
|
Fonctionnalités : **upload drag & drop** multi-fichiers, **timeline chronologique**, **albums manuels**, **tags simples**, **partage public par lien** (avec expiration optionnelle), **auth multi-utilisateur** (basique), **EXIF parsing** (date, géoloc), **carte géographique**, **recherche textuelle**, **app mobile** (PWA installable), **backup/restore** natifs.
|
|
|
|
L'**avantage clé** : déploiement **en 5 minutes**, **consommation RAM très faible** (200-300 Mo contre 4+ Go pour Immich), pas de GPU requis, démarrage quasi instantané. Parfait pour un Pi 4 ou un vieux NUC.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
snapotter:
|
|
image: ghcr.io/snap-otter/snapotter:latest
|
|
container_name: snapotter
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATABASE_URL=postgresql://snapotter:***@db:5432/snapotter
|
|
- JWT_SECRET=***
|
|
volumes:
|
|
- /mnt/photos:/data/photos
|
|
- snapotter-db:/var/lib/postgresql/data
|
|
ports:
|
|
- 8084:8080
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD: ***
|
|
POSTGRES_USER: snapotter
|
|
POSTGRES_DB: snapotter
|
|
volumes:
|
|
- snapotter-db:/var/lib/postgresql/data
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
```bash
|
|
git clone https://github.com/Snap-Otter/snapotter.git
|
|
cd snapotter
|
|
npm install
|
|
npm run build && npm start
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **Base PostgreSQL** : volume séparé pour la persistance des métadonnées.
|
|
- **Dossier photos** : montage du dossier source, l'app y stocke les uploads.
|
|
- **Auth** : JWT secret à générer (`openssl rand -hex 32`).
|
|
- **Stockage** : aucun transcodage, garde les originaux intacts.
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[[app-immich]]** — Plus complet, mais beaucoup plus lourd
|
|
- **[[app-lychee]]** — Encore plus minimaliste (PHP), mature
|
|
- **[[app-piwigo]]** — Très mature, riche en plugins
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- **JWT secret** : long et aléatoire, jamais committé.
|
|
- **HTTPS obligatoire** : reverse proxy Traefik/Caddy.
|
|
- **Backups** : volume Postgres + dossier photos.
|
|
- **Rate limiting** : à configurer en reverse proxy (éviter brute-force upload).
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://snapotter.app)
|
|
- [Repository GitHub](https://github.com/Snap-Otter/snapotter)
|
|
- [Documentation](https://github.com/Snap-Otter/snapotter/wiki)
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-photos]]
|
|
- [[app-immich]]
|
|
- [[app-lychee]]
|
|
- [[app-piwigo]]
|
|
- [[app-traefik]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|