@weirdscience/quicklaunch
v0.2.5
Published
A streamlined CLI tool for deploying Node.js applications to remote servers with automated SSH, PM2, Nginx, and SSL configuration.
Downloads
382
Maintainers
Readme
QuickLaunch 🚀
QuickLaunch is a streamlined CLI tool for deploying Node.js applications to remote servers. It simplifies the deployment process by handling SSH connections, file transfers, dependency management, and server configuration.
Features
- 🔧 Easy configuration setup
- 📦 Automated deployment process
- 🔄 PM2 process management
- 🌐 Nginx configuration for domains
- 🔒 SSL certificate automation
- 📊 Real-time log viewing
- 🔐 Secure SSH key authentication
Installation
npm install -g @weirdscience/quicklaunch
Prerequisites
- Node.js (v18 or higher)
- SSH key pair configured on your local machine
- PM2 installed on the remote server
- Nginx installed on the remote server (if using domain configuration)
Usage
Initialize Configuration
Set up your deployment configuration:
quicklaunch init
This will guide you through setting up:
- Server host/IP
- SSH username
- Deployment directory
- Domain name (optional)
- Application port
- App name
Deploy Your Application
Deploy your Node.js application:
quicklaunch deploy
This command:
- Connects to your server via SSH
- Creates the deployment directory
- Uploads your project files
- Installs dependencies
- Starts your application with PM2
- Configures Nginx (if domain is specified)
Set Up SSL Certificate
Secure your domain with a free Let's Encrypt SSL certificate:
quicklaunch ssl
This command:
- Installs Certbot if not present
- Generates SSL certificates for your domain
- Configures Nginx with SSL settings
- Sets up automatic HTTPS redirection
View Application Logs
Monitor your application logs in real-time:
quicklaunch logs
Configuration
QuickLaunch stores its configuration in .deployrc.json
in your project root. Example configuration:
{
"host": "your-server.com",
"user": "root",
"path": "/var/www/app",
"domain": "yourdomain.com",
"port": 3000,
"appName": "myapp"
}
Development
Setup
- Clone the repository
- Install dependencies:
npm install
Available Scripts
npm start
- Run the CLI locallynpm run dev
- Run with watch modenpm run build
- Build for productionnpm run format
- Format code with Biomenpm run lint
- Lint codenpm run check
- Run Biome checks
Security
- Uses SSH key authentication
- Supports password-protected SSH keys
- Secure file transfers
- Environment variable support for sensitive data
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT
Author
Mike Romain