Synology Installation de Dolibarr sur Nas Synology via docker

IllI

Nouveau membre
Bonjour tout le monde.

J'ai commencé une installation de Dolibarr sur mon Nas Synology via docker et l'image crée par Tuxgasy.
Problème elle ne fonctionne pas. Du moins je n'ai certainement pas fait ce qu'il fallait et j'ose pas pousser pour pas créer de nouveaux problèmes. J'ai mis en place plusieurs services et la dernière bêtise m'a obligé à refaire intégralement mon site web wordpress...

Je me suis aperçu que Tuxgasy annonce que son image ne contiens pas de database et qu'il faut la lier a un conteneur de database en utilisiant Docker Compose:

This image don't contains database. So you need to link it with a database container.

Let's use Docker Compose to integrate it with MariaDB (you can also use MySQL if you prefer).

Create docker-compose.yml file as following:

YAML:
version: "3"

services:
    mariadb:
        image: mariadb:latest
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: dolibarr

    web:
        image: tuxgasy/dolibarr
        environment:
            DOLI_DB_HOST: mariadb
            DOLI_DB_USER: root
            DOLI_DB_PASSWORD: root
            DOLI_DB_NAME: dolibarr
            DOLI_URL_ROOT: 'http://0.0.0.0'
            PHP_INI_DATE_TIMEZONE: 'Europe/Paris'
        ports:
            - "80:80"
        links:
            - mariadb

Chose que je n'ai pas encore fait. Je me dis que dans mon cas je peux peut-être le faire sans passer par un conteneur vu que MariaDB est installé directement sur mon Syno et j'ai vu plusieurs manip différentes. Mais dans certain cas l'installation était faite sans passer par un docker ou utilisait Portainer pour la bdd.
Bref j'ai cherché un peu partout et tout est confu.
Je suis tombé sur pleins d'info sur des problèmes rencontrés comme:
-par défaut le port de mariadb sur synology est le 3307, il faut mettre 3306 dans la configuration du serveur mariadb et activé la connexion TCP IP qui ne l’est pas par défaut (dans mon cas c'est même pas un de ces deux-là)
-de modifier les paramètres :
Repertoire contenant les pages web : /var/services/web/htdocs en /volume1/web/htdocs
Répertoire devant contenir les documents générés (PDF, etc.) : /var/services/homes/utilisateur/Documents/Dolibarr en /volume1/web/Dolibarr
-que mariadb doit être installé et paramètrée pour router (côcher la case tcp)
-qu'il faut dans webstation activer un hôte virtuel pour dollibar
Sur un profil php avec les bonnes infos concernant le lien avec mariadb (section cœur rubrique mysql..)
-qu'il faut activer tous les plugin dans le profil php
-et bien plus encore mais je vais vous eviter de tout énumérer ici

Bref bcp d'info mais je ne sais pas si quand je monte mon image j'ai déjà fait les bons choix.
Je suis totalement perdu et ne veux pas me mettre dans une situation compliquée.

Partez du principe que je suis nul et que j'y comprends rien.
Je sais pas mal de chose mais là c'est bcp de choses nouvelles pour moi et que je maitrise pas du tout.

Bref j'ai besoin d'aide.
 
Dernière édition:

IllI

Nouveau membre
Ps: je suis en train d'essayer de créer la base de donnée sur MariaDB via PhpMyAdmin. Mais là aussi je ne sais comment faire et ca me dit que je n'ai aucun privilège...

Edit:
Problème de privilège résolu. Je viens de creer (je pense) la table ou bdd dolibarr. Mais j'ai rien rentré pour le moment dedans.
Je vais voir si il faut faire autre chose dedans en cherchant sur les tuto et forum que je parcours.
 
Dernière édition:

EVOTk

Modérateur
Membre du personnel
Salut,
J'essayerai plutôt ceci :
Créer un dossier dolibarr et place ton fichier docker-compose.yml dedans :

Le fichier docker-compose.yml
YAML:
version: "3"

services:
    web:
        image: tuxgasy/dolibarr
        container_name: dolibarr
        environment:
            DOLI_DB_HOST: mariadb
            DOLI_DB_USER: dolibarr
            DOLI_DB_PASSWORD: DATABASE_PASSWORD
            DOLI_DB_NAME: dolibarr
            DOLI_URL_ROOT: 'http://0.0.0.0:4444'
            PHP_INI_DATE_TIMEZONE: 'Europe/Paris'
        ports:
            - "4444:80"
        links:
            - mariadb
            
    mariadb:
        image: lscr.io/linuxserver/mariadb:latest
        container_name: mariadb
        environment:
            - PUID=1000
            - PGID=1000
            - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
            - TZ=Europe/Paris
            - MYSQL_DATABASE=dolibarr
            - MYSQL_USER=dolibarr
            - MYSQL_PASSWORD=DATABASE_PASSWORD
        volumes:
            - ./mariadb:/config
        restart: unless-stopped
        
    adminer:
        image: adminer
        restart: unless-stopped
        ports:
            - 4445:8080

Dans ce dossier dolibarr créer un dossier mariadb.

Modifie PUID et GUID par les ID de ton utilisateur : [Tuto] Connaitre le PUID / PGID d'un utilisateur.
Personnalise ROOT_ACCESS_PASSWORD par un mot de passe
idem pour DATABASE_PASSWORD ( attention ici il est a indiquer a deux endroit dans le compose ! )

Ensuite lance ton compose : docker-compose up -d

Accède a Dolibarr via http://IP_LOCALE_NAS:4444
Accede a un gestionnaire de DB style phpmyadmin via : http://IP_LOCALE_NAS:4445

Si cela ne marche pas, donne nous les logs des conteneurs, ....
 

IllI

Nouveau membre
Question pourquoi adminer vu que j'utilise phpmyadmin?
Autre question, je suis obligé d'avoir MariaDB installé dans un container, je peux pas utiliser celui installé directement sur mon nas?
 

EVOTk

Modérateur
Membre du personnel
Question pourquoi adminer vu que j'utilise phpmyadmin?
Par habitude personnelle uniquement, je trouve adminer plus simple et tu n'a pas besoin d'un paquet du NAS.

Autre question, je suis obligé d'avoir MariaDB installé dans un container, je peux pas utiliser celui installé directement sur mon nas?
Si si tu peu, mais l'avantage du conteneur est que tu as plus de controle, aussi, il est plus à jour que le paquet du NAS :)
 

IllI

Nouveau membre
Merci pour toutes tes réponses.
EVOTk, si jamais tu as discord et 5-10min à m'accorder, tu peux m'ajouter et me contacter:
Jipi#6602
J'aimerai comprendre certaines choses qui sont encore floue pour moi et ce serai bien plus simple en vocal surtout que j'ai pas vraiment les mots pour l'expliquer et que ça prendrai 2 pages pour se comprendre...
 

IllI

Nouveau membre
Bon j'ai fait tout comme il faut, j'ai lancé ma commande via ssh, les 3 container se sont lancés, rien ne fonctionne quand j'essaye de les atteindre. J'ai ouvert les ports sur le control panel, mais ptet que c'est pas là qu'il faut les ouvrir...
Bref je sais pas si il me manque quelque chose.
 

IllI

Nouveau membre
HTML:
dolibarr
date    stream    content
2022-11-24T08:35:27.857935757Z    stderr    [Thu Nov 24 08:35:27.857691 2022] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'
2022-11-24T08:35:27.857791148Z    stderr    [Thu Nov 24 08:35:27.857647 2022] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.38 (Debian) PHP/8.1.12 configured -- resuming normal operations
2022-11-24T08:35:27.775464539Z    stderr    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message
2022-11-24T08:35:27.754656570Z    stderr    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.4. Set the 'ServerName' directive globally to suppress this message
2022-11-24T08:35:27.062087083Z    stdout    Set some default const ...
2022-11-24T08:35:27.023900374Z    stdout    Create SuperAdmin account ...
2022-11-24T08:35:27.009439686Z    stdout    Importing data from llx_holiday_config.sql ...
Je évite tout le blabla inutile
2022-11-24T08:32:29.060875956Z    stdout    Importing table from llx_accounting_account.sql ...
2022-11-24T08:32:28.977128886Z    stdout    Current Version is : 16.0.1
2022-11-24T08:32:28.975904134Z    stdout    [INIT] => update ownership for files in /var/www/documents ...
2022-11-24T08:32:28.971212944Z    stdout    [INIT] => update ownership for file in Dolibarr Config ...
2022-11-24T08:32:28.969745833Z    stdout    [INIT] => update Dolibarr Config ...
2022-11-24T08:32:28.966671723Z    stdout    [INIT] => update PHP Config ...
2022-11-24T08:32:28.950209827Z    stderr    usermod: no changes
Message automatiquement fusionné :

HTML:
mariadb
date    stream    content
2022-11-24T08:32:29.254920227Z    stdout    [ls.io-init] done.
2022-11-24T08:32:28.393264075Z    stdout    221124 09:32:28 mysqld_safe Starting mariadbd daemon with databases from /config/databases
2022-11-24T08:32:28.355756263Z    stdout    221124 09:32:28 mysqld_safe Logging to '/config/databases/38b455aa9c21.err'.
2022-11-24T08:32:28.393162176Z    stderr    Warning: World-writable config file '/etc/my.cnf.d/custom.cnf' is ignored
2022-11-24T08:32:28.347456405Z    stderr    Warning: World-writable config file '/etc/my.cnf.d/custom.cnf' is ignored
2022-11-24T08:32:28.222420107Z    stdout    [custom-init] No custom files found, skipping...
2022-11-24T08:32:28.155590241Z    stdout   
2022-11-24T08:32:28.155551321Z    stdout    -------------------------------------
2022-11-24T08:32:28.155506631Z    stdout    User gid:    100
2022-11-24T08:32:28.155450572Z    stdout    User uid:    1026
2022-11-24T08:32:28.155327852Z    stdout   
2022-11-24T08:32:28.152707269Z    stdout    -------------------------------------
2022-11-24T08:32:28.152683979Z    stdout    GID/UID
2022-11-24T08:32:28.152664529Z    stdout    -------------------------------------
2022-11-24T08:32:28.152639419Z    stdout    https://www.linuxserver.io/donate/
2022-11-24T08:32:28.152614070Z    stdout    To support LSIO projects visit:
2022-11-24T08:32:28.152595380Z    stdout   
2022-11-24T08:32:28.152573230Z    stdout    -------------------------------------
2022-11-24T08:32:28.152543460Z    stdout    Brought to you by linuxserver.io
2022-11-24T08:32:28.152524680Z    stdout   
2022-11-24T08:32:28.152505330Z    stdout   
2022-11-24T08:32:28.152480670Z    stdout             |_| |___/ |_|  \__/
2022-11-24T08:32:28.152459021Z    stdout             | | \__ \ | | | () |
2022-11-24T08:32:28.152437261Z    stdout             | | / __| | |  /  \
2022-11-24T08:32:28.152413161Z    stdout             | |  ___   _    __
2022-11-24T08:32:28.152386741Z    stdout              _         ()
2022-11-24T08:32:28.152358701Z    stdout    -------------------------------------
2022-11-24T08:32:28.152255302Z    stdout   
2022-11-24T08:32:28.035948879Z    stdout    [migrations] no migrations found
2022-11-24T08:32:28.035825799Z    stdout    [migrations] started
2022-11-24T08:32:27.943281366Z    stdout    [custom-init] No custom services found, skipping...
 

EVOTk

Modérateur
Membre du personnel
Salut,
Désolé mais je ne fait pas de support en privé.

Je viens de tester mon compose sur ma machine sous Openmediavault, et apres quelques minutes le temps que les conteneurs démarre , cela fonctionne, .... presque :
1669312679222.png
1669312654913.png

Impossible de ce connecter, il dit qu'il manque une table, et effectivement elle n'est pas présente, tu lui rajoute, et c'est autre chose qu'il manque :
1669314623478.png

Par contre, j'ai vu ceci passer dans les logs

1669315259920.png

J'ai donc supprimer les conteneurs, le contenu de mariadb/

et relancer uniquement le conteneur madiadb dans un 1er temps :

Code:
docker compose up mariadb -d

J'ai attendu qu'il soit bien démarré, puis j'ai lancer le conteneur dolibarr :

Code:
docker compose up web -d

Apres quelques minutes d'attente , j'ai pu me connecter avec admin/admin

1669315681281.png
 

Pièces jointes

  • 1669315105020.png
    1669315105020.png
    37.5 KB · Affichages: 0

EVOTk

Modérateur
Membre du personnel
Je te propose donc un nouveau docker-compose :

YAML:
version: "3"

services:
  web:
    image: tuxgasy/dolibarr
    container_name: dolibarr
    environment:
      DOLI_DB_HOST: mariadb
      DOLI_DB_USER: dolibarr
      DOLI_DB_PASSWORD: DATABASE_PASSWORD
      DOLI_DB_NAME: dolibarr
      DOLI_URL_ROOT: 'http://0.0.0.0:4444'
      PHP_INI_DATE_TIMEZONE: 'Europe/Paris'
    ports:
      - 4444:80
    depends_on:
      mariadb:
        condition:  service_healthy

  mariadb:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: dolibarr-mariadb
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=ROOT_ACCESS_PASSWORD
      - TZ=Europe/Paris
      - MYSQL_DATABASE=dolibarr
      - MYSQL_USER=dolibarr
      - MYSQL_PASSWORD=DATABASE_PASSWORD
    volumes:
      - ./mariadb:/config
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      start_period: 45s
      interval: 90s
      timeout: 10s
      retries: 3
       
  adminer:
    image: adminer
    container_name: dolibarr-adminer
    restart: unless-stopped
    ports:
    - 4445:8080

Celui-ci va attendre pour etre sur que mariadb est bien opérationnel !

Modifie PUID et GUID par les ID de ton utilisateur : [Tuto] Connaitre le PUID / PGID d'un utilisateur.
Personnalise ROOT_ACCESS_PASSWORD par un mot de passe
idem pour DATABASE_PASSWORD ( attention ici il est a indiquer a deux endroit dans le compose ! )
Dans : 'http://0.0.0.0:4444' remplace 0.0.0.0 par l'ip de ta machine si c'est pour un acces local, si c'est a travers un reverse proxy, il faut remplacer toutes l'adresse

Edit : et voila, apres 5 bonne minutes apres mon "docker-compose up -d" , c'est ok :

1669316814753.png

Pense a bien nettoyer ta machine apres tes essais ( vider le contenu de /mariadb, supprimer les volumes non utilisé dans docker ... )
 

IllI

Nouveau membre
Bonsoir, le soucis que j'ai c'est que je ne peux même pas atteindre la page de dolibarr.
Mon problème est ptet dans le partage de port.
Peut tu me dire ce que j'ai mal fait?
 

IllI

Nouveau membre
Bonsoir,

J'ai tout supprimé et fait une installation totalement differente. Tout devait fonctionner mais je n'arrivais pas à atteindre dolibarr par http via le réseau interne ni externe. Maintenant c'est installé via un debian et tout fonctionne. Vous pouvez supprimer ce sujet qui n'a aucun intérêt pour la communauté, a part pour le fichier compose de EVOTk bien entendu, mais si il est ailleurs, autant tout virer.

Encore un grand merci à toi pour le soutient que tu m'as apporté, même si dans mon cas ce ne fut pas concluant pour je ne sais quel raison.
Ça m'a aidé à comprendre pas mal de choses et ça a participé dans la réussite de mon installation d'après!

Bonne continuation à tous et peut-être à plus tard!!
 
Haut Bas