← Bases de données
MO

MongoDB

Cochez MongoDB sur une application et elle reçoit son propre nom de base sur le MongoDB partagé du serveur. Voici exactement ce que ça donne, ce que ça ne couvre pas encore, et quand une instance dédiée a plus de sens.

Ce que vous obtenez

  • MongoDB 7 (mongo:7), partagé sur le serveur : chaque application reçoit son propre nom de base (app_<id>) sur cette instance, exposé comme MONGODB_URL ainsi que les alias MONGODB_URI, MONGO_URL, MONGOLAB_URI et MONGOHQ_URL que certains frameworks attendent.
  • Contrairement à Postgres et MySQL, le module partagé ne crée pas encore de connexion séparée par application; l'isolation se fait par nom de base et par le réseau privé du serveur, pas par des identifiants propres à chaque application.
  • Ne fait pas partie du système de sauvegarde planifiée, qui couvre Postgres, MySQL et ClickHouse. Déplacer une application vers un serveur de base de données copie ses données MongoDB une seule fois, au moment du déplacement.
  • Aucune restauration à un instant précis ni basculement automatique pour le module partagé; ceux-ci couvrent Postgres (restauration à un instant précis) ou Postgres, MySQL et Redis (basculement du serveur de secours).
  • Les applications qui ont besoin d'un vrai jeu de réplicas, pour les change streams, reçoivent leur propre conteneur MongoDB dédié dans le cadre d'une stack plutôt que le module partagé, parce qu'une seule instance partagée ne peut pas offrir ça.

Comment l'ajouter

  1. 1

    Cochez MongoDB à la création de l'application

    Dans Nouvelle application, ou plus tard depuis Modifier → Modules complémentaires, cochez MongoDB et déployez. Railyard injecte MONGODB_URL (et ses alias) avant que le build ne s'exécute.

  2. 2

    Ou ajoutez-le depuis la CLI

    railyard apps create <name> <git-url> --addons mongodb fait la même chose depuis un terminal.

  3. 3

    Y accéder depuis l'extérieur de vos applications

    Trusted addresses, le proxy TCP pour se connecter depuis votre propre machine, couvre aujourd'hui Postgres, MySQL, ClickHouse, Redis et RabbitMQ. MongoDB n'est pas encore sur cette liste, donc interrogez-le depuis une autre application sur le même serveur ou réseau d'équipe, ou par SSH vers le serveur lui-même.

Un exemple en un clic

LibreChat déploie son propre jeu de réplicas MongoDB à un seul nœud à côté de l'application, le modèle que Railyard utilise chaque fois qu'une application a besoin de change streams plutôt que du module partagé. Rocket.Chat fait la même chose pour le clavardage d'équipe.

Déployer LibreChat Forfait gratuit, sans carte.

Ou déployez une instance autonome déploie une instance MongoDB autonome avec un utilisateur root et un mot de passe générés, si c'est tout ce qu'il vous faut.

FAQ

Combien coûte MongoDB sur Railyard?
Il n'y a pas de poste séparé pour le module partagé; il tourne sur le serveur que vous payez déjà. Une stack comme LibreChat, qui inclut son propre MongoDB dédié, tourne aussi sur le même serveur, au même tarif de forfait.
Le module MongoDB est-il sauvegardé?
Le module partagé ne fait pas partie des sauvegardes planifiées de Railyard, celles-ci couvrent Postgres, MySQL et ClickHouse. Une application MongoDB autonome, déployée depuis le catalogue de modèles, est sauvegardée comme le volume de données de n'importe quelle application, selon l'horaire que vous lui donnez.
Comment me connecter de l'extérieur, avec Compass ou mongosh?
Le module partagé est privé au réseau du serveur; Trusted addresses ne couvre pas encore MongoDB. Déployez plutôt une instance MongoDB autonome si vous avez besoin de pointer Compass ou mongosh directement dessus, puisque celle-ci reçoit ses propres identifiants générés pour s'y connecter.
Comment migrer des données MongoDB existantes?
Lancez mongodump contre votre ancienne base, puis mongorestore contre le MONGODB_URL généré une fois le module en place, ou pointez l'application vers une chaîne de connexion externe sous Resources pendant que vous copiez les données.

Tutoriels qui l'utilisent

Documentation générale