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.
- 🔧 Easy configuration setup
- 📦 Automated deployment process
- 🔄 PM2 process management
- 🌐 Nginx configuration for domains
- 🔒 SSL certificate automation
- 📊 Real-time log viewing
- 🔐 Secure SSH key authentication
npm install -g @weirdscience/quicklaunch
- 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)
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 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)
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
Monitor your application logs in real-time:
quicklaunch logs
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"
}
- Clone the repository
- Install dependencies:
npm install
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
- Uses SSH key authentication
- Supports password-protected SSH keys
- Secure file transfers
- Environment variable support for sensitive data
Contributions are welcome! Please feel free to submit a Pull Request.
MIT
Mike Romain