Vue normale
Scaleway PPA sur Debian 13
Utilisant des machines Debian chez Scaleway, je rencontrai l'avertissement suivant après mise à jour de Debian 12 à Debian 13.
Warning: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. OpenPGP signature verification failed: http://ppa.launchpad.net/scaleway/stable/ubuntu focal InRelease: Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 15061C3CA651AD8DF110A37BFEC8C91445F9E441, which is needed to verify signature. Warning: Failed to fetch http://ppa.launchpad.net/scaleway/stable/ubuntu/dists/focal/InRelease Sub-process /usr/bin/sqv returned an error code (1), error message is: Missing key 15061C3CA651AD8DF110A37BFEC8C91445F9E441, which is needed to verify signature. Warning: Some index files failed to download. They have been ignored, or old ones used instead.
Pour régler ce souci, j'identifiai ce dépôt PPA géré par Scaleway : https://launchpad.net/~scaleway/+archive/ubuntu/debian-stable
J'y trouvai l'adresse du dépôt et la clé de signature associée. Pour implémenter cela sur la machine, j'effectuai alors les opérations suivantes :
curl "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x15061c3ca651ad8df110a37bfec8c91445f9e441"|gpg --dearmor -o /usr/share/keyrings/scaleway.gpg
puis je modifiai le fichier /etc/apt/sources.list.d/scaleway.list avec ce contenu :
deb [signed-by=/usr/share/keyrings/scaleway.gpg] http://ppa.launchpad.net/scaleway/debian-stable/ubuntu jammy main
et le tour était joué !
kdig : outil pour tester les DNS classique, DNSSEC DoT et DoH
Installation et configuration d’un serveur DNS DoH et DoT sous Debian 13
Utiliser la version Usenet de Decypharr
Une ancienne version de Decypahrr permet de l’utiliser avec Usenet. Non maintenue, je ne recommande pas de s’en servir pour BitTorrent.
J’ai testé sur une petite machine et ça marche mais ça consomme 100% de mon CPU en cas de transcodage couplé au téléchargement sur Usenet. Mais c’est fonctionnel avec les .nzb compatibles (pas de mot de passe, par d’archive).
À l’époque j’avais Usenet-Drive ou encore nzbDAV sur un serveur plus robuste et ça passait très bien même en avance rapide.
Nous sommes dans le cas d’un montage de .nzb « streamable », il n’y a donc aucun debrideur à ajouter.
Le compose que j’utilise build le Dockerfile puisqu’il n’y a pas d’image de publiée et s’occupe du montage rClone du WebDav, celui-ci n’étant pas inclus dans l’interface.
Il faut au préalable avec sa config rClone, qu’on peut créer à la main dans rclone.conf :
[decypharr-usenet]
type = webdav
url = http://192.168.0.163:2828/webdav/usenet
vendor = other
user = ""
pass = ""
URL : l’IP et le port de la WebUI de Decypharr tel qu’indiqué dans le compose
Ici je n’utilise pas de user:pwd pour l’accès à la WebUI de Decypharr. Si vous voulez le faire, il faut y mettre un pwd chiffré :
rclone obscure mon-mot-de-passe
Et donc mon compose
services:
decypharr-usenet:
image: decypharr:usenet
container_name: decypharr-usenet
build:
context: https://github.com/sirrobot01/decypharr.git#usenet
dockerfile: Dockerfile
restart: always
cap_add:
- SYS_ADMIN
security_opt:
- apparmor:unconfined
ports:
- 2828:8282
volumes:
- /mnt/decypharr-usenet:/mnt/decypharr-usenet:rshared
- /home/aerya/docker/decypharr-usenet/configs/:/app
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
devices:
- /dev/fuse:/dev/fuse:rwm
rclone-mount:
image: ghcr.io/rclone/rclone:latest
container_name: decypharr-usenet-rclone
depends_on:
- decypharr-usenet
devices:
- /dev/fuse
cap_add:
- SYS_ADMIN
security_opt:
- apparmor=unconfined
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
- /home/aerya/docker/decypharr-usenet/config/rclone:/config/rclone
- /mnt/decypharr-usenet:/mnt/decypharr-usenet:rshared
- /mnt/:/mnt/
ports:
- 5575:5575
restart: always
command:
- mount
- "decypharr-usenet:"
- /mnt/decypharr-usenet
- --config=/config/rclone/rclone.conf
- --log-file=/config/rclone/rclone.log
- --async-read=true
- --allow-non-empty
- --no-modtime
- --allow-other
- --rc
- --rc-no-auth
- --rc-addr=0.0.0.0:5575
- --cache-dir=/mnt/Data/rCloneCache
- --vfs-cache-mode=full
- --vfs-cache-max-age=1h
- --vfs-cache-max-size=50G
- --dir-cache-time=5m
- --vfs-cache-poll-interval=1m
- --vfs-read-chunk-size=128m
- --vfs-read-chunk-size-limit=128m
- --vfs-read-ahead=256k
- --buffer-size=10m
- --umask=002
networks: {}
Je pense que les paramètres de montage de rClone peuvent s’optimiser. Pour l’instant je ne fais pas plus de tests.
La configuration de Decypharr est simple : ajouter un indexeur Usenet et les chemins de téléchargement (le WebDAV)



Une fois Decypharr configuré et le tout relancé, j’ai bien mon montage
root@StreamBox:/mnt# df -H
Filesystem Size Used Avail Use% Mounted on
tmpfs 824M 4.3M 819M 1% /run
/dev/sdb2 251G 183G 56G 77% /
tmpfs 4.2G 0 4.2G 0% /dev/shm
tmpfs 5.3M 8.2k 5.3M 1% /run/lock
/dev/sda1 472G 108G 341G 25% /mnt/Data
tmpfs 824M 115k 823M 1% /run/user/1000
decypharr-alldebrid 1.2P 0 1.2P 0% /mnt/decypharr/alldebrid
decypharr-usenet: 1.2P 0 1.2P 0% /mnt/decypharr-usenet
Avec les contenus de tests
root@StreamBox:/mnt# tree decypharr-usenet/
decypharr-usenet/
├── __all__
│ ├── 28.Years.Later.2025.MULTi.VFQ.Hybrid.2160p.UHD.BluRay.REMUX.CUSTOM.DV.HDR10Plus.HEVC.TrueHD.7.1.Atmos-ONLY
│ │ └── bd7925555a625f9db23d7ddf2ae4cfe64fc8c250d5d308.mkv
│ ├── Barbie.2023.MULTi.VF2.HDR.DV.2160p.WEB.x265-FW
│ │ └── daec752aec35c12cca5178469508afb58b7dbebfb93ef6e139cf.mkv
│ ├── Demolition.2015.MULTi.TRUEFRENCH.1080p.BluRay.REMUX.AVC.AC3.DTS.HDMA.5.1-PATOMiEL
│ │ └── lHWf3M0BMGkf.mkv
│ ├── Final.Destination.Bloodlines.2025.MULTi.TRUEFRENCH.1080p.BluRay.x264-Ulysse
│ │ └── ee3d99f582465188bdb26588adcd67846f9e410d2a128fc072b9596f0b035e.mkv
│ ├── Superman.2025.MULTi.VFQ.2160p.Bluray.REMUX.DV.HDR10.HEVC-BDHD
│ │ └── 6641c6843c54ea19333837ac52c889d991363f2303.mkv
│ ├── The.Electric.State.2025.MULTi.HDR.2160p.WEB.H265-LOST
│ │ └── 32f2be574e0ef3edaf3e547771d04a003129.mkv
│ └── V.H.S.Viral.2014.MULTi.1080p.WEB.H264-SUPPLY
│ └── 5c27f2c7ca6d9f3d26a749c23a43f0e6cd0470b9fd87.mkv
├── __bad__
└── version.txt
10 directories, 8 files
On peut d’ailleurs, comme pour la version BitTorrent, parcourir le WebDAV depuis Decypharr

Le tout est accessible depuis Jellyfin. Et on peut configurer les *arrs avec ce WebDAV comme expliqué dans mon tutoriel sur Decypahrr « normal ».
Pour ce test j’y suis allé à l’arrache et ai monté directement /mnt/decyphrarr-usenet en médiathèque sous Jellyfin

Sans transcodage, donc qu’avec le téléchargement Usenet, ça passe bien (Jellyfin sous LibreWolf).


En revanche avec un 2160p en transcodage mon serveur ne fait pas le poids


Tout ça pour dire que cette mouture de Decypharr est plus un PoC, certes fonctionnel, qu’un acteur majeur et durable du segment du streaming de .nzbs.
![]()
Mesurer les performances d’un pool Ceph sur Proxmox
Checkrr : Contrôle et réparation de bibliothèque
Decypharr intègre une option de réparation automatique mais quand on agrège plusieurs sources locales et/ou distantes, il est pratique d’avoir un outil de contrôle de ses bibliothèques.
Checkrr d’aetaric permet de contrôler à intervalles réguliers le contenu des bibliothèques liées à des instances Radarr, Sonarr, Lidarr. Si un fichier manque, l’info est relayé au bon outil qui remet dans la boucle du téléchargement.
Le genre d’outil qui ne consomme rien, ne fait pas de bruit mais peut s’avérer très pratique.
Pour l’installer en Docker il faut auparavant créer la base de données et le fichier de configuration, dans le dossier de son choix. Chez moi c’est /home/aerya/docker/checkrr
touch checkrr.db
touch checkrr.yaml
On peut maintenant remplir le fichier de configuration. Y’a une version longue et une version courte, j’ai fait mon mix avec :
Mes bibliothèques
Les extensions ignorées. C’est là qu’il faut bien regarder ce qu’on, prévoir large, sous peine d’avoir beaucoup de fichier non pris en compte, ça change rien mais ça fait des erreurs et du log pour Checkrr
Mes instances de Radarr et Sonarr
Des notifications Discord en cas de problème/réparation
L’activation de la WebUI
lang: "fr-FR"
checkrr:
checkpath:
- "/media/Films/"
- "/media/Séries/"
database: ./checkrr.db
debug: true
cron: "@daily"
ignorehidden: true
ignorepaths:
- 'media/ignored'
ignoreexts:
- .txt
- .nfo
- .nzb
- .url
- .xml
- .jpg
- .jpeg
- .mp3
arr:
radarr:
process: true
service: radarr
address: "https://radarr.domaine.tld"
apikey: "xxx"
baseurl: /
port: 443
ssl: true
mappings:
"/mnt/Bibliothèques/Films/": "/media/Films/"
sonarr:
process: true
service: sonarr
address: "https://sonarr.domaine.tld"
apikey: "xxx"
baseurl: /
port: 443
ssl: true
mappings:
"/mnt/Bibliothèques/Séries/": "/media/Séries/"
logs:
stdout:
out: stdout
formatter: default
notifications:
discord:
url: "https://canary.discord.com/api/webhooks/xxx"
notificationtypes:
- reacquire
- unknowndetected
- startrun
- endrun
webserver:
port: 8585
baseurl: "/"
Et le compose qui va avec
services:
checkrr:
container_name: checkrr
image: aetaric/checkrr:latest
restart: always
volumes:
- /home/aerya/docker/checkrr/checkrr.yaml:/etc/checkrr.yaml
- /home/aerya/docker/checkrr/checkrr.db:/checkrr.db
- /mnt/Bibliothèques:/media
ports:
- 8585:8585
environment:
- TZ=Europe/Paris
labels:
- com.centurylinklabs.watchtower.enable=true
De cette manière Checkrr tourne 1 fois par jour (minuit) mais on peut également le lancer manuellement via l’interface.

Les logs
+---------------------+---------------+
| Files Checked | 10503 |
| Hash Matches | 0 |
| Hashes Mismatched | 0 |
| Submitted to Sonarr | 0 |
| Submitted to Radarr | 0 |
| Submitted to Lidarr | 0 |
| Video Files | 0 |
| Audio Files | 167 |
| Text or Other Files | 214 |
| Unknown Files | 3 |
| Elapsed Time | 23.253042916s |
J’ai malheureusement, ou heureusement, aucun cas de réparation à montrer en exemple. Je ne manquerai pas d’éditer l’article si ça arrivait.
Pour Heimdall ou autre dashboard, cxtal propose une icône.
![]()
Jellyfin : collections automatiques personnalisées
Si Jellyfin peut créer en standard des collections de films et qu’on peut en constituer d’autres via des listes, je voulais un outil pour en faire selon mes goûts, avec mon contenu disponible, voire qu’elles rassemblent films et séries.
J’ai d’abord trouvé et testé Smart Collections de johnpc et je suis tombé sur son évolution Auto Collections par KeksBomb.
C’est une tuerie !
Ce que faisait le plugin original
Le plugin original de johnpc permettait aux utilisateurs de :
- Créer des collections basées sur les tags appliqués aux films et séries
- Mettre à jour automatiquement les collections lorsque des éléments étaient tagués ou détagués
- Configurer des noms de collections personnalisés pour chaque tag
Ce que fait cette version améliorée
Ce fork étend les fonctionnalités originales avec :
- Deux modes de collections :
- Collections simples : mise en place rapide avec un filtrage par critère unique
- Collections avancées : filtrage complexe avec des expressions logiques booléennes
- Multiples méthodes de correspondance : associer du contenu par titre, studio, genre, acteur, réalisateur, tags, et plus encore
- Filtrage par type de média : limiter les collections aux films uniquement, aux séries uniquement, ou aux deux
- Support des expressions avancées : créer des collections complexes avec des expressions booléennes (AND, OR, NOT)
- Options de filtrage enrichies :
- Filtrer par métadonnées du contenu (titre, genre, studio, acteur, réalisateur, tags)
- Filtrer par évaluations (contrôle parental, notes de la communauté, notes de la critique)
- Filtrer par lieux/pays de production
- Filtrer par langue audio et langue des sous-titres
- Filtrer par note personnalisée définie par l’utilisateur (champ CustomRating de Jellyfin)
- Logique booléenne : combiner plusieurs critères avec les opérateurs AND, OR, NOT et des regroupements par parenthèses
- Import/Export : sauvegarder et restaurer facilement les configurations de collections au format JSON
- Contrôle de la casse : choisir si la correspondance doit être sensible à la casse ou non
- Synchronisation planifiée : les collections se mettent automatiquement à jour selon un calendrier
Je passe sur l’installation du plugin, un B-A-BA de Jellyfin.
La configuration, en anglais, n’est pas compliqué. Y’a quelques exemples par défaut donc attendez-vous à devoir supprimer des collections si vous cliquez sur Sync avant de modifier la configuration.
Exemple concret : en me créant une collection de contenus dont le titre ou le studio est « Marvel », ça me liste bien films et séries disponibles dans la même collection.



On peut laisser libre cours à ses envies et préférences




Petit aparté : si vous n’avez pas peur d’ajouter plein de téléchargements à vos *arrs, vous pouvez jeter un œil à Auto Collections de ghomasHudson qui permet de créer des collections à partir de listes IMDB, TMDB, Trakt, MDBlist, Criterion, StevenLu etc. Testé, 987 films ajoutés à Radarr d’un coup. S’il pouvait communiquer, je suis certain qu’il aurait crié !
![]()
Plugins de IAmParadox27, une expérience Jellyfin augmentée
Pour une page d’accueil Web (pas ATV) Jellyfin revisitée :
- Proposition de contenu aléatoire en lecture directe
- Découverte de films et séries et ajout en 1 clic à Jellyseerr
- À suivre (prochain épisode de série à lire)
- Derniers films et séries « parues » (aired ou released)
- Continuer de regarder (épisode ou film en cours)
Parce que j’ai regardé XXX, suggestion de contenus (disponibles)
- Derniers films et séries ajoutés à Jellyfin
Il n’est malheureusement pas possible de modder l’application AndroidTV mais pour avoir testé depuis un PC sur vidéoprojecteur, ça claque !




ça s’installe très simplement avec les plugins de IAmParadox27, plus précisément
https://github.com/IAmParadox27/jellyfin-plugin-file-transformation
https://github.com/IAmParadox27/jellyfin-plugin-home-sections
https://github.com/IAmParadox27/jellyfin-plugin-media-bar
Pour HomeSection il faut ensuite aller configurer Jellyseerr et ses bibliothèques

Un + apparait en mouse overlay sur les affiches des sections Discover et permet d’ajouter le contenu à Jellyseerr



Aphrodite ne tournant que toutes les heures, les overlays viendront après.
![]()
JellyStat : statistiques de lecture et contenus
Petit utilitaire sympathique, même quand le serveur est personnel.
JellyStat de CyferShepard permet d’obtenir diverses statistiques de son serveur Jellyfin : taille des bibliothèques, contenus ajoutés, contenus lus, activité des utilisateurs…
Mon serveur étant tout récent, mes screens révèlent très peu de stats pour l’instant ^^




Le compose officiel est sur GitHub.
Je me suis fait une version modifiée avec .env et healthcheck notamment.
services:
jellystat-db:
image: postgres:15.2
container_name: jellystat-db
restart: always
shm_size: 1gb
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mypassword}
POSTGRES_DB: ${POSTGRES_DB:-jellystat}
TZ: ${TZ:-Europe/Paris}
volumes:
- /mnt/user/appdata/jellystat/postgres-data:/var/lib/postgresql/data
logging:
driver: json-file
options:
max-file: "5"
max-size: 10m
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-postgres} -d ${POSTGRES_DB:-jellystat}
-h 127.0.0.1
interval: 10s
timeout: 5s
retries: 5
jellystat:
image: cyfershepard/jellystat:latest
container_name: jellystat
restart: always
depends_on:
jellystat-db:
condition: service_healthy
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-mypassword}
POSTGRES_IP: jellystat-db
POSTGRES_PORT: ${POSTGRES_PORT:-5432}
POSTGRES_DB: ${POSTGRES_DB:-jellystat}
JWT_SECRET: ${JWT_SECRET:-change-me-please}
TZ: ${TZ:-Europe/Paris}
volumes:
- /mnt/user/appdata/jellystat/data:/app/backend/backup-data
ports:
- 3167:3000
labels:
- com.centurylinklabs.watchtower.enable=true
logging:
driver: json-file
options:
max-file: "5"
max-size: 10m
POSTGRES_USER=postgres
POSTGRES_PASSWORD=GqQlcX8pt0vdq84fbguHSyQHKUp4Qs
POSTGRES_DB=jellystat
POSTGRES_PORT=5432
JWT_SECRET=f019bc29232cdbde0664c44394dd4ee8e88df133081e76a7f520767f8ac29c95
TZ=Europe/Paris
Le JWT_SECRET s’obtient avec
openssl rand -hex 32
On le configure ensuite via la WebUI



![]()
Booster la recherche sous Jellyfin avec Meilisearch
La recherche de Jellyfin fonctionne bien mais on peut la booster en termes de vitesse et de precision. Par exemple utile quand on commence à indexer des 100aines de To de contenus ou qu’on fait des fautes dans les noms de contenus, acteurs etc.
Meilisearch est un moteur de recherche ultra-rapide qui s’intègre sans effort dans des applications, sites Web et flux de travail.
Pour le coupler à Jellyfin il existe le projet JellySearch mais là je présente l’installation séparée de Meilisearch et l’utilisation du plugin d’arnesacnussem.
Pour commencer il faut installer Meilisearch. La master_key est une clé à définir soi-même.
services:
meilisearch:
image: getmeili/meilisearch:latest
container_name: jellyfin-meilisearch
restart: always
stdin_open: true
tty: true
ports:
- 7700:7700
environment:
- MEILI_MASTER_KEY=xpQvJwcLTxsdnx0P7oJMZ1f3LwIUcF
volumes:
- /home/aerya/docker/jellyfin-meilisearch:/meili_data
labels:
- com.centurylinklabs.watchtower.enable=true
On se rend ensuite sur la WebUI pour y entre la master_key en confirmation d’installation

Puis on installe le plugin sous Jellyfin
https://raw.githubusercontent.com/arnesacnussem/jellyfin-plugin-meilisearch/refs/heads/master/manifest.json
Après reboot on peut le configurer avec l’URL de Meilisearch, la master_key. Tout en haut, cliquer sur Connect et s’assurer que meilisearchOk passe bien en true, ce qui confirme la bonne connexion.

Et on utilise la recherche classique de Jellyfin, qui est plus complète et rapide.
![]()
24H à Peak District
Firefox : comment réduire l’utilisation du CPU et de la RAM
-
- Linus Torvalds explose face aux commits « pollués » : quand les balises link transforment l'historique Git du noyau Linux en une décharge numérique ingérable
Linus Torvalds explose face aux commits « pollués » : quand les balises link transforment l'historique Git du noyau Linux en une décharge numérique ingérable
en une décharge numérique ingérable
Le créateur de Linux ne mâche pas ses mots : dans une récente discussion sur la liste de diffusion du noyau, Linus Torvalds a exprimé son exaspération face à l'usage « poubelle » des balises « link » insérées dans les messages de commits Git. Pour lui, ce champ censé documenter les correctifs est devenu un fourre-tout inutile, encombré de...

Un nouveau souffle pour vos jaquettes : Aura et MediUX au service de Plex, Emby et Jellyfin
Je zyeute MediUX depuis très longtemps mais le côté « Faut parcourir le site, télécharger le .zip, l’importer dans mon lecteur, l’appliquer » m’avait clairement rebuté dès les… 52 premières secondes.
L’équipe derrière MediUX propose l’outil Aura, encore en early stage donc on utilise tous une unique clé API de « test », qui permet de parcourir les sets liés à ses bibliothèques via une WebUI.
Ne reste qu’à choisir un set et l’appliquer de suite via un clic ou le prévoir pour une mise à jour automatique en cron. Et on peut en plus lui indiquer de surveiller les MàJ du set sélectionné pour les appliquer.
Si on peut l’intégrer à Kometa, en revanche pour Aphrodite il faut bien veiller à faire mouliner Aura puis ensuite Aphrodite pour les overlays. Comme vous le verrez plus bas, Aura se lance à minuit chaque jour alors qu’Aphrodite est lancé chaque heure. Au pire, il n’y a plus aucun overlay entre minuit et 1h du matin, « pas grave ».
Cet outil se destine aux amateurs de beaux visuels et de personnalisation.
Malgré un maximum d’automatisation, rien ne pourra remplacer l’action de parcourir ses contenus et,
pour chaque, de parcourir à leur tour les embellissements disponibles pour ensuite les appliquer.
Merci TiMac pour la belle découverte !

Compatibilité multi-serveurs : fonctionne avec Plex, Emby et Jellyfin.
Navigation visuelle : prévisualisez les visuels dans une interface claire et organisée.
Mises à jour automatiques : enregistrez les ensembles d’images choisis et gardez-les synchronisés automatiquement.
Stockage local : possibilité d’enregistrer les images à côté de vos fichiers multimédias pour un accès facile.
Support Docker : déploiement simple avec Docker ou docker-compose.
Le docker-compose est à récupérer localement et on peut l’éditer rapidement pour l’adapter
services:
aura:
image: ghcr.io/mediux-team/aura:latest
container_name: aura
restart: always
ports:
- 3064:3000 # Web UI PORT
- 8888:8888 # API PORT
volumes:
- /home/aerya/docker/aura:/config
- /mnt/Bibliothèques/:/data/media
labels:
- com.centurylinklabs.watchtower.enable=true
Avant de le lancer il convient de faire de même avec le fichier de configuration. Son remplissage est déterminant pour le fonctionnement d’Aura. Les paramètres ne sont en effet pour l’instant accessibles qu’en lecture seule via l’interface.
Vous pouvez vous aider de la documentation mais c’est pas compliqué.
Voici le mien pour Jellyfin, avec 2 bibliothèques, SANS authentification (derrière Authelia chez moi), avec notifications Discord. Si vous voulez utiliser un mot de passe, il devra être hashé.
Il faudra une clé API Jellyfin (ou un token Plex) et une clé API (pas le token) TMDB.
Le cron servira pour la MàJ auto (si sélectionnée) des sets, on voit ça plus bas.
# Configuration Sample - aura
# For full documentation, see: https://mediux-team.github.io/AURA/config
# This file should be located in /config on the docker container
# Auth - Configuration for authentication
# This is used to configure the authentication for the application.
# Enable - Whether to enable authentication or not.
# Password - The Argon2id hashed password for the user.
Auth:
Enable: false
Password: $argon2id$v=19$m=12,t=3,p=1$Z3k1YnkwZzh5OTAwMDAwMA$lJDoyKZy1BMifB1Mb2SWFQ
# CacheImages - Whether to cache images or not. Caching images can improve performance but will use more disk space.
CacheImages: true
# SaveImageNextToContent - Whether to save images next to the Media Server content or not.
# If set to true, images will be saved in the same directory as the Media Server content.
# If set to false, images will still be updated on the Media Server but will not be saved next to the content.
# The benefit of this is that you have local images that are not dependent on the Media Server database in case of migration.
# If you are using Emby or Jellyfin, this option being set does not matter. This is determined by Emby or Jellyfin.
# If you are using Plex, this option will determine if the images are saved next to the content or not.
SaveImageNextToContent: false
# Logging - Configuration for logging
# Level - The level of logging. Can be one of: TRACE, DEBUG, INFO, WARNING, ERROR
Logging:
Level: DEBUG
# AutoDownload - Configuration for auto-downloading images
# Enabled - Whether to enable auto-downloading of images or not.
# You have the option when selecting a set to save it to the database.
# This will look for updates to the set and download them automatically.
# Cron - The cron schedule for auto-downloading images. This is a standard cron expression.
# For example, "0 0 * * *" means every day at midnight
AutoDownload:
Enabled: true
Cron: "0 0 * * *"
# Notifications - Configuration for notifications
# Enabled - Whether to enable notifications or not.
# Providers - A list of notification providers to use. Currently supported providers are:
# - Discord
# - Pushover
# You can set multiple providers at the same time. aura will send notifications to all. You also have the option to enable each provider. This gives you flexability to turn off the ones that you don't want to use.
# When provider is Discord, you must set the Webhook URL
# When provider is Pushover, you must set the Token and UserKey
# Sample:
# - Provider: "Pushover"
# Enabled: true
# Pushover:
# Token: your_pushover_token
# UserKey: your_pushover_user_key
# - Provider: "Discord"
# Enabled: true
# Discord:
# Webhook: your_discord_webhook_url
Notifications:
Enabled: true
Providers:
- Provider: "Discord"
Enabled: true
Discord:
Webhook: "https://canary.discord.com/api/webhooks/xxx"
- Provider: "Pushover"
Enabled: false
Pushover:
Token: your_pushover_api_token
UserKey: your_pushover_user_key
# MediaServer - Configuration for your Media Server
# Type - The type of Media Server. This can be one of: Plex, Jellyfin, Emby
# URL - The URL of the Media Server. This should be the IP:Port of the Media Server or your Media Server reverse proxy domain.
# Token - The token for the Media Server. This can be found in the Media Server web interface.
# Libraries - A list of libraries to scan for images. Each library should have the following fields:
# - Name: The name of the library to scan for content. Please note that this application will only work on Movies and Series libraries.
# SeasonNamingConvention - The season naming convention for Plex. This is a Plex exclusive requirement. This can be one of: 1 or 2. This will default to 2
# 1 - Season 1 (non-padded)
# 2 - Season 01 (padded)
MediaServer:
Type: "Jellyfin" # The type of Media Server. This can be one of: Plex, Jellyfin, Emby
URL: https://jelly.domaine.tld:443
Token: xxx
Libraries:
- Name: "Films"
- Name: "Séries"
# - Name: "4K Movies"
# - Name: "4K Series"
# SeasonNamingConvention: 1 # This is a Plex exclusive requirement. This is the season naming convention for Plex. This can be one of: 1 or 2
# Kometa - Configuration for Kometa
# RemoveLabels - Whether to remove labels or not. This will remove all specific labels from the Media Server Item.
# Labels - A list of labels to add to the Media Server Item. This will be used to identify the item in the Media Server.
# This is also a Plex exclusive requirement. This will only work on Plex.
Kometa:
RemoveLabels: false
Labels:
- "Overlay"
# TMDB - Configuration for TMDB (The Movie Database) This is not used yet.
# ApiKey - The API key for TMDB. This can be obtained by creating an account on TMDB and generating an API key.
TMDB:
ApiKey: xxx
# Mediux - Configuration for Mediux
# Token - The token for Mediux. This can be obtained by creating an account on Mediux and generating a static token.
# !!!! NOTE: This is not yet available to the public. It is currently in development and will be available in the future.
# If you would like to test this app, you will need a MedUX. You can contact us on Discord to get access.
# DownloadQuality: The quality of the images to download. Options are: "original" or "optimized"
Mediux:
Token: N_l1upAQrVJ05J6Fwjz89HEoo348l1u-
DownloadQuality: "optimized"
Une fois lancé ça indexe nos contenus globaux ou par bibliothèque, avec un minimum de tri. Et ça ffiche les posters actuels. Aphrodite n’est pas encore passé mettre des overlays.

De là on peut sélectionner 1 film ou 1 série et parcourir les sets MediUX tout en visualisant le poster actuel. En l’occurrence, pour Carnivàle j’ai le choix entre 3 sets. C’est pas foufou MAIS des gens ont pris le temps de les réaliser et partager sur MediUX alors merci à eux.


Aura indique si c’est ou non déjà en base de données

Tout est expliqué et détaillé dans la documentation (en anglais, mais on est en 2025, donc go les d’jeuns ! – je suis de 73- ).
La sélection d’un set de série offre plusieurs choix :
– Poster : l’affiche de la série
– Backdrop : l’image d’arrière plan si vous avez activé l’option dans Plex/.Jellyfin
– Season poster : les affiches des saisons
– Auto DL : vérifiera périodiquement les nouvelles mises à jour de cet ensemble. C’est utile si vous souhaitez télécharger et appliquer automatiquement les nouvelles titlecards ajoutées lors de futures mises à jour de cet ensemble. C’est à ça que cert le cron entré dans la configuration.
- – Future updates ONLY : ne téléchargera rien pour le moment. C’est utile si vous avez déjà téléchargé l’ensemble et que vous souhaitez uniquement appliquer les mises à jour futures. Par exemple uniquement 1x par jour.
Notez qu’il n’y a pas toujours de backdrop de proposé.


Et je constate la mise à jour dans la foulée sur Jellyfin

On peut parcourir les sets proposés par un utilisateur par rapport à nos contenus indexés par Aura, pratique si on apprécie son travail et qu’on veut en profiter pour d’autres séries ou films.

Il y a une option Kometa, pour conserver ou non les overlays après la MàJ d’une affiche. Je n’ai pas testé.
On peut déjà utiliser des sets MediUX via Kometa mais ça semble vraiment fastidieux. Aura est encore tout jeune mais il y a fort à parier qu’il y aura une bonne intégration à/de Kometa dans le futur.
![]()
Agrandir la partition système d’OpenManage Enterprise sous Proxmox (KVM)
Recommendarr : recommandations Plex/Jellyfin/arrs par l’IA
Ok, y’a déjà whatmille solutions de recommandations et découverte de contenus : les listes prises à droite à gauche et ajoutées aux arrs ou à ListSync, Overseerr/Jellyseerr, Suggestarr etc BAH EN VOICI UNE DE PLUS !
Recommendarr de fingerthief permet d’avoir des recommandations faites par une IA à partir des contenus vus sous Plex/Jellyfin, Trakt, Tautulli (eh non ! pas encore mort) et de ceux indexés par Radarr et Sonarr.
Attention, tous les synopsis etc sont en anglais.
Quand je parle d’IA, c’est vaste et comprend l’autohébergé (j’ai testé avec OpenAI) :
Services d’IA compatibles
Vous pouvez utiliser n’importe lequel de ces services avec une API compatible OpenAI :
- OpenAI : URL par défaut (
https://api.openai.com/v1) avec votre clé API OpenAI- LM Studio : URL locale (ex.
http://localhost:1234/v1) exécutant des modèles sur votre ordinateur- Ollama : URL locale (ex.
http://localhost:11434/v1) pour des modèles hébergés en local- Anthropic Claude : API d’Anthropic avec l’URL de base appropriée
- Auto-hébergé : votre propre serveur d’API LLM compatible avec OpenAI
- Mistral, Groq, Cohere : la plupart des fournisseurs d’IA avec des endpoints compatibles OpenAI
Honnêtement, vu que je passe 90% de mon temps à tester des trucs plutôt qu’à profiter de mon setup, les recommandations que j’ai sont certes logiques (plus que celles de TMDB, en bas des fiches du moins) mais je ne sais pas si elles reflètent vraiment la qualité de cet outil. Ce dont je ne doute pas.
L’installation est simple puisque tout se configure via la WebUI
services:
recommendarr:
container_name: recommendarr
restart: always
ports:
- 3080:3000
volumes:
- /home/aerya/docker/recommendarr:/app/server/data
image: tannermiddleton/recommendarr:latest
labels:
- com.centurylinklabs.watchtower.enable=true
Et ensuite on peut connecter ses outils/comptes. Dans mon cas Trakt, TMDB, Jellyfin et Radarr/Sonarr. Je pense que ça venait de mon navigateur mais impossible d’accéder à la configuration en cliquant sur un autre bouton que Configure AI Service ou le menu des paramètres.

Pour l’IA j’ai utilisé mon compte OpenAI avec le modèle gpt-5-chat-latest (pas comme sur le screen). Choix complètement fait au pifomètre, je suis preneur de conseils.

Et ensuite…. magie…. Ou presque. L’IA ne fera qu’aller chercher des contenus par rapport à notre demande. Il faut donc paramétrer la demande. Au moins le nombre de recommandations.

Dans la partie IA, en sus du modèle à choisir et son degré de précision, on peut demander à ce que Recommandarr utilise un sous-ensemble de la bibliothèque afin de réduire l’utilisation de jetons tout en fournissant des recommandations pertinentes.

On sélectionne la catégorie visée (films/séries) et le nombre de recommandations souhaitées.

Puis on peut affiner la recherche en sélectionnant des genres.

Puis sélectionner un prompt pré-défini ou en créer

Style « Vibe »
Se concentre sur l’atmosphère émotionnelle et l’expérience sensorielle du contenu de votre bibliothèque. Les recommandations privilégient la correspondance avec le ressenti et l’ambiance de vos films/séries préférés plutôt que le simple genre ou la similarité de l’intrigue.
Idéal pour : Trouver du contenu qui évoque la même sensation, capturant des tons et atmosphères spécifiques.
Style analytique
Procède à une analyse détaillée des structures narratives, des motifs thématiques et des techniques formelles. Les recommandations reposent sur une analyse en profondeur des éléments cinématographiques et télévisuels qui relient les œuvres à un niveau plus substantiel.
Idéal pour : Une exploration intellectuelle et la découverte de contenus partageant une approche artistique ou une profondeur thématique similaire.
Style créatif
Dépasse les catégorisations classiques pour trouver des liens inattendus entre les œuvres. Met en avant les parcours émotionnels, la vision artistique et les approches narratives originales.
Idéal pour : Découvrir des recommandations surprenantes, qui peuvent sembler éloignées au premier abord mais partagent une même essence créative.
Style technique
Se focalise sur l’artisanat de la production, les techniques de réalisation et l’exécution technique. Analyse les méthodes de mise en scène, la cinématographie, les styles de montage et les éléments de production.
Idéal pour : L’appréciation des aspects techniques et la recherche de contenus offrant une qualité de production ou une innovation technique similaire.
Comme souvent on peut sélectionner la langue préférée du contenu (séries plutôt en langue française etc). On pourra aussi de temps en temps rescanner les bibliothèques.

Et enfin, découvrir les reco. À noter qu’on ne peut pas les ajouter à Radarr/Sonarr directement, sans passer par Overseerr/Jellyseerr/whatever.
Voici par exemple pour les films




Évidemment, avec Decypharr, ça tombe en quelques secondes.

Et pour les séries, on peut évidemment sélectionner les saisons

C’est sympa à tester, on peut y créer plusieurs utilisateurs donc c’est intéressant mais avec un LLM autohébergé ça doit consommer pas mal de ressources. Avec OpenAI ça ne consomme en revanche rien que le serveur donc je vais le garder dans un coin mais je doute l’utiliser tous les jours, avec tout le reste…

L’idéal serait de couler ça à Overseerr/Jellyseerr…
![]()
Aphrodite – Sublimez vos affiches pour Jellyfin (et Emby ?)
Ok, pour Emby je pose la question vu qu’ils ont la même origine.
J’utilise Kometa sur Plex et j’ai trouvé son pendant pour Jellyfin avec Aphrodite de jackkerouac. Enfin en mieux, selon moi, plus configurable et en WebUI.
Pour nos bibliothèques Jellyfin on peut tout simplement changer les affiches (bases), configurer et ajouter tout ou au choix la résolution, l’audio, les notes et les récompenses.
Avec la totale, ça peut donner ceci.



Ça ne fonctionne évidemment pas sur les affiches des collections vu que ces badges concernent une vidéo donnée.

Pour répondre à nos besoins, sommaires vu que je connais mes règles Radarr/Sonarr, je n’affiche que les notes et récompenses.

Via la WebUI on peut planifier des opérations (cron) pour appliquer tout ou partie des badges sur les bibliothèques sélectionnées. En reprenant ou non les éléments déjà traités.
En revanche, pour la modification des affiches, c’est à faire manuellement, par grappes de 50 (ouais, léger…).
L’installation est relativement simple, j’ai cependant rencontré pas mal de soucis en ne configurant que via la WebUI pour Jellyfin. J’ai tout décommenté/renseigné dans le .env et ça roule.
Comme indiqué sur le GitHub, il faut télécharger le compose et son .env. Je mets ça dans /home/aerya/docker/aphrodite
# Créer le dossier entrer dedans
mkdir /home/aerya/docker/aphrodite && cd /home/aerya/docker/aphrodite
# Télécharger le docker-compose et le .env
curl -L https://github.com/jackkerouac/aphrodite/releases/latest/download/docker-compose.yml -o docker-compose.yml
curl -L https://github.com/jackkerouac/aphrodite/releases/latest/download/default.env.example -o .env
Et on passe à l’édition du compose.
Par rapport au compose de base, j’ai juste modifié les volumes sur la base de /home/aerya/docker/aphrodite/…
Mis en always pour « restart » et ajouté la MàJ auto d’Aphrodite avec watchtower. Pas la peine pour Postgre et Redis vu que ça va chercher des versions précises.
Tout le reste se modifie dans .env qui suit
services:
postgres:
image: postgres:15-alpine
container_name: aphrodite-postgres
restart: always
ports:
- ${POSTGRES_PORT:-5433}:5432
environment:
POSTGRES_DB: ${POSTGRES_DB:-aphrodite}
POSTGRES_USER: ${POSTGRES_USER:-aphrodite}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-aphrodite123}
volumes:
- /home/aerya/docker/aphrodite/postgres_data:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER:-aphrodite}
interval: 10s
timeout: 10s
retries: 5
redis:
image: redis:7-alpine
container_name: aphrodite-redis
restart: always
ports:
- ${REDIS_PORT:-6379}:6379
volumes:
- /home/aerya/docker/aphrodite/redis_data:/data
healthcheck:
test:
- CMD
- redis-cli
- ping
interval: 10s
timeout: 10s
retries: 5
aphrodite:
image: ${APHRODITE_IMAGE:-ghcr.io/jackkerouac/aphrodite:latest}
container_name: aphrodite
pull_policy: always
restart: always
environment:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_DB: ${POSTGRES_DB:-aphrodite}
POSTGRES_USER: ${POSTGRES_USER:-aphrodite}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-aphrodite123}
DATABASE_URL: ${DATABASE_URL:-postgresql+asyncpg://aphrodite:aphrodite123@postgres:5432/aphrodite}
REDIS_URL: ${REDIS_URL:-redis://redis:6379/0}
API_HOST: ${API_HOST:-0.0.0.0}
API_PORT: ${API_PORT:-8000}
ENVIRONMENT: ${ENVIRONMENT:-production}
SECRET_KEY: ${SECRET_KEY:-please-change-this-secret-key-in-production}
ALLOWED_HOSTS: ${ALLOWED_HOSTS:-*}
CORS_ORIGINS: ${CORS_ORIGINS:-*}
LOG_LEVEL: ${LOG_LEVEL:-info}
LOG_FILE_PATH: ${LOG_FILE_PATH:-/app/logs/aphrodite-v2.log}
DEBUG: ${DEBUG:-false}
CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://redis:6379/0}
CELERY_RESULT_BACKEND: ${CELERY_RESULT_BACKEND:-redis://redis:6379/1}
ENABLE_BACKGROUND_JOBS: ${ENABLE_BACKGROUND_JOBS:-true}
JELLYFIN_URL: ${JELLYFIN_URL:-}
JELLYFIN_API_KEY: ${JELLYFIN_API_KEY:-}
JELLYFIN_USER_ID: ${JELLYFIN_USER_ID:-}
ports:
- ${APHRODITE_PORT:-8000}:8000
volumes:
- /home/aerya/docker/aphrodite/aphrodite_data:/app/data
- /home/aerya/docker/aphrodite/aphrodite_logs:/app/logs
- /home/aerya/docker/aphrodite/aphrodite_media:/app/media
- /home/aerya/docker/aphrodite/aphrodite_static:/app/api/static/originals
labels:
- com.centurylinklabs.watchtower.enable=true
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:8000/health/live
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
aphrodite-worker:
image: ${APHRODITE_IMAGE:-ghcr.io/jackkerouac/aphrodite:latest}
container_name: aphrodite-worker
pull_policy: always
restart: always
command:
- python3
- -m
- celery
- -A
- celery_app
- worker
- --loglevel=debug
- --pool=solo
- --concurrency=1
environment:
POSTGRES_HOST: postgres
POSTGRES_PORT: 5432
POSTGRES_DB: ${POSTGRES_DB:-aphrodite}
POSTGRES_USER: ${POSTGRES_USER:-aphrodite}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-aphrodite123}
DATABASE_URL: ${DATABASE_URL:-postgresql+asyncpg://aphrodite:aphrodite123@postgres:5432/aphrodite}
REDIS_URL: ${REDIS_URL:-redis://redis:6379/0}
CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://redis:6379/0}
CELERY_RESULT_BACKEND: ${CELERY_RESULT_BACKEND:-redis://redis:6379/1}
ENVIRONMENT: ${ENVIRONMENT:-production}
SECRET_KEY: ${SECRET_KEY:-please-change-this-secret-key-in-production}
LOG_LEVEL: ${LOG_LEVEL:-info}
LOG_FILE_PATH: ${LOG_FILE_PATH:-/app/logs/aphrodite-v2.log}
PYTHONPATH: /app
volumes:
- /home/aerya/docker/aphrodite/aphrodite_data:/app/data
- /home/aerya/docker/aphrodite/aphrodite_logs:/app/logs
- /home/aerya/docker/aphrodite/aphrodite_media:/app/media
- /home/aerya/docker/aphrodite/aphrodite_static:/app/api/static/originals
labels:
- com.centurylinklabs.watchtower.enable=true
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
working_dir: /app/api
healthcheck:
test:
- CMD
- python3
- -c
- import sys; sys.path.insert(0, '/app'); from celery_app import
celery_app; print('Worker healthy')
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
networks:
default:
name: aphrodite_network
Et le fameux .env. Comme expliqué plus haut, après plusieurs tests, il faut y paramétrer le serveur Jellyfin et également décommenter les informations liées à Postgre et Redis. J’ai passé les logs en DEBUG vu les soucis que je rencontrais au début.
Pour créer la SECRET_KEY : (en console) openssl rand -hex 64
Et ne pas oublier de mettre le mot de passe POSTGRES_PASSWORD dans la partie DATABASE_URL
Créer une clé API dans Jellyfin via le menu tout en bas du Tableau de bord
Et récupérer l’ID utilisateur qui sera utilisée pour connecter Aphrodite. Dans Tableau de bord/Utilisateurs, cliquer sur le user et l’ID est à la fin de l’URL
# =============================================================================
# Docker Image Configuration
# =============================================================================
# Leave blank to always pull the latest version from GitHub Container Registry
# APHRODITE_IMAGE=ghcr.io/jackkerouac/aphrodite:latest
# =============================================================================
# Database Configuration
# =============================================================================
# IMPORTANT: Change POSTGRES_PASSWORD to a secure password!
# This password will be used to create the database user
POSTGRES_DB=aphrodite
POSTGRES_USER=aphrodite
POSTGRES_PASSWORD=motdepassedelamortquitue
POSTGRES_PORT=5432
# =============================================================================
# Redis Configuration
# =============================================================================
REDIS_PORT=6379
# =============================================================================
# Security Configuration (REQUIRED)
# =============================================================================
SECRET_KEY=4c887cda6e10bac46eb61a961e38f4626609c9caeca08123ed1d6d876c6b14c20a11118cec534f26d5d5de4f5b6935fa07ff8887b91322058c20f95705025fa0
# =============================================================================
# Application Configuration
# =============================================================================
# Port to run Aphrodite on (default: 8000)
APHRODITE_PORT=8000
# API Configuration
API_HOST=0.0.0.0
API_PORT=8000
# Environment
ENVIRONMENT=production
# Logging level (debug, info, warning, error)
LOG_LEVEL=debug
DEBUG=true
# Network Configuration
ALLOWED_HOSTS=*
CORS_ORIGINS=*
# =============================================================================
# Background Jobs Configuration
# =============================================================================
ENABLE_BACKGROUND_JOBS=true
CELERY_BROKER_URL=redis://redis:6379/0
CELERY_RESULT_BACKEND=redis://redis:6379/1
# =============================================================================
# Database & Redis URLs (Advanced - Override defaults if needed)
# =============================================================================
DATABASE_URL=postgresql+asyncpg://aphrodite:motdepassedelamortquitue@postgres:5432/aphrodite
REDIS_URL=redis://redis:6379/0
# =============================================================================
# Jellyfin Integration (Optional - Configure via Web Interface)
# =============================================================================
# You can set these here or configure them in the web interface
JELLYFIN_URL=https://jelly.domaine.tld
JELLYFIN_API_KEY=xxx
JELLYFIN_USER_ID=xxx
On peut ensuite lancer la Docker et aller visiter les paramètres d’Aphrodite. Mon screen date de ma 1ère installation aussi je ne sais plus si les paramètres de Jellyfin sont déjà remplis par le biais du .env
Il faut aller récupérer (ou créer) ses clés API :
– OMDB : version gratuite, clé dans le mail qu’on reçoit suite à l’inscription
– TMDB : le token, pas la clé
– MDBList : en bas de page
– AniDB si vous avez des mangas : j’ai pas regardé plus que ça pour créer une clé API

C’est par ailleurs dans cette partie qu’on peut configurer les badges à mettre en overlay sur les affiches. Je ne rentre pas dans les détails, il y a tellement de personnalisation possible que c’est propre à chacun.
Aphrodite étant tout jeune, les notes ne sont pour l’instant disponibles qu’à partir d’IMDb, Metacritic, MyAnimeList, Rotten Tomatoes et TMDb. C’est déjà pas mal même si je suis impatient de voir Trakt arriver. TMDb et Trakt.tv ont maintenant un nombre d’utilisateurs suffisant pour avoir plusieurs centaines de votes et les rendre qualitatifs.
Il n’y a évidemment pas AlloCiné, pardon pour ceux qui y bossent, mais c’est bien trop franco-nombriliste-français pour avoir une quelconque utilité dans la galaxie des *arrs et du streaming.







Pour l’audio et la vidéo, Aphrodite peut détecter les données via l’analyse des fichiers. Faut évidemment avoir la machine qui le permet sans que ça prenne des heures.


On peut générer un aperçu de sa configuration via le menu Preview

Avant d’aller plus loin, il faut prendre le temps de vérifier l’import des bibliothèques suite à la connexion avec Jellyfin, dans le menu Poster Manager.
C’est ballot, j’ai pas pensé à faire de screen avant de modifier mes affiches…

Ici on peut modifier les affiches, par lots de 50 donc faut être patient… C’est sympa, ça change mais on ne peut pas faire de choix et, pour l’instant, il n’y a pas MediUX d’intégré. Mais le projet est jeune, ça a le temps de venir.

C’est également dans ce menu qu’on peut lancer à la demande l’application des badges, toujours par lots de 50 affiches. Ça peut être intéressant pour tester ou s’occuper des bibliothèques spécifiques avec peu de contenus.

Et ensuite passer aux choses sérieuses avec la mise en place de tâches (ou d’une seule, c’est selon) via les Schedules

Après avoir testé plusieurs configurations, j’ai créé une tâche qui se répète toutes les heures pour mes 2 bibliothèques, pour les contenus non encore « badgés » et seulement les notes et récompenses, comme expliqué au début de mon article.

On peut déclencher le travail directement, sans attendre la prochaine planification et mes bibliothèques passent d’affiches simples

à des badgées selon mes préférences !
Il y a eu l’ajout de collections entre temps également, depuis Jellyfin.

Au final ça tourne très bien, il y a presque trop de réglages possibles quand on est comme moi un éternel insatisfait ^^’
Aphrodite est encore jeune et en sus de l’utiliser je suivrai assurément ses évolutions !
![]()
Proxmox : automatiser l’affichage de l’OS d’une VM dans les notes
-
- KDE publie la première version alpha de KDE Linux, sa nouvelle distribution Linux officielle est désormais ouverte au test public, dérivée d'Arch Linux, mais qui se distingue par son caractère immuable
KDE publie la première version alpha de KDE Linux, sa nouvelle distribution Linux officielle est désormais ouverte au test public, dérivée d'Arch Linux, mais qui se distingue par son caractère immuable
KDE a dévoilé la première version alpha de KDE Linux, sa distribution officielle étant désormais ouverte au test public. Dérivée d'Arch Linux, la distribution est présentée comme une implémentation de référence pour le bureau KDE Plasma, les applications KDE et les outils de développement. Elle est...
