refabes-docker est un projet qui a pour vocation de regrouper les différentes instances Openrefine.
Disposer de :
docker-compose
.env-dist
Ce projet se compose de deux fichiers, le premier "docker-compose.yml" regroupe les paramètres, répertoires et profils des instances Openrefine. Le dernier fichier ".env-dist" est un template pour la création du fichier .env qui sera utilisé pour les variables d'environnement.
Déployer la configuration docker dans un répertoire :
# adaptez /opt/pod/ avec l'emplacement où vous souhaitez déployer l'application
cd /opt/pod/
git clone https://github.com/abes-esr/refabes-docker.git refxxxxxx-docker
Configurer l'application depuis l'exemple du fichier .env-dist
(ce fichier contient la liste des variables) :
cd /opt/pod/refXXXXXXX-docker/
cp .env-dist .env
# personnaliser alors le contenu du .env
Pour lancer l'instance, il faut bien penser à modifier la variable OPENREFINE_CONTAINER_NAME présent dans le fichier .env. On retrouve cette valeur à plusieurs endroits dans le fichier docker-compose.yml
:
OPENREFINE_CONTAINER_NAME=refxxxxx-docker
Puis, il suffit de rentrer la commande suivante :
sudo docker compose up -d
Pour stopper une instance :
cd /opt/pod/refXXXXXXX-docker/
docker-compose down
Pour redémarrer une instance :
docker-compose restart
Pour supprimer les données :
docker compose down -v
#Et supprimer les volumes :
rm -fr volumes
Pour ajuster l'allocation de ressources pour les conteneurs (par exemple, mémoire, CPU), vous pouvez modifier la valeur des variables d'environnement suivantes dans votre fichier .env
:
OPENREFINE_MEM_LIMIT
: Mémoire allouée au conteneur et définit égalament la valeur mémoire JAVA HEAP à utiliser. (par exemple: "512m" pour 512 Mo).OPENREFINE_CPU_LIMIT
: CPU alloué au conteneur (par exemple: "0.5" pour allouer 50% d'un CPU), valeur par défaut "5".OPENREFINE_PORT
: Définit le port à utiliser.OPENREFINE_VERSION
: Définit la version de l'image à utiliser.
Pour mettre à jour les containers sur les nouvelles versions d'Openrefine, il faut créer une nouvelle release de l'image, à partir de ce dépôt : Openrefine
Une fois la nouvelle release créée, il faut alors modifier la version à utiliser dans le .env.
Pour sauvegarder les données des différents projets, il faut faire une sauvegarde complète du répertoire "./volumes/refabes" de l'instance que l'on souhaite sauvegarder, ainsi qu'une copie du .env
Pour restaurer une instance Openrefine, il faut récuperer la sauvegarde du .env du projet concerné. Puis se mettre dans le repertoire /opt/pod/ et refaire les étapes d'installation.
# adaptez /opt/pod/ avec l'emplacement où vous souhaitez déployer l'application
cd /opt/pod/
git clone https://github.com/abes-esr/refabes-docker.git refxxxxxx-docker
Enfin, placer la sauvegarde du .env dans ce répertoire et lancer le docker-compose.yml.
Pour restaurer un projet, il faut récupérer le backup de celui-ci, vérifier qu'il soit bien au format XXXXXX.project et le copier dans le répertoire /volumes/refabes de l'instance que l'on souhaite restaurer. Openrefine pourra alors le détecter et l'afficher sur la page "Open project" une fois le container démarré ou redémarré si celui-ci était en cours d'utilisation.