4.5 KiB
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 |
| Repository | 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
# 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
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.