2.6 KiB
2.6 KiB
Quick Deployment Reference - auth.livingai.app
TL;DR - Quick Steps
1. Lightsail Setup
- Create Ubuntu 22.04 instance
- Attach static IP
- Open ports: 80, 443, 22
2. DNS Configuration
- Point
auth.livingai.appA record to Lightsail static IP
3. Server Setup (SSH into server)
# Run setup script
cd ~ && wget https://your-repo/setup-server.sh
bash setup-server.sh
# OR manually:
sudo apt update && sudo apt upgrade -y
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs nginx git certbot python3-certbot-nginx
sudo npm install -g pm2
4. Deploy Application
cd ~/apps
git clone <your-repo-url> farm-auth-service
cd farm-auth-service
npm install --production
cp example.env .env
nano .env # Configure environment variables
5. Configure Nginx
sudo nano /etc/nginx/sites-available/auth.livingai.app
# Add configuration (see DEPLOYMENT_GUIDE.md)
sudo ln -s /etc/nginx/sites-available/auth.livingai.app /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
6. SSL Certificate
sudo certbot --nginx -d auth.livingai.app
7. Start Application
cd ~/apps/farm-auth-service
pm2 start ecosystem.config.js
pm2 save
pm2 startup # Follow instructions
8. Configure Firewall
sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable
Critical Configuration (.env)
Required Settings:
NODE_ENV=production
PORT=3000
TRUST_PROXY=true
DATABASE_MODE=aws
AWS_REGION=ap-south-1
AWS_ACCESS_KEY_ID=your_key
AWS_SECRET_ACCESS_KEY=your_secret
JWT_ACCESS_SECRET=generate_strong_secret_min_32_chars
JWT_REFRESH_SECRET=generate_strong_secret_min_32_chars
CORS_ALLOWED_ORIGINS=https://your-app-domain.com,https://app.livingai.app
Generate JWT Secrets:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
Useful Commands
# View logs
pm2 logs auth-service
# Restart
pm2 restart auth-service
# Status
pm2 status
# Nginx logs
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log
# Test API
curl https://auth.livingai.app/health
Troubleshooting
502 Bad Gateway?
- Check PM2:
pm2 status - Check logs:
pm2 logs auth-service - Check Nginx:
sudo nginx -t
Can't connect to database?
- Verify AWS credentials in .env
- Check SSM Parameter Store access
- Test connection:
node -e "require('./src/db')"
SSL issues?
- Verify DNS:
nslookup auth.livingai.app - Renew cert:
sudo certbot renew
For detailed instructions, see DEPLOYMENT_GUIDE.md