603 lines
20 KiB
Markdown
603 lines
20 KiB
Markdown
---
|
||
title: Automatisation
|
||
description: Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Seerr, pour les films et les séries.
|
||
---
|
||
|
||
|
||
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
|
||
|
||
[Servarr](https://wiki.servarr.com/) est une suite d'applications conçues pour automatiser le téléchargement, la mise à jour et la gestion des médias. Ici, nous nous concentrerons sur les films et les séries avec pour objectif :
|
||
|
||
- Choisir un film dans un catalogue via une interface web.
|
||
- Se poser dans son canapé et le regarder sur Jellyfin quelques minutes plus tard.
|
||
|
||
Simple.
|
||
|
||

|
||
|
||
Nous commencerons par déployer la stack, puis nous configurerons chaque application et verrons comment elles fonctionnent.
|
||
|
||
## Installer les apps
|
||
|
||
::file-tree
|
||
---
|
||
tree:
|
||
/:
|
||
- srv:
|
||
- docker:
|
||
- jellyfin:
|
||
- compose.yml
|
||
- .env
|
||
- config/
|
||
- sonarr:
|
||
- config/
|
||
- radarr:
|
||
- config/
|
||
- bazarr:
|
||
- config/
|
||
- prowlarr:
|
||
- config/
|
||
- seerr:
|
||
- config/
|
||
- media:
|
||
- downloads/
|
||
- tvseries/
|
||
- movies/
|
||
- library/
|
||
---
|
||
::
|
||
|
||
::warning
|
||
|
||
__Attention :__ respectez bien cette structure de fichiers, en particulier le dossier `media`. Ce dossier doit être monté **exactement de la même façon** dans le fichier compose de _Qbittorrent_ (`/votre/chemin/media:/media`) et dans les applications _arr_. Sinon, les applications _arr_ risquent de ne pas reconnaître le chemin fourni par Qbittorrent et ne créeront pas de _hardlinks_. Sans hardlinks, les applications _arr_ copieront les fichiers, ce qui **doublera l'espace utilisé** sur votre stockage.
|
||
::
|
||
|
||
::steps{level="3"}
|
||
### Déployer la stack
|
||
|
||
Ouvrez Docker et votre stack `jellyfin`. Modifiez le fichier compose comme suit :
|
||
```yaml [compose.yaml]
|
||
---
|
||
services:
|
||
jellyfin:
|
||
image: lscr.io/linuxserver/jellyfin:latest
|
||
container_name: jellyfin
|
||
environment:
|
||
- PUID=${PUID}
|
||
- PGID=${PGID}
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/jellyfin/config:/config
|
||
- ${MEDIA_PATH}:/media
|
||
restart: unless-stopped
|
||
devices:
|
||
- /dev/dri:/dev/dri
|
||
ports:
|
||
- 8096:8096
|
||
|
||
sonarr:
|
||
image: lscr.io/linuxserver/sonarr:latest
|
||
container_name: sonarr
|
||
environment:
|
||
- PUID=${PUID}
|
||
- PGID=${PGID}
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/sonarr/config:/config
|
||
- ${MEDIA_PATH}:/media
|
||
ports:
|
||
- 8989:8989
|
||
restart: unless-stopped
|
||
|
||
radarr:
|
||
image: lscr.io/linuxserver/radarr:latest
|
||
container_name: radarr
|
||
environment:
|
||
- PUID=${PUID}
|
||
- PGID=${PGID}
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/radarr/config:/config
|
||
- ${MEDIA_PATH}:/media
|
||
ports:
|
||
- 7878:7878
|
||
restart: unless-stopped
|
||
|
||
prowlarr:
|
||
image: lscr.io/linuxserver/prowlarr:latest
|
||
container_name: prowlarr
|
||
environment:
|
||
- PUID=${PUID}
|
||
- PGID=${PGID}
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/prowlarr/data:/config
|
||
ports:
|
||
- 9696:9696
|
||
restart: unless-stopped
|
||
|
||
seerr:
|
||
image: ghcr.io/seerr-team/seerr:latest
|
||
container_name: seerr
|
||
environment:
|
||
- LOG_LEVEL=info
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/seerr/config:/app/config
|
||
ports:
|
||
- 5055:5055
|
||
restart: unless-stopped
|
||
|
||
bazarr:
|
||
image: lscr.io/linuxserver/bazarr:latest
|
||
container_name: bazarr
|
||
restart: unless-stopped
|
||
environment:
|
||
- PUID=1000
|
||
- PGID=1000
|
||
- TZ=Europe/Paris
|
||
volumes:
|
||
- /srv/docker/bazarr/config:/config
|
||
- ${MEDIA_PATH}:/media
|
||
ports:
|
||
- 6767:6767
|
||
```
|
||
|
||
::tip{icon=""}
|
||
✨ Ajoutez le label Watchtower à chaque conteneur pour automatiser les mises à jour
|
||
|
||
```yaml [compose.yaml]
|
||
---
|
||
services:
|
||
jellyfin:
|
||
#...
|
||
labels:
|
||
- com.centurylinklabs.watchtower.enable=true
|
||
```
|
||
::
|
||
|
||
### Renseigner vos variables d'environnement
|
||
|
||
Renseignez votre fichier `.env` avec les variables ci-dessous :
|
||
|
||
```properties [.env]
|
||
PUID=
|
||
GUID=
|
||
MEDIA_PATH=
|
||
```
|
||
|
||
| Variable | Description | Exemple |
|
||
|----------------|-------------------------------------------------------------------------------------------------|-------------|
|
||
| `PUID` | À renseigner avec vos informations utilisateur (à vérifier avec `id votreutilisateur`) | `1000` |
|
||
| `GUID` | Idem | `1000` |
|
||
| `MEDIA_PATH` | Chemin de votre dossier média, ici `/media`. Il doit correspondre à celui utilisé par Qbittorrent. | `/media` |
|
||
|
||
::note
|
||
|
||
Contrairement aux autres conteneurs présentés ici, l'image de Seerr n'utilise pas `PUID`/`PGID`, elle tourne toujours en UID `1000`. Assurez-vous que `/srv/docker/seerr/config` appartient bien à cet utilisateur, sinon Seerr ne pourra pas y écrire :
|
||
|
||
```bash [Terminal]
|
||
sudo chown -R 1000:1000 /srv/docker/seerr/config
|
||
```
|
||
::
|
||
|
||
Déployez la stack.
|
||
|
||
### Terminé !
|
||
::
|
||
|
||
### Paramétrer Radarr
|
||
|
||
Radarr interroge vos sources torrent et permet de définir le type de releases à privilégier. Il peut aussi mettre à niveau vos films si une meilleure version est disponible.
|
||
|
||
Une fois déployé, allez sur `http://ipdevotreserveur:7878`.
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
Créez un compte et choisissez *forms login*.
|
||
|
||
::steps{level="4"}
|
||
#### Ajouter un *root folder*
|
||
|
||
- Allez dans *Settings > Media Management*.
|
||
- Ajoutez un root folder et sélectionnez `/media/movies`.
|
||
|
||
::warning
|
||
|
||
__Attention :__ si vous avez déjà des films dans `movies` provenant de Qbittorrent, ne laissez pas Radarr les ajouter. Radarr pourrait les modifier, ce qui interromprait le seed dans Qbittorrent.
|
||
::
|
||
|
||
#### Configurer les profils
|
||
|
||
Allez dans *Settings > Profiles*. Ce sont vos profils de qualité par défaut. Quand vous faites une demande, vous en choisissez un. Par exemple, configurez le profil « any » en décochant tout sauf ce qui apparaît sur l'image, et en les ordonnant en conséquence. Radarr cherchera ainsi d'abord du 4K REMUX, puis descendra dans la liste si ce n'est pas disponible.
|
||
|
||

|
||
|
||
#### Ajouter Qbittorrent
|
||
|
||
Dans *Settings > Download Clients*, ajoutez Qbittorrent.
|
||
|
||
- Utilisez l'IP de votre serveur comme *Host* et le port `5695` si vous suivez ce guide.
|
||
- Renseignez vos *Username* et *Password* Qbittorrent.
|
||
- Cliquez sur *Test*.
|
||
- Si le test réussit, cliquez sur *Save*.
|
||
|
||
#### Connecter à Jellyfin
|
||
|
||
Récupérez d'abord une clé API dans Jellyfin : connectez-vous en administrateur, allez dans *Dashboard > Advanced > API Keys*, et ajoutez-en une nouvelle.
|
||
|
||
Puis, dans Radarr, allez dans *Settings > Connect*, ajoutez une nouvelle connexion et choisissez *Jellyfin*.
|
||
|
||
- Utilisez `jellyfin` ou l'IP de votre serveur comme *Host*.
|
||
- Port : `8096`
|
||
- Collez la clé API générée.
|
||
- Cliquez sur *Test*, puis sur *Save* si le test réussit.
|
||
|
||
#### Récupérer la clé API pour Prowlarr et Seerr
|
||
|
||
- Allez dans *Settings > General* et copiez votre *API Key* pour plus tard.
|
||
|
||
#### Terminé !
|
||
::
|
||
|
||
### Paramétrer Sonarr
|
||
|
||
Sonarr interroge les sources torrent et définit le type de releases de séries à privilégier. Il met aussi à niveau les séries quand de meilleures versions sont disponibles.
|
||
|
||
- Allez sur `http://ipdevotreserveur:8989`.
|
||
- Suivez les mêmes étapes que pour Radarr, mais avec `/media/tvseries` comme root folder.
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
### Paramétrer Prowlarr
|
||
|
||
Prowlarr sert de proxy pour gérer vos indexeurs torrent et les relier à Radarr et Sonarr.
|
||
|
||
Allez sur `http://ipdevotreserveur:9696` et créez un compte, en utilisant *forms login*.
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
::steps{level="4"}
|
||
#### Ajouter une source
|
||
|
||
- Allez dans la section *Indexers* et ajoutez votre indexeur torrent.
|
||
|
||
#### Ajouter Radarr et Sonarr
|
||
|
||
Dans *Settings > Apps*, ajoutez Radarr et Sonarr avec les informations suivantes :
|
||
|
||
- Serveur Prowlarr : `http://prowlarr:9696` (ou l'IP du serveur)
|
||
- Serveur Sonarr / Radarr : `http://sonarr:8989` ou `http://radarr:7878`
|
||
- API Key : celle copiée depuis Radarr et Sonarr.
|
||
- Cliquez sur *Test*, puis sur *Save* si tout se passe bien.
|
||
|
||
#### Terminé !
|
||
::
|
||
|
||
### Paramétrer Bazarr
|
||
Bazarr est une application qui recherche automatiquement les bons sous-titres, dans les langues de votre choix, pour tous les films et séries ajoutés par Radarr et Sonarr.
|
||
|
||
Allez sur `http://ipdevotreserveur:6767`.
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
Allez dans *Settings > General* et créez un identifiant et un mot de passe en utilisant *forms login*.
|
||
|
||
::steps{level="4"}
|
||
#### Ajouter un profil de langage
|
||
|
||
- Dans *Settings > Languages*, cliquez sur le bouton rose *Add new profile* et nommez-le.
|
||
- Cliquez sur le bouton rose *Add Languages* et ajoutez vos langues préférées, par exemple *French* et *English*.
|
||
- Enregistrez et quittez.
|
||
- En bas de l'écran, sous *Default Language For Newly Added Show*, cochez les deux cases et sélectionnez le profil que vous venez de créer.
|
||

|
||
|
||
- Enregistrez avec le bouton en haut de l'écran.
|
||
|
||
#### Ajouter des fournisseurs de sous-titres
|
||
|
||
- Dans *Settings > Providers*, ajoutez vos fournisseurs préférés, par exemple :
|
||
|
||

|
||
|
||
- Enregistrez avec le bouton en haut de l'écran.
|
||
|
||
#### Ajouter Radarr et Sonarr
|
||
|
||
- Allez dans *Settings > Sonarr*
|
||
- Dans *Address*, saisissez `sonarr` ou l'adresse IP de votre serveur.
|
||
- Dans *Port*, saisissez `8989`.
|
||
- Dans *API Key*, saisissez la clé API de Sonarr.
|
||
- Cliquez sur *Test*.
|
||
- Enregistrez avec le bouton en haut de l'écran.
|
||
|
||
Répétez les mêmes étapes pour Radarr.
|
||
|
||
#### Terminé !
|
||
::
|
||
|
||
### Paramétrer Seerr
|
||
|
||
[Seerr](https://seerr.dev/) (le successeur unifié d'Overseerr et de Jellyseerr) est une application qui permet de parcourir un catalogue de films et d'envoyer des demandes à Sonarr et Radarr. Parcourez les films ou séries, cliquez sur *Request*, et le média sera automatiquement téléchargé selon vos réglages Radarr ou Sonarr. Si le titre n'est pas encore sorti, il sera téléchargé automatiquement dès sa disponibilité. Ainsi, les épisodes d'une série apparaissent dans Jellyfin sans aucune intervention manuelle.
|
||
|
||
Allez sur `http://ipdevotreserveur:5055`, choisissez *Jellyfin* comme serveur multimédia, et connectez-vous avec votre compte administrateur Jellyfin.
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
::steps{level="4"}
|
||
#### Ajouter Radarr
|
||
|
||
Quand la question est posée, ajoutez un serveur Radarr :
|
||
|
||
- Cochez *Default server*.
|
||
- __Server name :__ Radarr
|
||
- __Hostname or IP address :__ `radarr` ou l'IP de votre serveur
|
||
- __Port :__ `7878`
|
||
- __API Key :__ la clé API de Radarr
|
||
- Cliquez sur *Test* en bas.
|
||
|
||
Si le test réussit, continuez de remplir les champs :
|
||
|
||
- __Quality Profile :__ celui que vous avez configuré (par exemple `any`)
|
||
- __Root Folder :__ le dossier Jellyfin. Dans nos exemples : `/media/movies`
|
||
- __Minimum Availability :__ `Announced`. Cela permet de demander des contenus non sortis et de les télécharger dès leur sortie.
|
||
- Cochez les 3 cases en bas.
|
||
- Enregistrez et continuez.
|
||
|
||
#### Ajouter Sonarr
|
||
|
||
Faites maintenant de même pour Sonarr :
|
||
|
||
- Cochez *Default server*.
|
||
- __Server name :__ Sonarr
|
||
- __Hostname or IP address :__ `sonarr` ou l'IP de votre serveur
|
||
- __Port :__ `8989`
|
||
- __API Key :__ la clé API de Sonarr
|
||
- Cliquez sur *Test* en bas.
|
||
|
||
Si le test réussit, continuez de remplir les champs :
|
||
|
||
- __Quality Profile :__ celui que vous avez configuré (par exemple `any`)
|
||
- __Root Folder :__ le dossier Jellyfin. Dans nos exemples : `/media/tvseries`
|
||
- __Language Profile :__ `Deprecated`
|
||
- Cochez les 4 cases en bas.
|
||
- Enregistrez et continuez.
|
||
|
||
#### Terminé !
|
||
::
|
||
|
||
Et voilà ! Demandez un film ou une série, puis regardez dans qBittorrent ou Radarr/Sonarr. En quelques minutes, votre média sera disponible sur Jellyfin !
|
||
|
||
## Exposer Seerr avec SWAG
|
||
|
||
Il peut être utile d'exposer Seerr si vous voulez envoyer des demandes depuis l'extérieur sans VPN, ou si vous avez partagé votre bibliothèque Jellyfin et voulez que vos proches aient accès à Seerr.
|
||
|
||
::warning
|
||
|
||
Seerr n'a pas d'authentification à deux facteurs intégrée. Ne l'exposez que si vous utilisez une solution d'authentification robuste comme [TinyAuth](/serveex/security/tinyauth) ou [Authentik](/serveex/advanced/authentik). Sinon, ne l'exposez pas avec SWAG, utilisez plutôt un VPN comme [Wireguard](/serveex/core/wireguard).
|
||
::
|
||
|
||
::note
|
||
|
||
Nous partons du principe que vous avez le sous-domaine `films.mondomaine.fr` avec un `CNAME` pointant vers `films.fr` dans votre [zone DNS](/general/networking/dns). Et que, [à moins d'utiliser Cloudflare Zero Trust](/serveex/security/cloudflare), le port `443` de votre box est redirigé vers le port `443` de votre serveur via les [règles NAT](/general/networking/nat).
|
||
::
|
||
|
||
::steps{level="3"}
|
||
### Ajouter le réseau de Seerr à SWAG
|
||
|
||
Allez dans Dockge, modifiez le fichier compose de SWAG, et ajoutez le réseau de Seerr, qui est le même que celui de Jellyfin (puisqu'il est dans la stack Jellyfin) :
|
||
|
||
```yaml [compose.yaml]
|
||
---
|
||
services:
|
||
swag:
|
||
container_name: # ...
|
||
# ...
|
||
networks: # Connects the container to a custom network
|
||
# ...
|
||
- jellyfin # Name of the network declared in the stack
|
||
|
||
networks: # Defines the custom network
|
||
# ...
|
||
jellyfin: # Name of the declared network
|
||
name: jellyfin_default # Actual name of the external network
|
||
external: true # Indicates it’s an external network
|
||
```
|
||
|
||
Redémarrez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.
|
||
|
||
::note
|
||
|
||
Nous partons ici du principe que le réseau de Jellyfin s'appelle `jellyfin_default`. Vous pouvez vérifier que la connexion fonctionne en visitant le tableau de bord de SWAG sur `http://ipdevotreserveur:81`.
|
||
::
|
||
|
||
### Créer le fichier subdomain.conf
|
||
|
||
Créez et modifiez le fichier `films.subdomain.conf` :
|
||
|
||
::tip{icon="" to="/serveex/files/file-browser-quantum"}
|
||
✨ __Astuce :__ vous pouvez utiliser **File Browser Quantum** pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.
|
||
::
|
||
|
||
```bash [Terminal]
|
||
sudo nano /srv/docker/swag/config/nginx/proxy-confs/films.subdomain.conf
|
||
```
|
||
|
||
Collez ce qui suit :
|
||
|
||
```nginx [films.subdomain.conf]
|
||
## Version 2024/07/16
|
||
# make sure that your seerr container is named seerr
|
||
# make sure that your dns has a cname set for seerr
|
||
|
||
server {
|
||
listen 443 ssl;
|
||
listen [::]:443 ssl;
|
||
|
||
server_name films.*;
|
||
|
||
include /config/nginx/ssl.conf;
|
||
|
||
client_max_body_size 0;
|
||
|
||
# enable for ldap auth (requires ldap-location.conf in the location block)
|
||
#include /config/nginx/ldap-server.conf;
|
||
|
||
# enable for Authelia (requires authelia-location.conf in the location block)
|
||
#include /config/nginx/authelia-server.conf;
|
||
|
||
# enable for Authentik (requires authentik-location.conf in the location block)
|
||
#include /config/nginx/authentik-server.conf;
|
||
|
||
location / {
|
||
# enable the next two lines for http auth
|
||
#auth_basic "Restricted";
|
||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||
|
||
# enable for ldap auth (requires ldap-server.conf in the server block)
|
||
#include /config/nginx/ldap-location.conf;
|
||
|
||
# enable for Authelia (requires authelia-server.conf in the server block)
|
||
#include /config/nginx/authelia-location.conf;
|
||
|
||
# enable for Authentik (requires authentik-server.conf in the server block)
|
||
#include /config/nginx/authentik-location.conf;
|
||
|
||
include /config/nginx/proxy.conf;
|
||
include /config/nginx/resolver.conf;
|
||
set $upstream_app seerr;
|
||
set $upstream_port 5055;
|
||
set $upstream_proto http;
|
||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||
|
||
}
|
||
|
||
location ~ (/seerr)?/api {
|
||
include /config/nginx/proxy.conf;
|
||
include /config/nginx/resolver.conf;
|
||
set $upstream_app seerr;
|
||
set $upstream_port 5055;
|
||
set $upstream_proto http;
|
||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||
|
||
}
|
||
}
|
||
```
|
||
|
||
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
|
||
|
||
Attendez quelques minutes, puis visitez `http://films.mondomaine.fr` dans votre navigateur.
|
||
|
||
### Terminé !
|
||
::
|
||
|
||
::caution
|
||
|
||
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
|
||
::
|
||
|
||
Et voilà, Seerr est maintenant accessible publiquement !
|
||
|
||
## Protéger Seerr avec TinyAuth
|
||
Ajoutez la vérification forward-auth de [TinyAuth](/serveex/security/tinyauth) directement dans `films.subdomain.conf`, de la même façon que dans [le tutoriel TinyAuth](/serveex/security/tinyauth#protecting-an-app-via-reverse-proxy). L'interface web (`/`) reçoit la vérification, `/api` en est exclu, puisque les appels d'API de Seerr (et tout ce qui s'y intègre) ne peuvent pas faire de connexion interactive dans un navigateur :
|
||
|
||
```nginx [films.subdomain.conf]{24-36,39-40}
|
||
## Version 2024/07/16
|
||
# make sure that your seerr container is named seerr
|
||
# make sure that your dns has a cname set for seerr
|
||
|
||
server {
|
||
listen 443 ssl;
|
||
listen [::]:443 ssl;
|
||
|
||
server_name films.*;
|
||
|
||
include /config/nginx/ssl.conf;
|
||
|
||
client_max_body_size 0;
|
||
|
||
# enable for ldap auth (requires ldap-location.conf in the location block)
|
||
#include /config/nginx/ldap-server.conf;
|
||
|
||
# enable for Authelia (requires authelia-location.conf in the location block)
|
||
#include /config/nginx/authelia-server.conf;
|
||
|
||
# enable for Authentik (requires authentik-location.conf in the location block)
|
||
#include /config/nginx/authentik-server.conf;
|
||
|
||
location /tinyauth {
|
||
internal;
|
||
proxy_pass http://tinyauth:3000/api/auth/nginx;
|
||
proxy_pass_request_body off;
|
||
proxy_set_header Content-Length "";
|
||
proxy_set_header X-Forwarded-Proto $scheme;
|
||
proxy_set_header X-Forwarded-Host $http_host;
|
||
proxy_set_header X-Forwarded-Uri $request_uri;
|
||
}
|
||
|
||
location @tinyauth_login {
|
||
return 302 https://tinyauth.mondomaine.fr/login?redirect_uri=$scheme://$http_host$request_uri;
|
||
}
|
||
|
||
location / {
|
||
auth_request /tinyauth;
|
||
error_page 401 = @tinyauth_login;
|
||
|
||
# enable the next two lines for http auth
|
||
#auth_basic "Restricted";
|
||
#auth_basic_user_file /config/nginx/.htpasswd;
|
||
|
||
# enable for ldap auth (requires ldap-server.conf in the server block)
|
||
#include /config/nginx/ldap-location.conf;
|
||
|
||
# enable for Authelia (requires authelia-server.conf in the server block)
|
||
#include /config/nginx/authelia-location.conf;
|
||
|
||
# enable for Authentik (requires authentik-server.conf in the server block)
|
||
#include /config/nginx/authentik-location.conf;
|
||
|
||
include /config/nginx/proxy.conf;
|
||
include /config/nginx/resolver.conf;
|
||
set $upstream_app seerr;
|
||
set $upstream_port 5055;
|
||
set $upstream_proto http;
|
||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||
|
||
}
|
||
|
||
location ~ (/seerr)?/api {
|
||
include /config/nginx/proxy.conf;
|
||
include /config/nginx/resolver.conf;
|
||
set $upstream_app seerr;
|
||
set $upstream_port 5055;
|
||
set $upstream_proto http;
|
||
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
|
||
|
||
}
|
||
}
|
||
```
|
||
|
||
::note{to="/serveex/security/tinyauth#exposing-tinyauth-with-swag"}
|
||
|
||
Le bloc `location /tinyauth` s'exécute dans le conteneur de SWAG lui-même, SWAG doit donc être sur le réseau Docker de TinyAuth pour le joindre par son nom (`tinyauth` ici). Cela devrait déjà être en place depuis **l'exposition de TinyAuth**. Si vous rencontrez une erreur, revérifiez que le fichier compose de SWAG a toujours ce réseau rattaché.
|
||
::
|
||
|
||
::tip{icon=""}
|
||
✨ Vous pouvez protéger cette application avec [Authentik](/serveex/advanced/authentik) plutôt que TinyAuth, en ouvrant `films.subdomain.conf` et en retirant le `#` devant `include /config/nginx/authentik-server.conf;`{lang=nginx} et `include /config/nginx/authentik-location.conf;`{lang=nginx}. N'oubliez pas de [créer une application et un provider dans Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy).
|
||
::
|