[Tuto] Installation de Picsur + Postgresql + Adminer en Docker

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 219
1 576
278
/var/run/docker.sock
Bonjour,
Voici un petit tuto, pour ceux qui souhaiterai installer Picsur + Postgresql + Adminer en Docker.

picsur.svg

Picsur, c'est quoi ? :giggle:
Je ne pouvais pas vraiment trouver un projet open source qui vous permettait d'héberger facilement des images. J'ai donc décidé d'en créer un.

On dirait un hybride entre Imgur et Pastebin.

Retrouvez plus d'informations sur Picsur ici : https://github.com/rubikscraft/Picsur


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, 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, ...

Pour un support sur Picsur ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications.


Pré-requis :
Avoir Docker et Docker Compose installé sur sa machin, voir [Tuto] Installation de Docker, Docker-compose et Portainer sur Debian 11
Ce connecter en SSH à votre Serveur/NAS, si vous ne savez pas le faire, vous trouverez ici un tuto explicatif : [Tuto] Acceder à son NAS en lignes de commande.

A modifier selon votre installation :
Toute mon installation, va ce faire dans un dossier "picsur" inclu dans mon dossier "docker"
Je vais donc installer Picsurdans docker/picsur
Optionel : Les PUID/PGID de mon compte utilisateur sont : PUID=9999 PGID=111 **

** Pour connaitre le PUID/GUID de l'utilisateur : [Tuto] Connaitre le PUID / PGID d'un utilisateur.

Sommaire :
1/ Créer les dossiers nécessaires
2/ Le fichier "docker-compose.yml"
3/ Création et démarrage du conteneur
4/ Accès a Picsur
5/ Optionnel : Mapper un user sur le conteneur Postgresql

6/ Optionnel : Mapper le fuseau horaire de l'hote sur le conteneur Postgresql
6 / Annexe 1 : Consulter / Modifier la DB via Adminer


Aller go :)


1/ Créer les dossiers nécessaires
Sur le NAS nous allons devoir créer un dossier picsur contenant un dossier data , ce dernier contiendra notre base de données.

En SSH, avec la commande cd nous allons accéder au dossier ou vous souhaitez installer les fichiers de configuration du conteneur. Dans mon cas c'est /home/tuto/docker, j’exécute donc la commande suivante pour accéder au dossier docker :

cd /home/tuto/docker

Vous pouvez aussi créer le dossier picsur, contenant un dossier config avec cette commande : mkdir -p picsur/data

Ensuite, avec la commande cd picsur, rendez-vous dans le dossier principal de Picsur que nous venons de créer.

Note : A partir de maintenant, toutes les commandes du tutoriel partirons du principe que vous les exécuter depuis le dossier /picsur




2/ Le fichier "docker-compose.yml"

Nous allons maintenant créer le fichier docker-compose.yml, c'est lui qui contiendra la configuration de notre conteneur.

Pour le créer nous exécutons la commande suivante : nano docker-compose.yml

L'éditeur s'ouvre, dedans nous allons copier/coller le code suivant :
Code:
version: '3'
services:
  picsur:
    image: ghcr.io/rubikscraft/picsur:latest
    container_name: picsur
    ports:
      - '8080:8080'
    depends_on:
      - picsur_postgres
    environment:
      PICSUR_DB_HOST: picsur_postgres
      PICSUR_DB_PORT: 5432
      PICSUR_DB_USERNAME: picsur
      PICSUR_DB_PASSWORD: PASS_DE_MA_DB
      PICSUR_DB_DATABASE: picsur
      PICSUR_ADMIN_PASSWORD: MON_SUPER_PASS_ADMIN
    restart: unless-stopped

  picsur_postgres:
    image: postgres:14
    container_name: picsur_postgres
#    user: 9999:111
    labels:
      - com.centurylinklabs.watchtower.enable=true
      - deunhealth.restart.on.unhealthy=true
    environment:
      POSTGRES_DB: picsur
      POSTGRES_PASSWORD: PASS_DE_MA_DB
      POSTGRES_USER: picsur
    restart: unless-stopped
    volumes:
#      - /etc/passwd:/etc/passwd:ro
#      - /etc/localtime:/etc/localtime:ro
      - ./data:/var/lib/postgresql/data

  adminer:
    container_name: picsur_adminer
    image: adminer
    restart: unless-stopped
    depends_on:
      - picsur_postgres
    ports:
      - 8081:8080
    mem_limit: 64m
    mem_reservation: 16m

Vous devez modifier :
- Dans la ligne PICSUR_DB_PASSWORD: PASS_DE_MA_DB, PASS_DE_MA_DB est a remplacer par un mot de passe de votre choix ! Il devrais aussi être repéter dans la ligne POSTGRES_PASSWORD: PASS_DE_MA_DB.
- Dans la ligne PICSUR_ADMIN_PASSWORD: MON_SUPER_PASS_ADMIN, MON_SUPER_PASS_ADMIN est a remplacer par un mot de passe de votre choix ! Il vous servira pour vous connecter a votre compte admin sur la WebUI de Picsur.

Une fois le fichier correctement rempli, vous pouvez quitter l'éditeur avec Ctrl+X et confirmer les modifications.[/B]




3/ Création et démarrage du conteneur
Rappel : Nous sommes toujours en SSH, dans notre dossier picsur

Pour créer le conteneur et le démarrer exécuter la commande suivante : docker compose up -d

Note : Si vous exécuter une veille version de docker-compose ( version 1 ) , la commande sera : docker-compose up -d

Note 2 : Les commandes docker doivent s’exécuter avec les droits root


Si la commande vous retourne "done" ou "Running", c'est que le conteneur est bien lancé !




4/ Accès a Picsur

Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8080 pour se connecter a l'interface Web de Picsur.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8080
Bien sur, si le pare-feu de votre NAS est actif, ce port ( 8080 TCP ) devra être autorisé dans celui-ci !


1664114627488.png



Suite plus tard ....

2022-09-25 - Création du tutoriel
 
Dernière édition:
  • J'aime
  • J'adore
Réactions: FX Cachem et MilesTEG