PinePods est simple, élégant et pratique.
Bien qu'il existe Audiobookshelf, PinePods se démarque par son extrême simplicité et pour ne rien gâcher, il est adapté pour tous vos appareils: tablette, PC, smartphone.
Quand on voit la roadmap, cela semble prometteur!
C'est encore balbutiant comme projet mais déjà bien fonctionnel.
PinePods est un système de gestion de podcasts basé sur Rust qui gère les podcasts avec une prise en charge multi-utilisateurs et s'appuie sur une base de données centrale avec des clients pour s'y connecter. Il est basé sur un navigateur et vos podcasts et paramètres vous suivent d'un appareil à l'autre car tout est stocké sur le serveur. Il fonctionne sur les appareils mobiles et peut également se synchroniser avec un serveur Nextcloud afin que vous puissiez également utiliser des applications externes comme Antennapod !
⚡Caractéristiques
- Pinepods est un système complet de gestion de podcasts et vous permet de lire, télécharger et suivre les podcasts que vous (ou l'un de vos utilisateurs) appréciez.
- Il permet de rechercher de nouveaux podcasts à l'aide de The Podcast Index ou d'Itunes et fournit une interface utilisateur moderne pour parcourir les émissions et les épisodes.
- Pinepods offre une gestion simple des utilisateurs et peut être utilisé par plusieurs utilisateurs à la fois à l'aide d'un navigateur ou d'une version d'application.
- Tout est enregistré dans une base de données Mysql (le support de base de données alternative est sur la feuille de route), y compris les paramètres utilisateur, les podcasts et les épisodes.
- Il est entièrement auto-hébergé, open source, et je propose la possibilité d'utiliser une API de recherche hébergée ou vous pouvez également en obtenir une à partir de l'index des podcasts et utiliser la vôtre.
- Nombreux thèmes différents parmi lesquels choisir !
- Tout est entièrement dockerisé.
L'installation
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter le port et les volumes suivant votre configuration:
version: '3'
services:
db:
image: mariadb:latest
command: --wait_timeout=1800
environment:
MYSQL_TCP_PORT: 3306
MYSQL_ROOT_PASSWORD: myS3curepass
MYSQL_DATABASE: pypods_database
MYSQL_COLLATION_SERVER: utf8mb4_unicode_ci
MYSQL_CHARACTER_SET_SERVER: utf8mb4
MYSQL_INIT_CONNECT: 'SET @@GLOBAL.max_allowed_packet=64*1024*1024;'
volumes:
- ./sql:/var/lib/mysql
ports:
- "3306:3306"
restart: always
pinepods:
image: madeofpendletonwool/pinepods:latest
ports:
# Pinepods Main Port
- "8040:8040"
environment:
# Basic Server Info
SEARCH_API_URL: 'https://search.pinepods.online/api/search'
# Default Admin User Information
USERNAME: goldorak
PASSWORD: goldorak
FULLNAME: goldorak
EMAIL: zarev@beglinux.com
# Database Vars
DB_TYPE: mariadb
DB_HOST: db
DB_PORT: 3306
DB_USER: root
DB_PASSWORD: myS3curepass
DB_NAME: pypods_database
# Enable or Disable Debug Mode for additional Printing
DEBUG_MODE: False
volumes:
# Mount the download and the backup location on the server if you want to. You could mount a nas to the downloads folder or something like that.
# The backups directory is used if backups are made on the web version on pinepods. When taking backups on the client version it downloads them locally.
- ./downloads:/opt/pinepods/downloads
- ./backups:/opt/pinepods/backups
depends_on:
- db
Veillez à changer:
- MYSQL_ROOT_PASSWORD: myS3curepass => Remplacez myS3curepass par un mot de passe fort, ce même mot de passe sera à indiquer à la ligne suivante.
- DB_PASSWORD: myS3curepass => Même mot de passe qu'à la ligne précédente.
- USERNAME: goldorak => Choisissez le nom d'utilisateur de votre compte admin.
- PASSWORD: goldorak => Choisissez le mot de passe utilisateur de votre compte admin.
- FULLNAME: goldorak => Indiquez votre nom complet ou quelque chose qui vous plaît.
- EMAIL: zarev@beglinux.com => Indiquez votre e-mail.
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8004 par défaut:
http://ip:8004/
Terminer la configuration et se connecter
Lors du premier lancement il vous sera demandé vos identifiants, identifiants que vous avez choisi dans le docker-compose, une fois entrés, cliquez sur Login:
Réglez votre Time Zone ainsi que le format de la date, cliquez sur Submit:
Vous voilà connecté:
Ajouter un podcast
La première chose à faire est d'entrer, en haut à droite, le nom du podcast recherché, ici Tales Audio, et cliquez sur la 🔎:
Quand vous l'avez trouvé, cliquez sur le +:
Rendez-vous dans la partie Podcasts, cliquez ensuite sur le nom du podcast:
Vous retrouvez tous les épisodes, cliquez sur Play pour le lire, tout simplement:
Changer le thème
Cliquez sur Settings dans la colonne de gauche:
Quand vous avez trouvé le thème qui vous plaît, cliquez sur Submit. J'ai pas pris le plus beau...
Activer la 2FA
Toujours dans la partie Settings, cliquez sur MFA Settings et cochez Enable MFA, scannez le QR Code avec votre application préférée, indiquez le code de vérification est terminez en cliquant sur Verify:
On se déconnecte et on vérifie que ça fonctionne:
Créer un utilisateur
Dans Settings, Admin Settings, sous User Management, cliquez sur Create New User, remplissez les informations demandées et cliquez sur Submit:
L'utilisateur est bien créé:
Exporter un backup du serveur
Dans Settings toujours, partie Admin Settings, dans l'onglet Backup Server, indiquez le mot de passe choisi dans le docker-compose dans la partie DB_PASSWORD et cliquez sur Authenticate:
Vous aurez un fichier de votre backup qui ressemble à ça:
Disponibilité
Sur votre navigateur préféré.
Linux Windows Mac
Android
Bientôt
ios
Bientôt