A modern, web-based admin dashboard for managing your MantisBase backend. This dashboard provides an intuitive interface for managing entities, admins, settings, and more.
- About
- Getting Started
- Development
- Building for Production
- Integration with MantisBase
- Features
- Links
MantisBase Admin Dashboard is the official administrative interface for MantisBase, a lightweight Backend-as-a-Service (BaaS) written in C++. This dashboard allows you to:
- Manage database entities and their schemas
- Configure access rules and permissions
- Manage admin users
- View application logs
- Configure application settings
- And much more!
Before you begin, ensure you have the following installed:
- Node.js (version 20 or higher)
- npm (comes with Node.js)
- A running MantisBase server instance
-
Clone the repository
git clone https://github.com/allankoechke/mantisbase-admin.git cd mantis-admin -
Install dependencies
npm install
-
Start the development server
npm run dev
-
Open your browser Navigate to
http://localhost:3000(or the port shown in your terminal)
-
If this is your first time setting up MantisBase, you'll need to create an admin account:
- Navigate to
/mb/setup?token=YOUR_SETUP_TOKEN - Enter your email and password
- You'll be redirected to the login page
- Navigate to
-
Log in with your admin credentials at
/mb/login
npm run dev- Start the development server with hot-reloadnpm run build- Build the application for productionnpm run lint- Run ESLint to check code qualitynpm start- Start the production server (requires build first)
In development mode, the dashboard will:
- Connect to
http://localhost:7070by default (or the port specified inMANTIS_PORTenvironment variable) - Enable hot module replacement for faster development
- Show detailed error messages
You can customize the development setup using environment variables:
MANTIS_PORT- Port for the MantisBase API (default: 7070)NEXT_PUBLIC_BASE_PATH- Base path for the app (default:/mbin production, empty in dev). Set to empty string for no prefix; overrides at both build and runtime.NEXT_PUBLIC_MANTIS_BASE_URL- Backend API base URL. When set (e.g.https://api.example.com), all API and login requests use this URL instead of same-origin or localhost. Omit trailing slash.NEXT_PUBLIC_MB_IS_DEMO_MODE- Set totrueor1to enable demo mode: prefills login with test credentials and shows a banner that data is cleared every 30 minutes
To build the dashboard for production:
npm run buildThe built static files will be in the out/ directory. These files can be served by any static file server.
The dashboard is configured for static export, making it easy to deploy to:
- GitHub Pages
- Netlify
- Vercel
- Any static hosting service
This repository includes a special branch called mb-admins that is automatically integrated with the main MantisBase project via CMake.
Important Notes:
- The
mb-adminsbranch contains the built static files of the admin dashboard - This branch is automatically updated on every release
- The MantisBase CMake build system uses this branch to include the admin interface
- When you build MantisBase, it automatically fetches the latest admin dashboard from this branch
-
When a new version is released (tagged with
v*), a GitHub Action automatically:- Builds the admin dashboard
- Updates the
mb-adminsbranch with the latest static files - Creates a GitHub release with downloadable assets
-
The MantisBase CMake configuration:
- Clones or updates the
mb-adminsbranch during build - Includes the admin dashboard files in the MantisBase build
- Serves the admin interface at
/mb/*when MantisBase is running
- Clones or updates the
This integration ensures that MantisBase always includes the latest stable version of the admin dashboard without requiring manual updates.
- Create, read, update, and delete database entities
- Configure entity schemas with custom fields
- Set up access rules (list, get, add, update, delete)
- View and manage entity records
- Create and manage admin user accounts
- Change admin passwords
- View admin activity
- Configure application settings
- Manage file upload limits
- Configure session timeouts
- Enable/disable features
- View application logs
- Filter and search logs
- Monitor system activity
- Dark/light theme support
- Responsive design
- Intuitive navigation
- Real-time updates
- Main MantisBase Project: https://github.com/allankoechke/mantisbase
- Documentation: https://docs.mantisbase.com
- This Repository: https://github.com/allankoechke/mantisbase-admin
Note: This project is still in active development. Some features may be incomplete or subject to change.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is part of the MantisBase ecosystem. Please refer to the main MantisBase repository for license information.
