Initial commit - Church Music Database
This commit is contained in:
163
new-site/STARTUP_CHECKLIST.md
Normal file
163
new-site/STARTUP_CHECKLIST.md
Normal file
@@ -0,0 +1,163 @@
|
||||
# Startup Checklist - House of Prayer Music Database
|
||||
|
||||
## Quick Health Check
|
||||
|
||||
Run this command to verify all services:
|
||||
|
||||
```bash
|
||||
./scripts/health-check.sh
|
||||
```
|
||||
|
||||
## Manual Service Verification
|
||||
|
||||
### 1. Frontend (Vite Dev Server)
|
||||
|
||||
- **Port**: 5100
|
||||
- **Check**: `lsof -i:5100 -sTCP:LISTEN`
|
||||
- **Start**: `cd frontend && npm run dev &`
|
||||
- **Log**: Check output or `/tmp/frontend.log`
|
||||
|
||||
### 2. Backend (Node/Express API)
|
||||
|
||||
- **Port**: 8080
|
||||
- **Check**: `lsof -i:8080 -sTCP:LISTEN`
|
||||
- **Test**: `curl http://localhost:8080/api/songs`
|
||||
- **Start**: `cd backend && node server.js &`
|
||||
|
||||
### 3. Nginx (Reverse Proxy + HTTPS)
|
||||
|
||||
- **Port**: 443 (HTTPS), 80 (HTTP redirect)
|
||||
- **Check**: `sudo lsof -i:443 -sTCP:LISTEN`
|
||||
- **Status**: `systemctl status nginx`
|
||||
- **Restart**: `sudo systemctl restart nginx`
|
||||
|
||||
### 4. PostgreSQL Database
|
||||
|
||||
- **Port**: 5432
|
||||
- **Check**: `sudo systemctl status postgresql`
|
||||
- **Test**: `psql -U church_admin -d church_songlyric -c "SELECT COUNT(*) FROM songs;"`
|
||||
|
||||
## Common Issues & Solutions
|
||||
|
||||
### Issue: "Blocked request. This host is not allowed"
|
||||
|
||||
**Root Cause**: Vite's `allowedHosts` configuration not loaded or outdated frontend process
|
||||
|
||||
**Solution**:
|
||||
|
||||
1. Check `frontend/vite.config.js` has correct `allowedHosts` array
|
||||
2. Kill old Vite process: `kill $(lsof -ti:5100)`
|
||||
3. Restart frontend: `cd frontend && npm run dev &`
|
||||
4. Test: `curl -H "Host: houseofprayer.ddns.net" http://localhost:5100/`
|
||||
|
||||
**Prevention**: Always restart frontend after config changes
|
||||
|
||||
### Issue: Frontend not accessible externally
|
||||
|
||||
**Checklist**:
|
||||
|
||||
- [ ] DNS resolves: `nslookup houseofprayer.ddns.net` → 170.254.17.146
|
||||
- [ ] Firewall allows 443: `sudo ufw status | grep 443`
|
||||
- [ ] Nginx running: `systemctl is-active nginx`
|
||||
- [ ] SSL cert valid: `sudo certbot certificates`
|
||||
- [ ] Frontend responds locally: `curl http://localhost:5100`
|
||||
|
||||
### Issue: Backend API 404 errors
|
||||
|
||||
**Checklist**:
|
||||
|
||||
- [ ] Backend process running: `ps aux | grep 'node server.js'`
|
||||
- [ ] Port 8080 listening: `lsof -i:8080`
|
||||
- [ ] Database connected: Check backend logs
|
||||
- [ ] CORS configured for domain: See `server.js` allowedOrigins
|
||||
|
||||
## Configuration Files to Monitor
|
||||
|
||||
1. **frontend/vite.config.js** - Frontend dev server settings
|
||||
- `allowedHosts` must include domain and wildcards
|
||||
- `host: true` enables network access
|
||||
- Restart required after changes
|
||||
|
||||
2. **backend/server.js** - Backend API configuration
|
||||
- `allowedOrigins` in CORS middleware
|
||||
- Database connection settings
|
||||
- Port 8080
|
||||
|
||||
3. **nginx-ssl.conf** - Reverse proxy and SSL
|
||||
- Proxies `/` to frontend (5100)
|
||||
- Proxies `/api` to backend (8080)
|
||||
- SSL certificates location
|
||||
|
||||
4. **backend/.env** - Environment variables (if exists)
|
||||
- Database credentials
|
||||
- JWT secrets
|
||||
- Port settings
|
||||
|
||||
## Testing External Access
|
||||
|
||||
```bash
|
||||
# From server (localhost)
|
||||
curl -H "Host: houseofprayer.ddns.net" http://localhost:5100/
|
||||
|
||||
# From any device on network
|
||||
curl http://192.168.10.130:5100/
|
||||
|
||||
# From internet (public)
|
||||
curl https://houseofprayer.ddns.net
|
||||
```
|
||||
|
||||
## Logs Location
|
||||
|
||||
- **Frontend**: Terminal output or `/tmp/frontend.log`
|
||||
- **Backend**: Terminal output or `backend/logs/`
|
||||
- **Nginx Access**: `/var/log/nginx/church-music-access.log`
|
||||
- **Nginx Error**: `/var/log/nginx/church-music-error.log`
|
||||
- **PostgreSQL**: `/var/log/postgresql/`
|
||||
|
||||
## Emergency Recovery
|
||||
|
||||
If site is completely down:
|
||||
|
||||
```bash
|
||||
# Kill all processes
|
||||
killall node
|
||||
kill $(lsof -ti:5100)
|
||||
kill $(lsof -ti:8080)
|
||||
|
||||
# Restart PostgreSQL
|
||||
sudo systemctl restart postgresql
|
||||
|
||||
# Restart Nginx
|
||||
sudo systemctl restart nginx
|
||||
|
||||
# Start backend
|
||||
cd /media/pts/Website/Church_HOP_MusicData/new-site/backend
|
||||
node server.js > /tmp/backend.log 2>&1 &
|
||||
|
||||
# Start frontend
|
||||
cd /media/pts/Website/Church_HOP_MusicData/new-site/frontend
|
||||
npm run dev > /tmp/frontend.log 2>&1 &
|
||||
|
||||
# Verify
|
||||
sleep 3
|
||||
lsof -i:5100 -i:8080 | grep LISTEN
|
||||
```
|
||||
|
||||
## Production Deployment Notes
|
||||
|
||||
For production, replace Vite dev server with built static files:
|
||||
|
||||
```bash
|
||||
# Build frontend
|
||||
cd frontend
|
||||
npm run build
|
||||
|
||||
# Serve with Nginx (update nginx-ssl.conf location / block)
|
||||
# Point to: /media/pts/Website/Church_HOP_MusicData/new-site/frontend/dist
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2026-01-26
|
||||
**Site URL**: <https://houseofprayer.ddns.net>
|
||||
**Server IP**: 170.254.17.146
|
||||
Reference in New Issue
Block a user