Request for SPanel Dashboard Enhancements for Node.js Applications:
To optimize the deployment and management of my Node.js applications (like my MERN stack) on my SPanel VPS, I would like to request the addition or activation of the following features within the SPanel dashboard, particularly in the "Setup Node.js App" section or a similar application management area:
Dedicated "Environment Variables" Section:
- Description: A clear interface to add, edit, and delete key-value pair environment variables that are automatically loaded when the Node.js application starts. This is crucial for managing database credentials, API keys,
NODE_ENV,PORT,DB_HOST,DB_USER,DB_PASSWORD,DB_NAME,DB_PORT,DB_DIALECT, and other sensitive or configuration-specific variables. - Benefit: Eliminates the need for
.envfiles in production and simplifies secure configuration management directly within the UI.
- Description: A clear interface to add, edit, and delete key-value pair environment variables that are automatically loaded when the Node.js application starts. This is crucial for managing database credentials, API keys,
"Install Dependencies" / "Run NPM Install" Button:
- Description: A one-click button or option to execute
npm install(oryarn installifyarn.lockis detected) within the application's root directory on the server. - Benefit: Streamlines dependency installation after code uploads or updates, ensuring all required Node.js modules are in place without manual SSH commands.
- Description: A one-click button or option to execute
Integrated "Application Logs" Viewer:
- Description: A real-time or easily accessible log viewer within the dashboard for the Node.js application's
stdout(standard output) andstderr(standard error). - Benefit: Essential for debugging, monitoring application health, and quickly identifying issues without needing to connect via SSH and manually check log files.
- Description: A real-time or easily accessible log viewer within the dashboard for the Node.js application's
Git Integration for Deployment:
- Description: The ability to link a Git repository (e.g., GitHub, GitLab, Bitbucket) to the Node.js application. This would allow deploying new versions by simply pulling the latest commit from the connected repository with a click of a button (e.g., "Deploy from Git").
- Benefit: Automates code updates, simplifies version control, and is a standard feature in modern deployment platforms.
Custom Build Command Execution (for Frontends/Bundling):
- Description: An option to define and execute custom shell commands as part of the deployment process (e.g.,
npm run buildfor a React frontend, orwebpackcommands). This would be for instances where the frontend is built on the server. - Benefit: Enables automated server-side building of assets, useful for more complex deployments where pre-built assets aren't uploaded directly.
- Description: An option to define and execute custom shell commands as part of the deployment process (e.g.,
Database Migrations Management (Advanced - if applicable):
- Description: An interface or command line option within the SPanel UI to run Sequelize CLI migrations (e.g.,
npx sequelize-cli db:migrate). - Benefit: Provides a safe and structured way to update your database schema in production, moving away from
sequelize.sync({ alter: true })for live data. This is more of an advanced feature but crucial for robust production environments.
- Description: An interface or command line option within the SPanel UI to run Sequelize CLI migrations (e.g.,
By having these capabilities directly within your SPanel dashboard, you would gain a much more efficient, controlled, and visual workflow for deploying and managing your MERN stack application on your VPS.
Thank you for considering these improvements.
Comments (1)
Hello!
Thanks for all the suggestions!
You may now see the standard output log and the error log of your NodeJS application via the Actions -> View Logs functionality which was released with the last SPanel update some days ago.
What do you think about a new option under the Actions button in the SPanel interface called Console which will allow you to run any command you want such as npm install/update or sequelize-cli db:migrate and then receive the output of the command right in the SPanel graphic interface without the need to open an SSH console?
Replies have been locked on this page!