Initial vault setup
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
---
|
||||
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]]
|
||||
Reference in New Issue
Block a user