dbarzin / mercator

Mapping the information system / Cartographie du système d'information
GNU General Public License v3.0
274 stars 43 forks source link

Impossible de démarrer la stack docker-compose #635

Closed arnaudluti closed 2 weeks ago

arnaudluti commented 8 months ago

Bonjour,

Merci pour le travail,

J'ai suivi les instructions du docker-compose.md, créé les certificats et le fichier db.sqlite avec les bonnes permissions. J'ai édité le fichier .env et le nginx.conf pour mettre le bon hostname. Au démarrage de la stack, j'ai une erreur Laravel de contact de la base données "mysql":

mercator       |    Illuminate\Database\QueryException
mercator       |
mercator       |   could not find driver (Connection: mysql, SQL: select table_name as `name`, (data_length + index_length) as `size`, table_comment as `comment`, engine as `engine`, table_collation as `collation` from information_schema.tables where table_schema = 'forge' and table_type in ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)
mercator       |
mercator       |   at vendor/laravel/framework/src/Illuminate/Database/Connection.php:829
mercator       |     825▕                     $this->getName(), $query, $this->prepareBindings($bindings), $e

Le conteneur mercator démarre mais erreur Laravel de connexion DB juste après le login. Pourquoi est-ce que l'appli essaie d'utiliser mysql ?

dans le fichier .env la partie DB est restée commentée...

## APP_NAME=Mercator                           
APP_ENV=production                             
## APP_KEY=                                    
## APP_DEBUG=false                             

##########################################     
# CONFIG set to your own domain name           
APP_URL=https://mercator.[REDACTED]
##########################################     

## ASSET_URL=https://mercator.mycompany.com    
## LOG_CHANNEL=stack                           
##                                             
## DB_CONNECTION=mysql                         
[...]

Ai-je loupé une instruction? Merci d'avance pour votre aide

dbarzin commented 8 months ago

Je suppose que le fichier .env que tu as utilisé fait référence à mySQL alors que le docker est prévu pour utiliser SQLite et ne contient pas les drivers mySQL ni le serveur de base de données. Tu dois utiliser le fichier .env d'origine.

arnaudluti commented 8 months ago

Bonjour,

C'est bien le fichier .env d'origine.

J'ai laissé commentée dedans toute la partie base de données qui fait référence à mysql...

Mais de fait comment l'appli fait pour savoir qu'elle doit utiliser SQLite ? Le seul rapport à SQLite est le mappage du fichier de DB dans le conteneur dans le docker compose... Ne doit il pas y avoir quelque chose comme "DB=SQLite" et un "path" dans le fichier .env?


From: Didier Barzin @.> Sent: Monday, February 26, 2024 7:40:23 AM To: dbarzin/mercator @.> Cc: arnaudluti @.>; Author @.> Subject: Re: [dbarzin/mercator] Impossible de démarrer la stack docker-compose (Issue #635)

Je suppose que le fichier .env que tu as utilisé fait référence à mySQL alors que le docker est prévu pour utiliser SQLite et ne contient pas les drivers mySQL ni le serveur de base de données. Tu dois utiliser le fichier .env d'origine.

— Reply to this email directly, view it on GitHubhttps://github.com/dbarzin/mercator/issues/635#issuecomment-1963418105, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJ5VZ63OUVZROVWTES6QVXTYVQU5JAVCNFSM6AAAAABDZCFCZOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRTGQYTQMJQGU. You are receiving this because you authored the thread.Message ID: @.***>

dbarzin commented 8 months ago

Quand il n'y a pas de variable "host" configurée pour la connexion DB, Laravel suppose que c'est du SQLite.

dbarzin commented 8 months ago

Vu dans le code de Laravel

if (! isset($connection['host']) && $connection['driver'] !== 'sqlite') 

Le problème doit venir de là. Comme la variable "host" est configurée. Il faut sans doutes ajouter "driver=sqlite" ou DB_CONNECTION=sqlite