Aller au contenu

Mise à jour

Garder solyto à jour vous assure de disposer des dernières fonctionnalités, corrections de bugs et correctifs de sécurité.

  1. Consultez les notes de version — vérifiez la page des releases pour tout changement majeur ou étape de migration manuelle
  2. Sauvegardez vos données — voir ci-dessous
  3. Notez votre version actuelle — vérifiez SOLYTO_VERSION dans votre .env

Avant toute mise à jour, créez des sauvegardes de vos bases de données et de votre stockage. Le README du dépôt selfhosted inclut un script de sauvegarde complet basé sur restic ; l’essentiel est le suivant :

Fenêtre de terminal
# Sauvegarder MariaDB (base de données : api)
docker exec -e MYSQL_PWD="$(cat secrets/mariadb_root_password)" <project>-mariadb \
mariadb-dump -u root --databases api > backup_mariadb.sql
# Sauvegarder PostgreSQL (base de données : dav)
docker exec -e PGPASSWORD="$(cat secrets/postgres_root_password)" <project>-postgres \
pg_dump -U postgres --clean --create dav > backup_postgres.sql
# Sauvegarder le stockage
tar -czf backup_storage.tar.gz storage/

Remplacez <project> par votre PROJECT_NAME (par défaut solyto). Conservez ces sauvegardes en dehors du serveur ou dans un emplacement séparé.

Fenêtre de terminal
docker compose pull

Cela récupère les dernières versions des trois images solyto (solyto/app, solyto/api-php, solyto/api-nginx) ainsi que toute image de base mise à jour.

Fenêtre de terminal
docker compose up -d

Docker Compose détecte les nouvelles images et recrée les conteneurs.

Le conteneur api exécute startup.sh à chaque démarrage, ce qui applique automatiquement les migrations de base de données en attente. Aucune action manuelle n’est nécessaire.

Vérifiez que tous les services sont en cours d’exécution :

Fenêtre de terminal
docker compose ps

Testez le point de contrôle de santé de l’API :

Fenêtre de terminal
curl -s https://api.example.com/api/v1/health

Ouvrez le frontend et confirmez que tout fonctionne comme prévu.

Pour rester sur une version spécifique, définissez SOLYTO_VERSION dans votre .env :

SOLYTO_VERSION=1.2.0

Ensuite, docker compose pull récupérera ce tag spécifique. Supprimez-le ou définissez-le sur latest pour recevoir de nouveau les nouvelles versions.

Si une mise à jour cause des problèmes :

  1. Arrêtez les services : docker compose down
  2. Définissez SOLYTO_VERSION sur la version précédente dans .env
  3. Restaurez vos sauvegardes de base de données si nécessaire
  4. Démarrez les services : docker compose up -d

Notez qu’une stratégie de rétrogradation vérifiable n’est pas encore disponible — les retours en arrière reposent sur l’inversion manuelle des migrations Laravel publiées avec chaque image, les sauvegardes sont donc essentielles.