Web Server
Synology Site Management[edit]
Both sites are hosted on mainsqueeze (Synology) behind NGINX Reverse Proxy, served over 443.
| Site | Local Port | Directory |
|---|---|---|
| wreckroom.nyc | localhost:3000 |
/volume2/wreckroom.nyc/wreckroom.nyc
|
| justinbjur.com | localhost:3001 |
/volume2/justinbjur.com/justinbjur.com
|
Updating Site Content[edit]
- Make changes locally and commit to GitHub
- SSH into mainsqueeze:
ssh guernica@wreckroom.nyc - Navigate to the site and pull:
cd /volume2/wreckroom.nyc/wreckroom.nyc(or justinbjur.com)git pull
- Restart pm2:
sudo pm2 restart wreckroom.nyc(or justinbjur.com) - or git pull && sudo npm run build && sudo pm2 restart justinbjur.com
PM2[edit]
PM2 is a process manager that keeps both Next.js apps alive on the server.
Current Processes[edit]
| Name | Command |
|---|---|
wreckroom.nyc |
npm run start
|
justinbjur.com |
npm run start
|
Startup Persistence[edit]
DSM on mainsqueeze uses systemd. PM2 startup is configured and the service is enabled.
To set up from scratch (or after pm2 unstartup):
- Start both processes:
cd /volume2/wreckroom.nyc/wreckroom.nyc && sudo pm2 start npm --name "wreckroom.nyc" -- run startcd /volume2/justinbjur.com/justinbjur.com && sudo pm2 start npm --name "justinbjur.com" -- run start
sudo pm2 savesudo pm2 startup— enablespm2-root.servicevia systemd
On reboot, systemd calls pm2 resurrect which restores from /root/.pm2/dump.pm2.
Run sudo pm2 save any time processes are added, removed, or renamed.
To verify:
sudo systemctl status pm2-root sudo pm2 list
After a Synology Reboot[edit]
PM2 should auto-resume via systemd. If processes are not running after a reboot:
sudo systemctl start pm2-root- Verify with
sudo pm2 list
If that fails, restart manually:
cd /volume2/wreckroom.nyc/wreckroom.nycsudo pm2 start npm --name "wreckroom.nyc" -- run startcd /volume2/justinbjur.com/justinbjur.comsudo pm2 start npm --name "justinbjur.com" -- run startsudo pm2 save
Troubleshooting[edit]
If a site is down and pm2 shows an error, delete and restart that process:
sudo pm2 delete wreckroom.nycsudo pm2 start npm --name "wreckroom.nyc" -- run startsudo pm2 save
Certificates[edit]
If you modify a certificate's FQDN, you must also update the reverse proxy entry. Control Panel → Login Portal → Advanced → Reverse Proxy Update the hostname there — without this step the site will not resolve correctly even after migrating the cert. This has cost half a day before, don't skip it.