---
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]]
