
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
fireenginecms
Advanced tools
Self-hosted Firebase CMS with automatic schema detection and admin UI generation
Self-hosted Firebase CMS with automatic schema detection and admin UI generation. Deploy your own professional admin interface in minutes, not months.
# Using npm
npm install fireenginecms
# Using yarn
yarn add fireenginecms
Prerequisites:
ownerEmailconst express = require('express');
const fireengine = require('fireenginecms');
const app = express();
app.use('/admin', fireengine({
adminCredentials: './firebase-admin-key.json',
webappConfig: './firebase-config.json',
ownerEmail: 'admin@yourdomain.com'
}));
app.listen(3000);
FireEngine can be configured either through code (in your application) or environment variables - choose what suits your development workflow. When using environment variables exclusively, the config object becomes optional. All FireEngine runtime environment variables use the FIREENGINE_ prefix:
FIREENGINE_FIREBASE_PROJECT_ID=your-project-id
FIREENGINE_FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----..."
FIREENGINE_FIREBASE_CLIENT_EMAIL=firebase-adminsdk-abc123@project.iam.gserviceaccount.com
FIREENGINE_OWNER_EMAIL=admin@yourdomain.com
For complete documentation including deployment guides, authentication setup, and advanced configuration, visit fireengine.dev/docs.
| Option | Type | Default | Description |
|---|---|---|---|
adminCredentials | Object|String | - | Firebase Admin SDK credentials (object or file path) |
webappConfig | Object|String | - | Firebase web app configuration (object or file path) |
ownerEmail | String | - | Email of the admin owner |
schemaOverrides | Object | {} | Custom schema definitions |
customFields | Object | {} | Custom field type definitions |
googleMapsApiKey | String | - | API key for Google Maps integration |
googleMapsOptions | Object | {} | Google Maps configuration options |
ignoreCollections | Array | [] | Collections to ignore during auto-detection |
useFirestoreAccessRules | Boolean | false | Use Firebase security rules vs API endpoints |
firestoreDatabase | String | - | Firestore database ID (for multi-database projects) |
storageMaxUploadSize | String|Number | - | Maximum file upload size (e.g., "100MB", "5GB") |
FireEngine automatically detects your Firestore collections and generates admin interfaces. You can customize these schemas:
app.use('/', fireengine({
// ... other config
schemaOverrides: {
"users": {
title: "User Management",
titleTemplate: "${displayName} (${email})",
fields: [
{ name: "email", type: "string", required: true },
{ name: "displayName", type: "string", required: true },
{ name: "role", type: "string", options: ["admin", "user", "moderator"] }
]
}
}
}));
FireEngine can be deployed anywhere Node.js runs:
Express Server:
const express = require('express');
const fireengine = require('fireenginecms');
const app = express();
app.use('/', fireengine(config));
app.listen(3000);
Using Environment Variables Only:
const express = require('express');
const fireengine = require('fireenginecms');
const app = express();
app.use('/', fireengine()); // Config object is optional when using env vars
app.listen(3000);
Firebase Functions:
const functions = require('firebase-functions');
const fireengine = require('fireenginecms');
exports.admin = functions.https.onRequest(
fireengine(config)
);
Configure and deploy.
MIT License - see LICENSE file for details.
FAQs
Self-hosted Firebase CMS with automatic schema detection and admin UI generation
The npm package fireenginecms receives a total of 1 weekly downloads. As such, fireenginecms popularity was classified as not popular.
We found that fireenginecms demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.