Skip to content

MongoDB Plugin

Overview

The MongoDB plugin manages MongoDB databases and users, with import/export and backup support.

Plugin ID: mongodb

Enable

POST /api/plugins/mongodb/enable

Service Control

GET /api/mongodb/status
POST /api/mongodb/start
POST /api/mongodb/stop
POST /api/mongodb/restart

Backups

GET /api/mongodb/backups
POST /api/mongodb/backup
POST /api/mongodb/restore
{ "name": "backup-2024-01-15.gz" }
DELETE /api/mongodb/backups/:name

Global Users

GET /api/mongodb/users
POST /api/mongodb/users
{
  "username": "admin_user",
  "password": "secret",
  "roles": ["readWriteAnyDatabase"]
}
DELETE /api/mongodb/users/:username

Per-Website Databases

# List by website
GET /api/webapps/:id/databases/mongo

# List by username
GET /api/databases/mongo?username=example

# Check name availability
GET /api/databases/mongo/check-name?name=example_app

# Create
POST /api/databases/mongo
{
  "username": "example",
  "db_name": "example_app"
}

# Delete
DELETE /api/databases/mongo/:id

# Import (mongodump format)
POST /api/databases/mongo/:id/import
Content-Type: multipart/form-data

# Export
POST /api/databases/mongo/:id/export
GET /api/databases/mongo/:id/download

# Create DB user
POST /api/databases/mongo/:id/users
{
  "username": "app_user",
  "password": "secret",
  "role": "readWrite"
}

DELETE /api/databases/mongo/:id/users/:username
POST /api/databases/mongo/:id/users/:username/reset-password

Unassociated Databases (Admin)

GET /api/databases/mongo/admin/unassociated
POST /api/databases/mongo/admin/associate
{ "db_name": "orphan_db", "website_id": 42 }