Installer jfa-go avec Docker
jfa-go

Installer jfa-go avec Docker

Table des matières

GitHub - hrfee/jfa-go: a better way to manage your Jellyfin users, now in go
a better way to manage your Jellyfin users, now in go - hrfee/jfa-go
Cette idée m'a été suggérée part Zoxi.-, merci à toi! 😎

jfa-go permet d'inviter des utilisateurs à créer leur compte... utilisateur sur votre instance Jellyfin, cela fonctionne aussi avec Ombi, mais Ombi n'étant pas open source, nous n'en parlerons pas.

Vous aurez donc le loisir d'inviter vos utilisateurs par e-mail, mais d'autres options existent, comme Discord, Telegram, Matrix, utilisateurs qui vont eux-mêmes gérer la création de leur compte, du nom d'utilisateur au mot de passe et pourront même bénéficier d'une page pour gérer leur compte.

Je ne vais pas décrire chaque fonction car la création de ce tutoriel s'est déjà étalée sur 4 jours mais vous avez déjà de quoi faire, promis!


⚡Caractéristiques

  • 🧑 Création de compte basée sur des invitations : envoyez des invitations à vos amis ou à votre famille et laissez-les choisir leur propre nom d'utilisateur et leur mot de passe sans compter sur vous.
  • Envoyez des invitations via un lien et/ou un e-mail, un discord, un télégramme,...
  • Contrôle granulaire des invitations : la période de validité ainsi que le nombre d'utilisations peuvent être spécifiés.
  • Profils de compte : attribuez des profils de paramètres aux invitations afin que les nouveaux utilisateurs voient vos autorisations prédéfinies, la disposition de l'écran d'accueil, etc. appliquées à leur compte lors de la création.
  • Validation du mot de passe : assurez-vous que les utilisateurs choisissent un mot de passe fort.
  • Les CAPTCHA et la vérification des méthodes de contact peuvent être activés pour éviter les robots.
  • ⌛ Expiration de l'utilisateur : spécifiez une période de validité, et les nouveaux comptes d'utilisateurs seront désactivés/supprimés après celle-ci. La période peut également être prolongée manuellement.
  • 🔗 Intégration Ombi : crée automatiquement des comptes Ombi pour les nouveaux utilisateurs en utilisant leur adresse e-mail et leurs informations de connexion, ainsi que votre propre ensemble d'autorisations défini. Voir wiki pour un avertissement à ce sujet.
  • Gestion de compte : en masse ou individuellement ; appliquer les paramètres, supprimer, désactiver/activer, envoyer des messages et bien plus encore.
  • 📣 Annonces : envoyez des messages groupés à vos utilisateurs avec des annonces concernant votre serveur.
  • Intégration Telegram/Discord/Matrix : vérifiez les utilisateurs via un chatbot et envoyez des réinitialisations de mot de passe, des annonces, etc. via celui-ci.
  • Page « Mon compte » : permet aux utilisateurs de réinitialiser leur mot de passe, de gérer leurs coordonnées, d'afficher la date d'expiration de leur compte et d'envoyer des références. Peut être personnalisé avec démarque.
  • Parrainages : les utilisateurs peuvent recevoir des invitations spéciales à envoyer à leurs amis et à leur famille, similaires à certains services sur invitation uniquement comme Bluesky.
  • 🔑 Réinitialisation du mot de passe : lorsque les utilisateurs oublient leur mot de passe et demandent une modification dans Jellyfin, jfa-go lit le code PIN du fichier créé et le leur envoie directement par e-mail/télégramme.
  • Peut également être effectué via la page « Mon compte » si elle est activée.
  • Notifications d'administrateur : soyez averti lorsque quelqu'un crée un compte ou qu'une invitation expire.
  • 🌓 Mode sombre | Mode clair.
  • Personnalisez les e-mails avec des variables et des démarques.
  • Spécifiez les messages de contact et d'aide à afficher dans les e-mails et les pages
  • Thèmes clairs et sombres disponibles.

L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer jfa-go:
sudo nano docker-compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: '3'
services:
  jfago:
    image: 'hrfee/jfa-go:latest'
    restart: unless-stopped
    ports:
      - '8056:8056'
      #- '8057:8057' #utilisé pour le tls
    volumes:
      - /srv/appdata/jfa-go/data:/data
      - /srv/appdata/jeyylin:/jf
      - /etc/localtime:/etc/localtime:ro
  1. On installe l'application:
docker-compose up -d

ou avec docker-compose V2:

docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 8056 par défaut:
https://ip:8056/

ou votre domaine:

https://mondomaine.com

Terminer l'installation

Je pars du principe que vous avez déjà Jellyfin sur un domaine et que vous avez également lié cette application à un domaine.

Dans mon test:

  • Jellyfin aura le nom de domaine: https://testjelly.xxx.xxx
  • jfa-go aura le nom de domaine: https://jfa.xxx.xxx

Lors du premier lancement, vous arriverez sur cette page. En haut à gauche vous pouvez changer le langue.

Cliquez sur Start:

Choisissez la langue de votre choix, cliquez en suite sur Next:

Dans Base URL (Optionnel), comme le dit la description, uniquement si vous utilisez un reverse proxy

Ici, ne touchez à rien, sauf au bouton Suivant:

Cliquez sur Suivant:

Dans cette partie:

  • Adresse du serveur (Interne), de Jellyfin donc, il faut renseignez l'ip:port de votre instance Jellyfin
  • Adresse du serveur (Externe), renseignez le nom de domaine de votre instance Jellyfin.

Il faudra avoir créé un compte administrateur sur Jellyfin au préalable, ou un utilisateur qui a la permission de gérer le serveur:

Dans la partie Nom d'utilisateur, entrez les informations de ce compte.

Cliquez sur Test de connexion afin de vous assurer que tout est joignable.

Si vous avez le bouton vert Succès, cliquez sur Suivant, dans le cas contraire, revoyez vos paramètres:

Cliquez sur Suivant:

Cochez Activé, c'est pour activer la page personnelle pour vos utilisateurs:

Si vous désirez envoyer vos invitations par e-mail, sélectionnez la Méthode d'envoi, SMTP.

  • Depuis l'adresse => Renseignez l'adresse qui va envoyer les e-mails.
  • Nom de l'envoyeur => Renseignez le petit nom, ou un pseudo, de celui qui envoie les e-mails.

Pour le serveur SMTP, si vous avez votre propre serveur mail, vous avez les informations nécessaires, pour ceux qui voudraient utiliser Gmail, Outlook, merci de lire attentivement cet article avant de remplir les informations SMTP, surtout pour ce qui concerne le mot de passe.

Quand c'est configuré, cliquez sur Suivant:

Modifier à votre guise l'objet de l'e-mail et cochez Notifications d'administrateur et Message de bienvenue, si vous en avez envie bien entendu!

Pour le message d'invitation, cochez Activé, remplissez URL avec votre domaine dédié à jfa-go SUIVI de /invite. Dans la partie Objet de l'e-mail, faites à votre guise. Cliquez sur Suivant quand c'est terminé:

Cochez ou non, personnellement je ne l'ai pas coché. Cliquez sur Suivant:

Dans cette partie vous pouvez définir les conditions pour la création du mot de passe de vos utilisateurs, j'ai réglé sur 3 car ce ne sont que des tests. Soyez plus restrictif. Cliquez sur suivant quand vous aurez décidé de comment casser les pieds de vos utilisateurs:

Au début je me suis dit, ouaiiiis, je vais traduire ça en français comme ça c'est déjà fait. Sauf que par après je me suis rendu compte quand j'ai voulu utiliser l'application, que c'était revenu en anglais. C'est probablement un petit bug car après l'avoir fait directement dans l'application, tout est bien resté. Donc cliquez sur suivant, on reviendra sur ce point plus tard.

Cliquez sur Soumettre:

Maintenant tout est fini pour cette partie, cliquez sur Terminé:


Première connexion

Voici le portier, entrez les identifiants du compte qui permet de gérer le serveur Jellyfin et cliquez sur S'IDENTIFIER:

Vous arrivez sur le tableau de bord:


Activer le dark mode

En haut à droite de votre tableau de bord, cliquez sur la lune:

Et voilà le dark mode activé!


Quelques réglages utiles

Reprenons quelques réglages ensemble si vous le voulez bien! Soit parce que vous pourriez avoir passé ces réglages pendant l'installation, ou, sait-on jamais, que vous les configuriez ultérieurement.

Rendez-vous dans Réglages, puis:

Général

Traduction de 3 lignes:

  • Contact message => Besoin d'aide? Contactez-moi!
  • Help message => Entrez vos données pour créer un compte.
  • Success message => Votre compte a été créé. Cliquez ci-dessous pour continuer vers Jellyfin.

Cliquez sur sauver:

Et redémarrez jfa:

Messages/Notifications

Traduction d'une ligne:

  • Help message => Besoin d'aide ? Contactez-moi.

Email

Vérifier les réglages.

  • Sent from (address) => Remplacez jellyfin@jellyf.in par l'e-mail choisi plus haut dans le réglage du serveur SMTP.

Cliquez sur sauver:

Et redémarrez jfa:

SMTP email

Vérification des paramètres. Normalement il est déjà configuré, si vous ne l'aviez pas fait pendant l'installation de jfa-go:

N'oubliez pas de consulter ce lien si vous voulez utiliser votre e-mail Hmail, Outlook,...

Configurer le SMTP pour envoyer un mail avec une application Docker
Tutoriel pour configurer le SMTP afin d’envoyer un mail à partir de vos applications self-hosted.

Cliquez sur sauver:

Et redémarrez jfa:

Invite emails

Cochez Enabled si vous souhaitez utiliser le serveur mail pour les invitations.

  • Email subject => Remplissez l'objet qui sera repris dans l'e-mail d’invitation.
  • URL Base => Indiquez le domaine de jfa suivi de /invite.

Cliquez sur sauver:

Et redémarrez jfa:

Welcome Message

Si vous souhaitez un message de bienvenue, cochez Enabled:

  • Email subject => Composez un message sympa de bienvenue.

Cliquez sur sauver:

Et redémarrez jfa:


Créer une invitation

Créer une invitation peut se faire de deux façons. Soit par mail, ou alors vous partagez un lien directement à la personne.

Invitation par lien

Rendez-vous dans la partie Invitations:

Vous avez la possibilité de régler la durée de l'invitation et pourquoi pas l'expiration de l'utilisateur.

Entrez un nom de façon à vous y retrouver dans votre liste d'utilisateurs et cliquez sur Créer:

Vous verrez apparaître cette petite fenêtre et il suffira de cliquer sur l'icône pour copier le lien et le partager:

Côté utilisateur, il va lui-même créer son compte comme il le souhaite, quand il aura fini il cliquera sur Créer le compte...

...et pour continuer, il devra cliquer sur... Continuer!

Il sera redirigé vers l'instance Jellyfin et son compte sera opérationnel:

Invitation par mail

Ce n'est pas tellement différent que l'invitation par lien à partager. Il faut tout simplement cocher en bas à droite l'option pour Envoyer à et d'introduire l'e-mail de la personne. Quand vous avez terminé, cliquez sur Créer:

De son côté, l'utilisateur recevra ce mail:

Quand il va cliquer sur Lien, il sera redirigé vers la page de création de compte. Quand il aura configuré son compte utilisateur, il va cliquer sur Créer le compte:

Un message de confirmation va lui proposer soit de cliquer sur Mon compte ou continuer, qui va le renvoyer à votre instance Jellyfin:


Ajouter un utilisateur

Cette option permet de créer directement le compte avec son mot de passe.

Rendez-vous sur Comptes:

Cliquez sur Ajouter un utilisateur:

Vous choisissez en e-mail et un mot de passe et vous cliquez sur Créer. C'est terminé.


Gérer les utilisateurs

Rendez-vous dans l'onglet Comptes:

upload in progress, 0

Cliquez sur un compte pour faire apparaître diverses options:

  • Annoncer => Permet d'envoyer par mail une annonce:
  • Modifier les paramètres => Permet d'éditer le compte de l'utilisateur.
  • Activer le parrainage => Permet de donner la possibilité à un utilisateur d'inviter une personne sur l'instance Jellyfin.
  • Expiration => Permet de définir la date d'expiration d'un compte.
  • Désactivé => Permet de désactiver un compte.
  • Supprimer un utilisateur => Permet de supprimer un utilisateur, enfin, son compte plutôt.

Page personnelle de gestion de compte utilisateur

Si vous avez activé l'option, vos utilisateurs pourront avoir accès à une page spécifique pour eux gérer leur compte. Pour joindre cette page:

https://mondomaine.com/my/account

L'utilisateur devra s'authentifier:

Il aura accès à quelques fonctions basiques pour modifier son compte:

zarev

🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.

Vous pourriez aussi aimer

#ouvrir un lien dans une nouvelle fenêtre