6.2 KiB
6.2 KiB
🚀 START HERE - LuckyChit Deployment
📁 What Files Were Created?
I've created deployment documentation for your LuckyChit app:
| File | Purpose | When to Use |
|---|---|---|
| PROXMOX_DEPLOYMENT_GUIDE.md | Complete detailed guide | First time deployment |
| QUICK_DEPLOY.md | Quick command reference | Quick reference / updates |
| deploy.sh | Automated setup script | Fastest automated setup |
| DEPLOYMENT_README.md | Overview & comparison | Understanding options |
| START_HERE.md | This file - Quick start | Right now! |
🎯 Choose Your Path
🤖 Option 1: Automated (Recommended for Beginners)
Time: ~15 minutes
- Create Ubuntu 22.04 LXC container in Proxmox
- Upload
deploy.shto the container - Run:
sudo bash deploy.sh - Upload your code and follow on-screen instructions
📖 Option 2: Manual Step-by-Step
Time: ~30-45 minutes
Follow PROXMOX_DEPLOYMENT_GUIDE.md for complete instructions
⚡ Option 3: Quick Commands (For Experts)
Time: ~20 minutes
Use QUICK_DEPLOY.md for copy-paste commands
🏃 Fastest Way to Deploy (5 Steps)
Step 1: Create LXC Container on Proxmox
# On Proxmox host
pct create 100 local:vztmpl/ubuntu-22.04-standard_22.04-1_amd64.tar.zst \
--hostname luckychit \
--memory 2048 \
--cores 2 \
--net0 name=eth0,bridge=vmbr0,ip=dhcp \
--rootfs local-lvm:8
pct start 100
pct enter 100
Step 2: Upload & Run Deploy Script
# Upload deploy.sh to container, then:
chmod +x deploy.sh
./deploy.sh
# Follow the prompts:
# - Enter database password
# - Enter JWT secret (random 32+ characters)
# - Enter domain name (optional)
# - Enter server IP
Step 3: Upload Your Code
# From your Windows machine:
scp -r C:\Users\sunde\workspace\chitfund luckychit@<container-ip>:/home/luckychit/apps/
# Or using Git inside container:
cd /home/luckychit/apps
git clone <your-repo-url> chitfund
Step 4: Deploy Backend
cd /home/luckychit/apps/chitfund/backend
npm install --production
node create-db.js
pm2 start src/server.js --name luckychit-api
pm2 startup systemd -u luckychit --hp /home/luckychit
pm2 save
Step 5: Deploy Frontend
cd /home/luckychit/apps/chitfund/luckychit
# Update API endpoint first!
# Edit the file that contains your API URL
# Change it to: http://<your-server-ip>:3000 or https://api.yourdomain.com
flutter pub get
flutter build web --release
sudo cp -r build/web/* /var/www/luckychit/
✅ Test Your Deployment
# Check if everything is running
pm2 status
sudo systemctl status nginx
curl http://localhost:3000/health
# Access from browser:
# Frontend: http://<your-server-ip>
# API Health: http://<your-server-ip>/health
📋 What You Need Before Starting
Information
- Your Proxmox host IP/access
- Server IP address for the LXC container
- Domain name (optional, for SSL)
- Strong password for database (16+ characters)
- Random JWT secret (32+ characters)
Tools (Optional - for uploading files)
- WinSCP or FileZilla (for file transfers)
- PuTTY or Windows Terminal (for SSH)
Generate Secure Secrets
# On Windows PowerShell, generate random secrets:
# Database Password (16 characters)
-join ((48..57) + (65..90) + (97..122) | Get-Random -Count 16 | % {[char]$_})
# JWT Secret (32 characters)
-join ((48..57) + (65..90) + (97..122) | Get-Random -Count 32 | % {[char]$_})
🎓 Learning Path
Complete Beginner?
- Read DEPLOYMENT_README.md first (understand options)
- Follow PROXMOX_DEPLOYMENT_GUIDE.md step-by-step
- Keep QUICK_DEPLOY.md for future reference
Some Experience?
- Skim DEPLOYMENT_README.md
- Use deploy.sh for automated setup
- Reference QUICK_DEPLOY.md when needed
Expert User?
- Use QUICK_DEPLOY.md directly
- Reference PROXMOX_DEPLOYMENT_GUIDE.md for specifics
🆘 Something Wrong?
Deploy Script Fails
- Check internet connection
- Make sure you're running as root:
sudo bash deploy.sh - Check logs for specific errors
Can't Access Application
- Check firewall:
sudo ufw status - Check services:
pm2 statusandsudo systemctl status nginx - Check ports:
sudo netstat -tulpn | grep -E '(80|3000)'
Database Issues
- Verify PostgreSQL is running:
sudo systemctl status postgresql - Test connection:
psql -U luckychit -d luckychit -h localhost - Check credentials in
.envfile
More Help Needed?
- See Troubleshooting section in PROXMOX_DEPLOYMENT_GUIDE.md
- Check logs:
pm2 logs,sudo tail -f /var/log/nginx/error.log
🔒 Security Checklist
After deployment, verify:
- Firewall is enabled and configured
- Strong database password set
- Unique JWT secret configured
.envfile has correct permissions (600)- SSL/HTTPS enabled (for production)
- Regular backups scheduled
- All default passwords changed
📞 Quick Reference
| Task | Command |
|---|---|
| Check status | pm2 status |
| View logs | pm2 logs |
| Restart app | pm2 restart luckychit-api |
| Update code | git pull && npm install && pm2 reload luckychit-api |
| Backup DB | /home/luckychit/backup-db.sh |
| Check nginx | sudo systemctl status nginx |
🎉 Ready to Deploy?
- Pick your deployment method above
- Gather required information
- Follow the steps
- Test your application
- Setup SSL (recommended for production)
Estimated Time: 15-45 minutes depending on method
Good luck! Your LuckyChit app will be live soon! 🚀
📚 Documentation Structure
START_HERE.md (You are here!)
├── Quick overview and decision guide
├──
DEPLOYMENT_README.md
│ ├── Compare deployment methods
│ ├── Post-deployment tasks
│ └── Troubleshooting overview
│
PROXMOX_DEPLOYMENT_GUIDE.md
│ ├── Complete step-by-step guide
│ ├── Detailed explanations
│ ├── Troubleshooting details
│ └── Maintenance procedures
│
QUICK_DEPLOY.md
│ ├── Quick command reference
│ ├── Common operations
│ └── Useful paths
│
deploy.sh
└── Automated deployment script
Tip: Bookmark this structure for future reference!