docker-compose.ymlCréez un dossier vide sur votre machine (ex: mnemosyne/) et placez-y un fichier docker-compose.yml avec ce contenu :
services:
app:
image: revivalsoft/mnemosyne:v1
ports:
- "8080:80"
environment:
APP_ENV: prod
APP_SECRET: ${APP_SECRET:-changeme_generate_a_real_secret}
DATABASE_URL: "mysql://mnemosyne:secret@db:3306/mnemosyne?serverVersion=10.11.2-MariaDB&charset=utf8mb4"
depends_on:
db:
condition: service_healthy
restart: unless-stopped
db:
image: mariadb:11
environment:
MYSQL_DATABASE: mnemosyne
MYSQL_USER: mnemosyne
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD:-rootsecret}
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 5s
timeout: 5s
retries: 10
restart: unless-stopped
volumes:
db_data:
Depuis le dossier contenant le fichier :
docker compose up -d
Docker télécharge automatiquement l'image et démarre l'application.
Au premier démarrage, la base de données est créée et les migrations appliquées automatiquement. Cela peut prendre quelques secondes.
docker compose pull
docker compose up -d
Les migrations sont appliquées automatiquement au redémarrage.
| Action | Commande |
|---|---|
| Démarrer | docker compose up -d |
| Arrêter | docker compose down |
| Voir les logs | docker compose logs -f app |
| Redémarrer | docker compose restart |
Vos données sont stockées dans un volume Docker nommé db_data.
Pour sauvegarder :
docker compose exec db mariadb-dump -u mnemosyne -psecret mnemosyne > sauvegarde.sql
Pour restaurer :
docker compose exec -T db mariadb -u mnemosyne -psecret mnemosyne < sauvegarde.sql
⚠️ Ne jamais faire
docker compose down -v: cela supprime toutes vos données.
Si le port 8080 est occupé, éditez docker-compose.yml :
ports:
- "8080:80" # remplacez 8080 par un port libre
Puis relancez :
docker compose up -d
Content type
Image
Digest
sha256:3b0e2fb8b…
Size
1.7 GB
Last updated
5 months ago
docker pull revivalsoft/mnemosyne:v1