MongoStuff is a modern, full-stack MongoDB management and backup solution built with Go and React. It provides a user-friendly web interface for managing MongoDB connections, creating database snapshots, and performing restore operations.
Disclaimer: MongoStuff is an independent project and is not affiliated with, endorsed by, or in any way officially connected to MongoDB, Inc. or its subsidiaries. MongoDB® is a registered trademark of MongoDB, Inc.
- 🔐 Secure user authentication system
- 🔄 MongoDB cluster connection management
- 📸 Database snapshot creation and management
- ⚡ Fast database restore capabilities
- 🏷️ Snapshot tagging system
- 🖥️ Modern React+TypeScript frontend
- 🚀 High-performance Go backend using Fiber framework
- Go 1.21 or higher
- Node.js 18+ and pnpm
- MongoDB 6.0+
- Docker (optional, for containerized deployment)
- Clone the repository:
git clone https://github.com/akbar-mirza/mongostuff.git
cd mongostuff- Install backend dependencies:
go mod download- Install frontend dependencies:
cd web
pnpm install
cd ..- Create a
.envfile in the root directory:
PORT=3000
MONGO_URI=mongodb://localhost:27017
MONGO_DATABASE=mongostuff
JWT_SECRET=your_jwt_secret
IS_DOCKER=false- Build the frontend:
cd web
pnpm build
cd ..- Run the application:
go run main.goThe application will be available at http://localhost:3000
- Build the Docker image:
docker build -t mongostuff .- Run the container:
docker run -d \
-p 3000:3000 \
-e MONGO_URI=mongodb://your-mongodb-uri \
-e MONGO_DATABASE=mongostuff \
-e JWT_SECRET=your_jwt_secret \
-e IS_DOCKER=true \
-v mongostuff_data:/_stuffs \
--name mongostuff \
mongostuffPORT: Server port (default: 3000)MONGO_URI: MongoDB connection stringMONGO_DATABASE: MongoDB database nameJWT_SECRET: Secret key for JWT token generationIS_DOCKER: Set to "true" when running in Docker
- Start the backend:
go run main.go- Start the frontend development server:
cd web
pnpm devThe frontend will be available at http://localhost:27019 with hot reload enabled.
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.