119 lines
4.5 KiB
Markdown
119 lines
4.5 KiB
Markdown
---
|
|
title: Shared Moments
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, photos, sharing, ephemeral, self-hosted, web]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/shared-moments/shared-moments]
|
|
---
|
|
|
|
# 📸 Shared Moments
|
|
|
|
> **Partage d'albums éphémères** : créez un album pour un événement, partagez le lien, et tout disparaît automatiquement après la date d'expiration. Pour les souvenirs qui ne restent pas éternellement.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Attribut | Valeur |
|
|
|----------|--------|
|
|
| **Nom** | Shared Moments |
|
|
| **Slug** | app-shared-moments |
|
|
| **Description** | Partage d'albums photos avec expiration automatique |
|
|
| **Site officiel** | [sharedmoments.app](https://sharedmoments.app) |
|
|
| **Repository** | [shared-moments/shared-moments](https://github.com/shared-moments/shared-moments) |
|
|
| **Stars** | 99 ⭐ |
|
|
| **Licence** | MIT |
|
|
| **Langage principal** | Python, FastAPI |
|
|
| **Catégorie** | Photos |
|
|
| **Tags** | [catalogue, photos, sharing, ephemeral, self-hosted, web] |
|
|
|
|
## 📝 Description
|
|
|
|
⚠️ **Fiche confiance basse** : Shared Moments est un petit projet (~100 étoiles), à utiliser en connaissance de cause, et possiblement à forker si vous avez un vrai besoin.
|
|
|
|
**Shared Moments** propose un workflow très simple : vous voulez **partager des photos d'un événement** (mariage, soirée, weekend entre amis) **sans qu'elles restent indéfiniment accessibles**. Créez un album, définissez une **date d'expiration**, partagez le lien, et tout s'autodétruit après.
|
|
|
|
Philosophie : à l'opposé d'un Google Photos qui **conserve tout indéfiniment**, Shared Moments assume que **certains souvenirs ont une durée de vie naturelle**. C'est aussi un **cadeau de respect de la vie privée** : les invités du mariage n'auront pas leurs photos partagées sur Internet pour l'éternité.
|
|
|
|
Fonctionnalités : **albums avec expiration** (1 jour à 1 an), **upload invité** (sans compte), **upload par mail** (mails acceptés sur l'album), **galerie en lecture seule** après expiration, **notifications par mail** (nouvelle photo uploadée), **téléchargement groupé** pour les invités, **pas d'inscription requise** pour consulter, **auto-destruction** des fichiers après expiration, **bandeau "ephemeral"** clair pour les visiteurs.
|
|
|
|
Cas d'usage : **mariage** (album partagé aux invités, expire après 1 an), **événement pro** (conférence, meetup), **vacances entre amis**, **soirée** (photos partagées 24h).
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
shared-moments:
|
|
image: ghcr.io/shared-moments/shared-moments:latest
|
|
container_name: shared-moments
|
|
restart: unless-stopped
|
|
environment:
|
|
- DATABASE_URL=postgresql://sm:***@db:5432/sm
|
|
- SECRET_KEY=*** volumes:
|
|
- /mnt/moments:/app/storage
|
|
ports:
|
|
- 8093:8000
|
|
depends_on:
|
|
- db
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_PASSWORD: ***
|
|
POSTGRES_USER: sm
|
|
POSTGRES_DB: sm
|
|
volumes:
|
|
- sm-db:/var/lib/postgresql/data
|
|
|
|
volumes:
|
|
sm-db:
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
```bash
|
|
git clone https://github.com/shared-moments/shared-moments.git
|
|
cd shared-moments
|
|
pip install -r requirements.txt
|
|
uvicorn app.main:app --host 0.0.0.0 --port 8000
|
|
```
|
|
|
|
## ⚙️ Configuration
|
|
|
|
- **Database Postgres** : pour métadonnées (albums, uploads, expirations).
|
|
- **Storage** : volume pour les photos (avec cron d'auto-destruction).
|
|
- **SMTP** : configurer pour notifications mail (optionnel).
|
|
- **Cron** : vérifier que le job d'expiration tourne (sinon rien ne disparaît).
|
|
|
|
## 🔗 Alternatives
|
|
|
|
- **[[app-circled-me]]** — Approche "cercles restreints" permanents
|
|
- **[[app-piwigo]]** — Galerie mature avec permissions granulaires
|
|
- **[[app-immich]]** — Albums partagés sans expiration auto
|
|
|
|
## 🔒 Sécurité
|
|
|
|
- **HTTPS obligatoire** : pas le choix, on partage des photos par lien.
|
|
- **Liens signés** : les URLs d'album doivent être imprévisibles (tokens longs).
|
|
- **Auto-destruction** : vérifier que le job cron tourne et supprime vraiment.
|
|
- **Pas d'auth sur consultation** : les invités n'ont pas de compte, c'est par design.
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://sharedmoments.app)
|
|
- [Repository GitHub](https://github.com/shared-moments/shared-moments)
|
|
- [Documentation](https://github.com/shared-moments/shared-moments/blob/main/README.md)
|
|
|
|
## 🔗 Pages Liées
|
|
- [[cat-photos]]
|
|
- [[app-circled-me]]
|
|
- [[app-piwigo]]
|
|
- [[app-traefik]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|