Skip to main content

MongoDB

MongoDB is a popular NoSQL database that is available on Nixpkgs. You can configure MongoDB for your Devbox project by using our official MongoDB Plugin.

Adding MongoDB to your Shell

You can start by adding the mongodb server to your project by running devbox add mongodb. We also recommend adding the MongoDB shell for interacting with your database using devbox add mongosh:

    "packages": [
"mongodb@latest",
"mongosh@latest",
]

You can add the MongoDB Plugin to your devbox.json by adding it to your include list:

    "include": [
"github:jetify-com/devbox-plugins?dir=mongodb"
]

Adding these packages and the plugin will configure Devbox for working with MongoDB.

Starting the MongoDB Service

The MongoDB plugin will automatically create a service for you that can be run with devbox services up. The process-compose.yaml for this default service is shown below:

processes:
mongodb:
command: "mongod --config=$MONGODB_CONFIG --dbpath=$MONGODB_DATA --bind_ip_all"
availability:
restart: on_failure
max_restarts: 5

You can configure this service by modifying the environment variable shown below.

If you want to create your own version of the mongodb service, you can create a process-compose.yaml in your project's root, and define a new process named mongodb. For more details, see the process-compose documentation

Environment Variables

The MongoDB plugin will configure the following environment variables

MONGODB_CONFIG = ./devbox.d/mongodb/mongod.conf
# Tells Devbox where to look for your mongod.conf file
MONGODB_DATA = ./devbox/virtenv/mongodb/data
# Tells Devbox where MongoDB's data directory should be located

You can override the default values of these variables using the env section of your devbox.json file.

Files

The plugin will also create a default [mongod.conf] file in your devbox.d directory, if one doesn't already exist there. This default file mostly serves as a placeholder, and you can modify it as needed.

For a full list of configuration options, see the MongoDB documentation