[Tuto] Installation de Photoview + MariaDB en Docker sur un NAS QNAP ( Container Station )
Photoview, c'est quoi ?
X
MariaDB, c'est quoi ?
Le serveur MariaDB est l'un des serveurs de bases de données les plus populaires au monde. Il a été conçu par les développeurs originaux de MySQL et garantit le maintien de l'open source. Plus d'info sur le site officiel : mariadb.org
Note : Pour le déploiement de MariaDB dans ce tutoriel, nous allons utiliser l'image linuxserver/mariadb.
Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...
Pré-requis :
- Un NAS QNAP compatible avec Container Station ( [Mémo] Installation de Container Station sur un NAS QNAP )
- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8, ARMv7
- Accès en SSH à son NAS QNAP
Sommaire :
1/ Récupération de l'ID de votre utilisateur
2/ Création des conteneurs
3/ Accès a Photoview
1/ Récupération de l'ID de votre utilisateur
Utiliser ce tuto pour vous connecter en SSH a votre NAS QNAP : [Tuto] Se connecter à son NAS QNAP par SSH
Récupérer l'ID de votre utilisateur : [Mémo] Connaitre le PUID / PGID d'un utilisateur sur un NAS QNAP
2/ Création des conteneurs
Dans la fenêtre de création d'application :
- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "photoview_mariadb".
- Le code YAML :
YAML:
version: "3"
services:
photoview:
image: viktorstrate/photoview:2
restart: always
ports:
- "8000:80"
depends_on:
db:
condition: service_healthy
environment:
- PHOTOVIEW_DATABASE_DRIVER=mysql
- PHOTOVIEW_MYSQL_URL=photoview:examplepass@tcp(db)/photoview
- PHOTOVIEW_LISTEN_IP=photoview
- PHOTOVIEW_LISTEN_PORT=80
- PHOTOVIEW_MEDIA_CACHE=/app/cache
# Optional: If you are using Samba/CIFS-Share and experience problems with "directory not found"
# Enable the following Godebug
# - GODEBUG=asyncpreemptoff=1
# Optional: To enable map related features, you need to create a mapbox token.
# A token can be generated for free here https://account.mapbox.com/access-tokens/
# It's a good idea to limit the scope of the token to your own domain, to prevent others from using it.
# - MAPBOX_TOKEN=<YOUR TOKEN HERE>
volumes:
- api_cache:/app/cache
- /share/Multimedia:/photos:ro
db:
image: lscr.io/linuxserver/mariadb:latest
restart: always
environment:
PUID: 1000
PGID: 100
TZ: Europe/Paris
MYSQL_ROOT_PASSWORD: ROOT_ACCESS_PASSWORD
MYSQL_DATABASE: photoview
MYSQL_USER: photoview
MYSQL_PASSWORD: examplepass
volumes:
- /share/Container/photoview_mariadb:/config
healthcheck:
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
start_period: 15s
interval: 60s
timeout: 10s
retries: 3
volumes:
api_cache:
Dans ce code, il y a plusieurs choses a modifier :
Tout d’abord, le lieu de stockage des fichiers, j'ai choisi de tout placer dans un dossier "photoview_mariadb" dans le dossier partagé "Container" par défaut de Container Station. Mais vous pouvez le changer si vous le souhaitez :
-
/share/Container/[SIZE=5]photoview_mariadb[/SIZE]:/config
, dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire ou vous souhaitez stocker la configuration de MariaDB.Nous allons aussi indiquer a Photoview, ou se trouve nos Photos :
-
share/Multimedia[/SIZE]:/photos:ro
, dans cette ligne modifier la 1ere partie avant les : pour que cela correspond au chemin absolu vers le répertoire ouce trouve les photos pour Photoview. Par défaut : /share/Multimedia[/SPOILER]Nous allons reporter le PUID et PGUID retrouvez lors de l'étape 1 du tutoriel.
Dans la ligne :
-
PUID=1000
remplacer 1000 pour le PUID trouvé au point 1.-
PGID=100
remplacer 100 pour le PGID trouvé au point 1.A deux endroits dans le compose, nous allons retrouver : examplepass
- A la place de
examplepass
, choisissez un mot de passe pour la base de donnée, est remplacer au deux endroits du compose par le mot de passe voulu. ( 1 fois dans la ligne [SIZE=5]MYSQL_PASSWORD: examplepass
, et une fois dans la ligne PHOTOVIEW_MYSQL_URL=photoview:examplepass@tcp(db)/photoview[ICODE] )
Dernière étape de personnalisation du compose ! Modifier dans le compose [ICODE]ROOT_ACCESS_PASSWORD
par un mot de passe de votre choix, cela sera le mot de passe "root" de la base de données.et on clique sur créer pour lancer la création du conteneur !
Container Station va en 1er télécharger les images des conteneurs, puis créer la DB, ensuite il va attendre que la DB soit "ok", et lancer Photoview ( cela peut prendre quelques minutes ).
Dans l'onglet présentation que l'état est "vert", notre stack est en fonctionnement !
3/ Accès a Photoview
Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8000 pour se connecter a l'interface Web de Photoview.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8000
Lors du 1er acces, il vous est demandé de choisir un nom d'utilisateur est un mot de passe. Aussi pour le chemin vers les photos, vous devez indiquer :
/photos
2023-12-28 - Création
Dernière édition: