Files
2026-06-09 18:40:21 +02:00

153 lines
5.9 KiB
Markdown

---
title: Pixelfed
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, activitypub-fediverse, photos, instagram, laravel, fediverse]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=activitypub-fediverse, https://github.com/pixelfed/pixelfed, https://pixelfed.org/]
---
# 📷 Pixelfed
> **Le partage de photos fédéré** : l'alternative éthique à Instagram, basée sur ActivityPub, en Laravel/PHP, avec albums, stories, filtres et « fediverse-compatibility ».
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [https://pixelfed.org](https://pixelfed.org) |
| **GitHub** | [https://github.com/pixelfed/pixelfed](https://github.com/pixelfed/pixelfed) |
| **License** | AGPL-3.0 |
| **Langage principal** | PHP (Laravel), JavaScript |
| **Étoiles GitHub** | 6 800 ⭐ |
| **Dernière MAJ** | 2026-05 |
| **Catégorie** | [[cat-activitypub-fediverse]] |
## Description
Pixelfed est l'**Instagram-like décentralisé** du Fediverse. L'interface rappelle volontairement la célèbre application de partage de photos : flux carré, double-tap pour aimer, commentaires, stories éphémères, filtres, albums multi-photos, hashtags, mentions.
La grande force est l'interopérabilité : un compte Pixelfed (`@user@pixelfed.social`) est visible depuis Mastodon, et inversement — les photos s'affichent dans le fil Mastodon avec une prévisualisation, et les commentaires remontent. Pixelfed respecte la vie privée : **pas de publicité**, **pas d'algorithme de classement opaque**, données non revendues, chiffrement HTTPS obligatoire.
Fonctionnalités notables : **galeries thématiques**, **collection privée**, **exifs visibles** (appareil, ouverture, ISO, etc.), **collections par tiers** (séries, « boards »), **stories** en option, **iOS / Android / Web** avec PWA.
**Points forts** : UI familière pour ex-utilisateurs Instagram, federation ActivityPub mature, support multilingue, base installée en hausse depuis 2023.
**Points faibles** : consommation RAM non négligeable (PHP-FPM + Redis + Postgres + queue worker), pas d'algorithme de découverte, pas d'application iOS native officielle (PWA et clients tiers comme **iMast**, **Mastodon iOS**), et la ré-écriture récente en Laravel a connu quelques instabilités.
## Installation
### Via Docker (recommandé)
Il n'y a pas d'image officielle 1.0 stable unique, mais l'image communautaire de référence est `ghcr.io/pixelfed/pixelfed` ou la stack `pencilshavings/pixelfed` (Docker Hub) pour le tout-en-un. La stack typique utilise Laravel, Postgres, Redis et un worker.
```yaml
# docker-compose.yml
services:
app:
image: ghcr.io/pixelfed/pixelfed:latest
restart: unless-stopped
env_file: .env
volumes:
- pixelfed_storage:/var/www/storage
- ./docker/nginx:/etc/nginx/conf.d
ports:
- "8080:80"
depends_on:
- postgres
- redis
worker:
image: ghcr.io/pixelfed/pixelfed:latest
restart: unless-stopped
env_file: .env
command: php artisan horizon
depends_on:
- postgres
- redis
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: pixelfed
POSTGRES_USER: pixelfed
POSTGRES_PASSWORD: change-me
volumes:
- pixelfed_db:/var/lib/postgresql/data
redis:
image: redis:7-alpine
restart: unless-stopped
volumes:
- pixelfed_redis:/data
caddy:
image: caddy:2
restart: unless-stopped
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
volumes:
pixelfed_db:
pixelfed_redis:
pixelfed_storage:
caddy_data:
```
### Installation manuelle
Voir la doc officielle : `https://docs.pixelfed.org/running-pixelfed/installation/`. Prévoir PHP 8.2+, Composer, Node.js, Redis 7+, PostgreSQL 14+, FFMPEG (traitement vidéo), exiftool.
## Configuration
1. Copier `.env.example` en `.env`, compléter `APP_URL`, `DB_*`, `REDIS_*`, `MAIL_*`, `ACTIVITYPUB_HOST`.
2. Générer la clé : `php artisan key:generate`.
3. Migrer la base : `php artisan migrate --force`.
4. Optimiser : `php artisan storage:link && php artisan config:cache && php artisan route:cache`.
5. Créer le compte admin via Horizon ou `php artisan user:admin`.
6. Activer la federation (`ACTIVITYPUB_FEDERATION=true`) et configurer le reverse-proxy HTTPS (Caddy recommandé).
## Alternatives
### Open source
- [[app-mastodon]] — Microblogage texte + images (overlap important)
- [[app-bookwyrm]] — Réseau social mais orienté livres
- **Photoshare / Iommi** — Partage photo simplifié, sans ActivityPub
- **Piwigo** — Galerie photos mature, pas de federation
- [[app-photoprism]] — Gestion photo IA, sans réseau social
### Propriétaires
- **Instagram** — L'original, centralisé et traçant
- **Flickr** — Historique, modèle freemium peu fair-play
- **VSCO** — Plutôt édition, pas vraiment de réseau
## Sécurité
-**Authentification** : email + mot de passe, 2FA TOTP
-**HTTPS** obligatoire (HSTS)
-**Modération** : signalements, blocages par utilisateur et par domaine, listes de mots-clés
-**Exifs** : nettoyables par défaut, mais paramétrable
- ⚠️ **Vie privée** : par défaut les photos sont publiques, bien prévenir les utilisateurs
- ⚠️ **Stockage** : prévoir un volume conséquent (HEIC/JPEG), S3 externe recommandé
- ⚠️ **Stories** : utilisent du WebSocket, à ouvrir en sortie réseau si activé
## Ressources
- [Site officiel](https://pixelfed.org)
- [Documentation](https://docs.pixelfed.org)
- [GitHub pixelfed/pixelfed](https://github.com/pixelfed/pixelfed)
- [Liste d'instances publiques](https://pixelfed.org/join)
## Pages Liées
- [[cat-activitypub-fediverse]] — Catégorie parente
- [[app-mastodon]] — Federation totale, complémentaire
- [[app-photoprism]] — Pour l'archivage photo personnel
- [[app-caddy]] — Reverse-proxy HTTPS recommandé
- [[recettes-docker-compose]] — Templates Docker