---
title: Pinry
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, photos, pinry, bookmarking, pinterest, gallery, self-hosted]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Photos, https://github.com/pinry/pinry]
---

# 📸 Pinry

> **Le bookmarking visuel d'images self-hosted** — une alternative open source à Pinterest, pour sauvegarder, organiser et partager vos collections d'images préférées.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | Pinry |
| **Slug** | app-pinry |
| **Description** | Bookmarking visuel d'images style Pinterest, self-hosted |
| **Site officiel** | [pinry.github.io](https://pinry.github.io) |
| **Repository** | [pinry/pinry](https://github.com/pinry/pinry) |
| **Stars** | 3 375 ⭐ |
| **Licence** | BSD-3-Clause |
| **Langage principal** | Python (Django), TypeScript (front) |
| **Catégorie** | Photos |
| **Tags** | [catalogue, photos, pinry, bookmarking, pinterest, gallery, self-hosted] |

## 📝 Description

**Pinry** est l'équivalent self-hosted de **Pinterest** : un outil de **bookmarking visuel** pour sauvegarder, organiser et explorer des collections d'images. Pensé à l'origine par des développeurs frustrés par Pinterest (qui a beaucoup fermé ses API au fil des années).

Fonctionnalités : **bookmarklet navigateur** (un clic sur un site pour "épingler" l'image), **upload direct** (drag-and-drop), **boards / collections** thématiques, **tags**, **recherche par image** (similarité), **partage public** avec lien, **multi-utilisateurs**, **API** REST documentée, **extension Chrome/Firefox** pour faciliter la capture, **responsive** web (mobile, tablette).

**Différence avec les autres apps photos** : Pinry n'est pas fait pour stocker votre photothèque familiale, mais pour **collecter des images depuis le web** (inspiration déco, design, recettes, recettes de cuisine, moodboards, etc.). C'est un outil **curation**, pas un backup photo.

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
version: "3.8"
services:
  pinry:
    image: getpinry/pinry:latest
    container_name: pinry
    restart: unless-stopped
    environment:
      DJANGO_SECRET_KEY: ${SECRET_KEY}
      DJANGO_ALLOWED_HOSTS: pinry.local
      DATABASE_URL: postgres://pinry:${DB_PASSWORD}@db:5432/pinry
    volumes:
      - ./media:/app/media
    ports:
      - 8087:8000
    depends_on: [db]

  db:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_DB: pinry
      POSTGRES_USER: pinry
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - db:/var/lib/postgresql/data

volumes:
  db:
```

### Installation manuelle

```bash
# Python 3.10+, pip
git clone https://github.com/pinry/pinry.git
cd pinry && pip install -r requirements.txt
cp .env.example .env  # éditer
python manage.py migrate
python manage.py runserver
```

## ⚙️ Configuration

- **Stockage** : volume `/app/media` (originaux) + DB Postgres (métadonnées).
- **Reverse proxy HTTPS** recommandé (Caddy/Traefik) pour le bookmarklet et le partage.
- **Django settings** : `SECRET_KEY`, `ALLOWED_HOSTS`, `DATABASE_URL`.
- **OAuth** : providers externes configurables (Google, GitHub) pour login social.

## 🔗 Alternatives

- **[[app-lychee]]** — Plus orienté "stockage galerie", pas de bookmarking
- **[[app-piwigo]]** — Galerie PHP historique, pas d'aspect curation
- **Pinterest** (cloud) — Source d'inspiration pour Pinry, mais fermé et centralisé

## 🔒 Sécurité

- **Authentification** : Django (sessions, OAuth social).
- **HTTPS** : obligatoire pour bookmarklet et partage public.
- **Mises à jour** : suivre les CVE Python/Django.

## 📚 Ressources

- [Site officiel Pinry](https://pinry.github.io)
- [Repository GitHub](https://github.com/pinry/pinry)
- [Documentation utilisateur](https://github.com/pinry/pinry/wiki)

## 🔗 Pages Liées

- [[cat-photos]] (n'existe pas encore, OK)
- [[app-lychee]]
- [[app-piwigo]]
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]
