Initial commit - Resource Monitor with Ubuntu installer
This commit is contained in:
commit
17c366dcae
16 files changed
+3865
No files matched your search
@@ -0,0 +1,139 @@
|
||||
#!/bin/bash
|
||||
# Deployment Script for Resource Monitor (Linux/Mac)
|
||||
|
||||
echo "🚀 Resource Monitor - Deployment Preparation"
|
||||
echo ""
|
||||
|
||||
# Check if we're in the right directory
|
||||
if [ ! -f "package.json" ]; then
|
||||
echo "❌ Error: package.json not found. Please run this from the project root."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "📦 Step 1: Building React application..."
|
||||
cd client || exit
|
||||
npm run build
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "❌ Build failed!"
|
||||
exit 1
|
||||
fi
|
||||
cd ..
|
||||
echo "✅ Build complete!"
|
||||
echo ""
|
||||
|
||||
echo "📋 Step 2: Creating deployment package..."
|
||||
DEPLOY_DIR="deploy-package"
|
||||
rm -rf "$DEPLOY_DIR"
|
||||
mkdir -p "$DEPLOY_DIR"
|
||||
|
||||
# Copy necessary files
|
||||
cp -r server "$DEPLOY_DIR/"
|
||||
cp -r client/build "$DEPLOY_DIR/client/"
|
||||
cp package.json "$DEPLOY_DIR/"
|
||||
cp .env.example "$DEPLOY_DIR/"
|
||||
cp README.md "$DEPLOY_DIR/"
|
||||
cp .gitignore "$DEPLOY_DIR/"
|
||||
|
||||
# Create data directory
|
||||
mkdir -p "$DEPLOY_DIR/data"
|
||||
|
||||
echo "✅ Package created in 'deploy-package' folder!"
|
||||
echo ""
|
||||
|
||||
echo "📝 Step 3: Creating deployment instructions..."
|
||||
cat > "$DEPLOY_DIR/DEPLOY.md" << 'EOF'
|
||||
# Deployment Instructions
|
||||
|
||||
## Quick Start on Remote Server
|
||||
|
||||
1. Copy the entire 'deploy-package' folder to your remote server
|
||||
2. On the remote server, navigate to the folder
|
||||
3. Run these commands:
|
||||
|
||||
### For Linux/Mac:
|
||||
```bash
|
||||
npm install --production
|
||||
cp .env.example .env
|
||||
nano .env # Edit configuration
|
||||
npm start
|
||||
```
|
||||
|
||||
### For Windows:
|
||||
```powershell
|
||||
npm install --production
|
||||
Copy-Item .env.example .env
|
||||
notepad .env # Edit configuration
|
||||
npm start
|
||||
```
|
||||
|
||||
4. Access the dashboard at http://your-server-ip:3001
|
||||
|
||||
## Keep It Running
|
||||
|
||||
### Using PM2 (Recommended):
|
||||
```bash
|
||||
npm install -g pm2
|
||||
pm2 start server/index.js --name resource-monitor
|
||||
pm2 save
|
||||
pm2 startup
|
||||
```
|
||||
|
||||
### As a systemd service (Linux):
|
||||
```bash
|
||||
sudo nano /etc/systemd/system/resource-monitor.service
|
||||
```
|
||||
|
||||
Add:
|
||||
```ini
|
||||
[Unit]
|
||||
Description=Resource Monitor
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
User=youruser
|
||||
WorkingDirectory=/path/to/deploy-package
|
||||
ExecStart=/usr/bin/node server/index.js
|
||||
Restart=always
|
||||
Environment=NODE_ENV=production
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Then:
|
||||
```bash
|
||||
sudo systemctl enable resource-monitor
|
||||
sudo systemctl start resource-monitor
|
||||
```
|
||||
|
||||
## Firewall
|
||||
Make sure port 3001 is open:
|
||||
```bash
|
||||
sudo ufw allow 3001/tcp
|
||||
```
|
||||
|
||||
## Configuration
|
||||
Edit the .env file to configure:
|
||||
- Email notifications
|
||||
- Webhook notifications
|
||||
- Port number
|
||||
- Check intervals
|
||||
|
||||
Enjoy monitoring your resources! 🎉
|
||||
EOF
|
||||
|
||||
echo "✅ Instructions created!"
|
||||
echo ""
|
||||
|
||||
echo "🎉 Deployment package ready!"
|
||||
echo ""
|
||||
echo "Next steps:"
|
||||
echo "1. Transfer the 'deploy-package' folder to your remote computer"
|
||||
echo "2. Follow instructions in deploy-package/DEPLOY.md"
|
||||
echo ""
|
||||
echo "Transfer methods:"
|
||||
echo "- SCP: scp -r deploy-package user@remote:/path/to/destination"
|
||||
echo "- Rsync: rsync -av deploy-package/ user@remote:/path/to/destination/"
|
||||
echo "- Git: Push to repository and clone on remote"
|
||||
echo ""
|
||||
Reference in new issue
Block a user