---
title: PinePods
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, media-streaming, podcasts, multi-user, rust]
confidence: high
contested: false
sources:
  - https://selfh.st/apps/?tag=Media+Streaming
  - https://github.com/madeofpendletonwool/PinePods
---

# 🎬 PinePods

> Serveur de podcasts multi-utilisateurs avec synchronisation entre clients, gestion fine des épisodes écoutés et découverte par thème.

## 📋 Informations Générales

| Attribut | Valeur |
|----------|--------|
| **Nom** | PinePods |
| **Slug** | app-pinepods |
| **Description** | Plateforme de podcasts self-hosted, multi-utilisateurs, compatible clients iOS/Android/web |
| **Site officiel** | https://pinepods.online/ |
| **Repository** | https://github.com/madeofpendletonwool/PinePods |
| **Stars** | 878 ⭐ |
| **Licence** | MIT |
| **Langage principal** | Rust (backend) + Svelte (frontend) |
| **Catégorie** | Media Streaming |
| **Tags** | [catalogue, media-streaming, podcasts, multi-user, rust] |

## 📝 Description

PinePods est un gestionnaire de podcasts moderne pensé pour un usage familial ou de petite équipe. Contrairement à des solutions mono-utilisateur comme [[app-casteros]] ou [[app-antennapod]] (qui est Android-only), PinePods gère nativement plusieurs comptes, conserve l'historique d'écoute par utilisateur et synchronise la position de lecture entre tous les clients connectés (web, iOS, Android, CLI).

L'indexation est centralisée : les métadonnées, la position d'écoute, les épisodes téléchargés et les abonnements sont stockés dans une base PostgreSQL. Le backend en Rust assure des temps de réponse rapides et une empreinte mémoire modeste, ce qui rend l'application parfaitement adaptée à un [[self-hosting]] sur Raspberry Pi 4/5 ou un mini-PC.

Points forts : interface agréable, recherche via iTunes et gpodder.net, génération RSS, marque-pages sur épisode, support des podcasts avec chapitres. Limites : la gestion de très grosses bibliothèques (> 5 000 abonnements) peut nécessiter quelques ajustements d'index PostgreSQL.

## 🚀 Installation

### Via Docker (recommandé)

```yaml
# docker-compose.yml
version: "3.8"

services:
  pinepods-db:
    image: postgres:16-alpine
    container_name: pinepods-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: pinepods
      POSTGRES_PASSWORD: changeme
      POSTGRES_DB: pinepods
    volumes:
      - ./db:/var/lib/postgresql/data

  pinepods-api:
    image: madeofpendletonwool/pinepods-api:latest
    container_name: pinepods-api
    restart: unless-stopped
    depends_on:
      - pinepods-db
    environment:
      DATABASE_URL: postgres://pinepods:changeme@pinepods-db:5432/pinepods
      JWT_SECRET: changez-moi-en-production
    ports:
      - "8013:8013"

  pinepods-web:
    image: madeofpendletonwool/pinepods-web:latest
    container_name: pinepods-web
    restart: unless-stopped
    depends_on:
      - pinepods-api
    ports:
      - "8014:8014"
```

### Installation manuelle

Build Rust depuis les sources : `cargo build --release`, puis lancer l'API et servir le frontend Svelte. Réservé aux utilisateurs avancés ; la voie Docker est largement privilégiée.

## ⚙️ Configuration

- **Compte admin** : créé au premier lancement via l'interface web (`/setup`).
- **Reverse proxy** : configurer [[app-caddy]] ou [[app-traefik]] pour exposer en HTTPS sur un sous-domaine dédié.
- **Sauvegarde** : ne pas oublier de sauvegarder le volume `db/` (PostgreSQL) en plus des fichiers média.
- **Clients mobiles** : utiliser les apps PinePods iOS / Android officielles (F-Droid et Play Store).
- **Synchronisation gPodder** : activer le module correspondant pour conserver la compatibilité avec d'autres clients (AntennaPod).

## 🔗 Alternatives

- **Funkwhale** — Serveur audio/podcasts ActivityPub, plus orienté musique.
- **Castopod** — Plateforme podcasting avec ActivityPub, focalisée sur la publication.
- **Gpodder** — Serveur gPodder standalone, plus minimaliste.
- **AntennaPod** — Client Android uniquement, pas de serveur.

## 🔒 Sécurité

- Changer `JWT_SECRET` et le mot de passe PostgreSQL avant toute exposition réseau.
- Activer HTTPS (obligatoire pour la géolocalisation des clients mobiles récents).
- Limiter l'inscription publique (`allow_registration: false` dans la conf).
- Mettre à jour régulièrement ; le projet est en développement actif.

## 📚 Ressources

- Site officiel : https://pinepods.online/
- Repository : https://github.com/madeofpendletonwool/PinePods
- Documentation : https://pinepods.online/docs/
- Clients mobiles : https://github.com/madeofpendletonwool/PinePodsApps

## 🔗 Pages Liées

- [[cat-media-streaming]] (catégorie parente)
- [[app-navidrome]] — Équivalent pour la musique
- [[app-funkwhale]] — Alternative audio/podcasts
- [[app-jellyfin]] — Serveur média polyvalent
- [[app-traefik]] — Reverse proxy HTTPS
- [[recettes-docker-compose]] — Templates
- [[securisation-home-lab]] — Bonnes pratiques
