Backup & Mise à jour
Réaliser une sauvegarde
Version docker
Tout d'abord se placer dans le dossier du fichier docker-compose.yml correspondant à la stack Homeceti. Puis lancer la commande suivante en prenant soin de remplacer la variable $DIRDESTINATION par le chemin de destination voulu :
sudo docker exec <container_postgres> pg_dump <db_name> -c -U <db_user> > $DIRDESTINATION/homeceti-dump-$(date +%F).sql
Restaurer une BDD
Version docker
Tout d'abord se placer dans le dossier du fichier docker-compose.yml correspondant à la stack Homeceti.
Pour copier un fichier depuis l'ordinateur vers le conteneur :
docker cp </path/to/dump> <container_homeceti>:<path/to/destination>
Rentrer dans le conteneur de la base de données :
docker exec -it <container_postgres> bash
Exécuter la restauration du script dans la base de données :
psql -U homeceti -d homeceti < /homeceti-dump-2024-05-18.sql
Relancer la stack et regarder les logs :
docker compose up -d
docker compose logs homeceti
Mettre à jour
Il est fortement conseillé de monter les versions par chaque version mineur.
Par exemple pour upgrade Homeceti:1.0.0 vers la version 1.3.0. Il faut d'abord déployer la version 1.2.0 puis passer à la 1.3.0.
Version docker
Tout d'abord se placer dans le dossier du fichier docker-compose.yml correspondant à la stack Homeceti.
Puis éteindre la stack :
docker compose stop
Modifier le docker-compose pour changer la version :
homeceti:
# Change image version :1.1.1 ---> next.version.up
image: gpatruno/homeceti:1.1.1
container_name: homeceti
ports:
- 3000:3000
environment:
TZ: "Europe/Paris"
DB_NAME: ${DB_NAME}
DB_USER: ${DB_USER}
DB_PWD: ${DB_PWD}
DB_HOST: postgres
ENDPOINT: http://localhost:3000
volumes:
- ./volumes/logs:/app/logs:rw
- ./volumes/uploads:/app/resources/uploads:rw
depends_on:
- postgres
networks:
nethome:
aliases:
- homeceti
Tirer la nouvelle image et redéployer la stack :
docker compose pull
docker compose up -d
Il est conseillé de regarder la sortie des logs via la commande docker compose logs homeceti
Ou via les fichiers de log monté en volume nano ./volumes/logs