feat(prod): remove hardcoded credentials, clean environment config, and prepare for production deployment
This commit is contained in:
1 parent
f0876face0
commit
d7fa520030
98 files changed
+4317
-794
No files matched your search
@@ -33,11 +33,14 @@ const LOCAL_ROOT = path.resolve(__dirname, '..');
|
||||
// Files/dirs to upload (relative to LOCAL_ROOT)
|
||||
// These are the minimum required for production deployment
|
||||
const UPLOAD_MANIFEST = [
|
||||
// Next.js standalone build output
|
||||
{ local: '.next/standalone', remote: '.next/standalone', type: 'dir' },
|
||||
// Next.js standalone server build output (entire .next folder with manifests and server files)
|
||||
{ local: '.next/standalone/.next', remote: '.next/standalone/.next', type: 'dir' },
|
||||
|
||||
// Next.js static assets and chunks (CRITICAL to prevent 404 chunk errors)
|
||||
{ local: '.next/static', remote: '.next/static', type: 'dir' },
|
||||
|
||||
// Public assets (images, icons)
|
||||
{ local: 'public', remote: 'public', type: 'dir' },
|
||||
{ local: 'public/api/uploads', remote: 'api/uploads', type: 'dir' },
|
||||
|
||||
// Backend API server
|
||||
{ local: 'backend/server.js', remote: 'backend/server.js', type: 'file' },
|
||||
|
||||
@@ -4,7 +4,7 @@ const { MongoClient } = require('mongodb');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const REMOTE_URI = 'mongodb://backone_user:SusuKudaLiar@103.80.237.29:27017/backone_dpi?authSource=backone_dpi';
|
||||
const REMOTE_URI = process.env.MONGODB_URI || 'mongodb://127.0.0.1:27017/backone_dpi';
|
||||
const DB_NAME = 'backone_dpi';
|
||||
const DATA_DIR = __dirname;
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ const { MongoClient } = require('mongodb');
|
||||
const path = require('path');
|
||||
|
||||
const LOCAL_URI = 'mongodb://127.0.0.1:27017';
|
||||
const REMOTE_URI = 'mongodb://backone_user:SusuKudaLiar@mongodb.prod.proit.id:27017/backone_dpi?authSource=backone_dpi';
|
||||
const REMOTE_URI = process.env.MONGODB_URI || 'mongodb://127.0.0.1:27017/backone_dpi';
|
||||
const DB_NAME = 'backone_dpi';
|
||||
|
||||
async function migrate() {
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
// scripts/prune-production-cumulative.js
|
||||
const mongoose = require('mongoose');
|
||||
|
||||
const MONGODB_URI = process.env.MONGODB_URI || "mongodb://127.0.0.1:27017/backone_dpi";
|
||||
|
||||
async function run() {
|
||||
console.log('Connecting to Production MongoDB...');
|
||||
await mongoose.connect(MONGODB_URI);
|
||||
console.log('Connected.');
|
||||
|
||||
const db = mongoose.connection.db;
|
||||
|
||||
// We want to delete summaries and telemetry documents created before today at 18:40 WIB (11:40 UTC)
|
||||
const cutOffDate = new Date('2026-07-23T11:40:00.000Z');
|
||||
console.log('Pruning data before:', cutOffDate);
|
||||
|
||||
const collections = ['summaries', 'appstats', 'protocolstats', 'devicestats'];
|
||||
|
||||
for (const collName of collections) {
|
||||
const countBefore = await db.collection(collName).countDocuments({});
|
||||
console.log(`[${collName}] Count before prune:`, countBefore);
|
||||
|
||||
const deleteRes = await db.collection(collName).deleteMany({
|
||||
timestamp: { $lt: cutOffDate }
|
||||
});
|
||||
console.log(`[${collName}] Deleted:`, deleteRes.deletedCount);
|
||||
|
||||
const countAfter = await db.collection(collName).countDocuments({});
|
||||
console.log(`[${collName}] Count after prune:`, countAfter);
|
||||
}
|
||||
|
||||
await mongoose.disconnect();
|
||||
console.log('✓ Pruning complete!');
|
||||
}
|
||||
|
||||
run().catch(console.error);
|
||||
@@ -12,10 +12,10 @@ const https = require('https');
|
||||
const http = require('http');
|
||||
|
||||
const CONFIG = {
|
||||
host: '103.185.47.52',
|
||||
port: 2222,
|
||||
username: 'adminbackend',
|
||||
password: 'htEo7x6LsBQiEHHH',
|
||||
host: process.env.SSH_HOST || '127.0.0.1',
|
||||
port: parseInt(process.env.SSH_PORT || '2222'),
|
||||
username: process.env.SSH_USER || 'adminbackend',
|
||||
password: process.env.SSH_PASSWORD || '',
|
||||
};
|
||||
|
||||
const ROOT = '/home/adminbackend/web/demoplace.my.id/public_html';
|
||||
|
||||
Reference in new issue
Block a user