Bonjour a tous !
Dans la branche Reflection du git de Directus, Maxime nous donne son docker-compose.yml ainsi que la base de données database/data.db
(directus_api_manager/example_directus_server at reflection · maxbritto/directus_api_manager · GitHub).
A la racine de mon nouveau projet, j’ai donc créé un dossier database où j’y ai placé le fichier data.db téléchargé du git, ainsi qu’un fichier docker-compose.yml contenant le code suivant :
version: '3'
services:
directus:
container_name: directus
image: directus/directus:latest
ports:
- 1234:8055
volumes:
- ./directus/database:/directus/database
- ./directus/uploads:/directus/uploads
- ./directus/extensions:/directus/extensions
environment:
KEY: '255d861b-5ea1-5996-9aa3-922530ec40b1'
SECRET: '6116487b-cda1-52c2-b5b5-c8022c45e263'
DB_CLIENT: 'sqlite3'
DB_FILENAME: './database/data.db'
ADMIN_EMAIL: '[email protected]'
ADMIN_PASSWORD: 'd1r3ctu5'
Je navigue à partir du Terminal au dossier racine de mon application et fait un docker-compose up
, en omettant délibérément l’option -d
pour avoir le log :
docker-compose up
[+] Running 1/0
⠿ Container directus Created 0.0s
Attaching to directus
directus | [14:03:39.295] INFO: Initializing bootstrap...
directus | [14:03:39.317] INFO: Installing Directus system tables...
directus | [14:03:39.444] INFO: Running migrations...
directus | [14:03:39.449] INFO: Applying Remove Collection Foreign Keys...
directus | [14:03:39.596] INFO: Applying Remove System Relations...
directus | [14:03:39.604] INFO: Applying Remove System Collections...
directus | [14:03:39.615] INFO: Applying Remove System Fields...
directus | [14:03:39.626] INFO: Applying Add Cascade System Relations...
directus | [14:03:40.233] INFO: Applying Change Webhook URL Type...
directus | [14:03:40.257] INFO: Applying Add Relations Sort Field...
directus | [14:03:40.272] INFO: Applying Remove Locked Fields...
directus | [14:03:40.300] INFO: Applying Webhooks Collections Text...
directus | [14:03:40.321] INFO: Applying Add Refresh Interval...
directus | [14:03:40.336] INFO: Applying Make Filesize Nullable...
directus | [14:03:40.364] INFO: Applying Add Collections Accountability...
directus | [14:03:40.382] INFO: Applying Remove Files Interface...
directus | [14:03:40.390] INFO: Applying Rename Interfaces...
directus | [14:03:40.430] INFO: Applying Restructure Relations...
directus | [14:03:40.503] INFO: Applying Add Foreign Key Constraints...
directus | [14:03:40.523] INFO: Applying Add System Fk Triggers...
directus | [14:03:40.780] INFO: Applying Add Collections Icon Color...
directus | [14:03:40.795] INFO: Applying Add Insights...
directus | [14:03:40.832] INFO: Applying Add Deep Clone Config...
directus | [14:03:40.858] INFO: Applying Change Filesize Bigint...
directus | [14:03:40.891] INFO: Applying Add Conditions to Fields...
directus | [14:03:40.908] INFO: Applying Add Default Folder...
directus | [14:03:40.944] INFO: Applying Replace Groups...
directus | [14:03:40.956] INFO: Applying Add Required to Fields...
directus | [14:03:40.980] INFO: Applying Update Groups...
directus | [14:03:40.993] INFO: Applying Change Image Metadata Structure...
directus | [14:03:41.006] INFO: Applying Add Geometry Config...
directus | [14:03:41.040] INFO: Applying Remove Limit Column...
directus | [14:03:41.074] INFO: Applying Add Auth Provider...
directus | [14:03:41.157] INFO: Applying Webhooks Collections Not Null...
directus | [14:03:41.183] INFO: Applying Move Module Setup...
directus | [14:03:41.228] INFO: Applying Webhooks URL Not Null...
directus | [14:03:41.266] INFO: Applying Add Collection Organization...
directus | [14:03:41.331] INFO: Applying Replace Fields Group...
directus | [14:03:41.412] INFO: Applying Replace M2M Interface...
directus | [14:03:41.425] INFO: Applying Rename Login Action...
directus | [14:03:41.436] INFO: Applying Update Presets...
directus | [14:03:41.480] INFO: Applying Add Auth Data...
directus | [14:03:41.502] INFO: Applying Add Webhook Headers...
directus | [14:03:41.526] INFO: Applying Set Unique to User Token...
directus | [14:03:41.562] INFO: Applying Update Special Geometry...
directus | [14:03:41.572] INFO: Applying Remove Collections Listing...
directus | [14:03:41.609] INFO: Applying Add Notifications...
directus | [14:03:41.652] INFO: Applying Add Shares...
directus | [14:03:41.741] INFO: Applying Add Project Descriptor...
directus | [14:03:41.757] INFO: Applying Remove Default Project Color...
directus | [14:03:41.781] INFO: Applying Add Bookmark Icon and Color...
directus | [14:03:41.803] INFO: Applying Add Translation Strings...
directus | [14:03:41.822] INFO: Applying Rename Field Typecast Flags...
directus | [14:03:41.833] INFO: Applying Add Field Validation...
directus | [14:03:41.861] INFO: Applying Fix Typecast Flags...
directus | [14:03:41.873] INFO: Applying Add Default Language...
directus | [14:03:41.938] INFO: Applying Remove Default Value Panel Icon...
directus | [14:03:41.968] INFO: Applying Add Flows...
directus | [14:03:42.020] INFO: Applying Add Color to Insights Icon...
directus | [14:03:42.035] INFO: Applying Drop Non Null From IP of Activity...
directus | [14:03:42.068] INFO: Applying Drop Non Null From Sender of Notifications...
directus | [14:03:42.098] INFO: Applying Rename Hook Trigger to Event...
directus | [14:03:42.109] INFO: Applying Update Notifications Timestamp Column...
directus | [14:03:42.140] INFO: Applying Add Custom Aspect Ratios...
directus | [14:03:42.159] INFO: Applying Add Origin to Accountability...
directus | [14:03:42.267] INFO: Setting up first admin role...
directus | [14:03:42.281] INFO: Adding first admin user...
directus | [14:03:42.367] INFO: Done
directus | [14:03:43.818] WARN: PUBLIC_URL should be a full URL
directus | [14:03:43.843] WARN: Spatialite isn't installed. Geometry type support will be limited.
directus | [14:03:43.925] INFO: Server started at http://0.0.0.0:8055
Les dossers /directus/database
, /directus/uploads
et /directus/extensions
sont bien ajoutés, ainsi que le fichier /directus/database/data.db
et j’arrive bien à me connecter à l’admin de Directus en me rendant à l’adresse http://localhost:1234/
en utilisant l’email [email protected]
et le mot de passe d1r3ctu5
mais la base de données est vide…
Si je crée un nouvel utilisateur, quelques tables (Collections) et que je quite Docker (docker-compose down
, ou avec ^c
dans le cas présent), le container est détruit, la base de données avec - ce qui est normal.
Mais si, avant de quiter, je remplace le fichier de Maxime database/data.bd
par mon fichier /directus/database/data.db
et que je relance mon Docker, je me retrouve toujours avec une base vide !
Comment faire pour persister la base de donnée à chaque lancement, avec pour but de la partager avec le docker-compose final ?
Peut-être un futur petit cours sur Docker, @mbritto ?
Merci d’avance,
Cédric