Migration vers une base de données dédiée

Bonjour,

Pour des considérations de maintenances et de stabilité, je voudrais hébergé la base de données de fabmanager vers un hébergement PostgreSQL dédié.

Avant de commander la base de donnée j’ai quelques interrogations techniques.

Pour ce qui est de la marche à suivre, de ce que je comprends de la documentation, cette migration se ferais avec les étapes suivantes:

  • Création d’un utilisateur postgres avec un mot de passe password dans la bdd externe
  • Dump de l’ancienne bdd depuis le conteneur et restauration sur la bdd externe
  • Changement des variables d’environnement avec l’ip de la bdd externe et le mot de passe password
  • Redémarrage du conteneur fabmanager

Il y a t-il des étapes supplémentaires ou des erreurs ?

Pour ce qui est de la capacité, quelle est la quantité de RAM optimale nécessaire pour la bdd ?

Merci !

Bonjour,

Oui c’est exactement ça. La configuration des variables d’environnement POSTGRES_HOST et POSTGRES_PASSWORD, dans le fichier /apps/fabmanager/config/env devra refléter le l’ip (ou le nom de domaine) du nouveau serveur, et le mot de passe de l’utilisateur postgres sur-celui-ci. Note que l’utilisateur postgres existe déjà, par défaut, sur tout serveur PotsgreSQL. Il te suffira donc de changer le mot de passe.

Pour ce qui est de la quantité de RAM, je pense que 2 Go suffiront, ce n’est pas très gourmand :wink:

Bonne journée

Bonjour Sylvain,

Je reviens vers toi après quelques mésaventures du coté d’OVH.
Avec l’offre de bdd PostgreSQL « Hébergement base SQL privée » d’OVH, il est impossible de créer un utilisateur nommé postgres, ce qui est légèrement embêtant pour l’installation de fabmanager.
Vue que la bdd est mutualisée, ce nom d’utilisateur est utilisé par les administrateurs chez OVH.

Compte-tenu de tout cela, est-il possible de modifier le nom d’utilisateur du côté de fabmanager ?
J’ai vue que celui-ci était spécifié dans database.yml, mais n’est pas référencé depuis config/env.
Peut-être que cela peux faire l’objet d’une feature request…?

Salut,

Oui effectivement postgres est un nom d’utilisateur réservé car c’est l’administrateur par défaut dans PgSQL, c’est lui que nous utilisons dans FM car avec docker, la base de données est isolée et cela ne pose pas de problèmes. Si tu utilises une base mutualisée hors docker, il est effectivement plus sage d’utiliser un autre utilisateur mais nous n’avons pas prévu ce cas … n’hésite pas à faire une pull request sur GitHub, les deux fichiers à modifier sont docker/database.yml et setup/env.example.

Bonjour Sylvain,

Je viens d’effectuer une pull request sur la branche dev avec la modification.
Je me suis d’ailleurs demandé pourquoi le mdp de la bdd n’était pas spécifié par défaut dans setup/env.example ? Sa configuration s’effectue via un script ?

ps : désolé pour la première pull request que j’ai fermé, je n’avais pas remis le fork à jour et elle contenait les commits que j’avais fait en janvier.

Dis-moi si cela est bon de ton côté
A bientôt !

1 « J'aime »

Salut Marin,

Super la pull-request. Je t’ai fait un commentaire sur GitHub pour te demander de compléter le changelog.
Pour répondre à ta question, par défaut, l’utilisateur postgres n’a pas besoin de mot de passe pour se connecter, c’est pourquoi on ne le met pas dans setup/env.exemple. Néanmoins, il est vrai qu’on pourrait le mettre avec une valeur vide … Tu peux le rajouter à ton PR si tu veux, ça fait sens !
Actuellement, pour le configurer, il suffit de modifier le fichier config/env un fois FM installé.

À bientôt,
Sylvain