Changeset 9465a0d in Klonkt
- Timestamp:
- 06/16/2026 03:00:16 AM (3 months ago)
- Branches:
- main
- Children:
- 5019e22
- Parents:
- ff08153
- Files:
-
- 2 edited
-
deploy/DEPLOY.md (modified) (8 diffs)
-
ecosystem.config.cjs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
deploy/DEPLOY.md
rff08153 r9465a0d 56 56 57 57 # As your user: 58 mkdir -p ~/ prutcms59 cd ~/ prutcms58 mkdir -p ~/klonkt 59 cd ~/klonkt 60 60 # Clone or rsync your code here. e.g. via git: 61 61 # git clone <your-repo> . … … 87 87 88 88 # Optional: override storage paths 89 # DATABASE_PATH=/home/robin/ prutcms/storage/database.sqlite90 # AUDIO_PATH=/home/robin/ prutcms/storage/audio91 # AVATAR_PATH=/home/robin/ prutcms/storage/media/avatars92 # COVER_PATH=/home/robin/ prutcms/storage/media/audio-covers93 # MEDIA_PATH=/home/robin/ prutcms/storage/media89 # DATABASE_PATH=/home/robin/klonkt/storage/database.sqlite 90 # AUDIO_PATH=/home/robin/klonkt/storage/audio 91 # AVATAR_PATH=/home/robin/klonkt/storage/media/avatars 92 # COVER_PATH=/home/robin/klonkt/storage/media/audio-covers 93 # MEDIA_PATH=/home/robin/klonkt/storage/media 94 94 ``` 95 95 … … 116 116 ```bash 117 117 curl -I http://127.0.0.1:3000/ # expect 200 / 302 118 pm2 logs prutcms# live logs; Ctrl-C to detach118 pm2 logs klonkt # live logs; Ctrl-C to detach 119 119 ``` 120 120 … … 128 128 129 129 ```bash 130 sudo cp deploy/nginx.conf.example /etc/nginx/sites-available/ prutcms131 sudo $EDITOR /etc/nginx/sites-available/ prutcms# replace <YOUR-DOMAIN>132 sudo ln -s /etc/nginx/sites-available/ prutcms/etc/nginx/sites-enabled/130 sudo cp deploy/nginx.conf.example /etc/nginx/sites-available/klonkt 131 sudo $EDITOR /etc/nginx/sites-available/klonkt # replace <YOUR-DOMAIN> 132 sudo ln -s /etc/nginx/sites-available/klonkt /etc/nginx/sites-enabled/ 133 133 sudo rm -f /etc/nginx/sites-enabled/default 134 134 sudo nginx -t … … 161 161 ```bash 162 162 chmod +x deploy/backup.sh 163 mkdir -p ~/backups/ prutcms ~/prutcms/logs163 mkdir -p ~/backups/klonkt ~/klonkt/logs 164 164 165 165 # Test it once … … 168 168 # Schedule nightly at 03:00 169 169 ( crontab -l 2>/dev/null ; \ 170 echo "0 3 * * * /home/$USER/ prutcms/deploy/backup.sh >> /home/$USER/prutcms/logs/backup.log 2>&1" \170 echo "0 3 * * * /home/$USER/klonkt/deploy/backup.sh >> /home/$USER/klonkt/logs/backup.log 2>&1" \ 171 171 ) | crontab - 172 172 … … 181 181 182 182 ```bash 183 cd ~/ prutcms183 cd ~/klonkt 184 184 git pull 185 185 npm ci --omit=dev 186 pm2 reload prutcms# zero-downtime within fork mode186 pm2 reload klonkt # zero-downtime within fork mode 187 187 ``` 188 188 … … 206 206 | Symptom | Check | 207 207 |---|---| 208 | `❌ FATAL: SESSION_SECRET is required` | `.env` missing or unreadable. `pm2 stop prutcms&& pm2 start ecosystem.config.cjs --env production`. |208 | `❌ FATAL: SESSION_SECRET is required` | `.env` missing or unreadable. `pm2 stop klonkt && pm2 start ecosystem.config.cjs --env production`. | 209 209 | `❌ FATAL: SESSION_SECRET too weak for production` | Make it 32+ chars: `openssl rand -hex 32`. | 210 210 | WS disconnects every minute | Check nginx `proxy_read_timeout` is ≥ 90s in `/ws/` block. | 211 211 | Audio plays but seek stutters | nginx must have `proxy_buffering off` on `/audio/stream/`. | 212 | 502 from nginx | `pm2 list` — is the app up? `pm2 logs prutcms--lines 100`. |212 | 502 from nginx | `pm2 list` — is the app up? `pm2 logs klonkt --lines 100`. | 213 213 | HTMX 404s on `/assets/js/htmx.min.js` | `ls node_modules/htmx.org/dist/htmx.min.js` — if missing, `npm install htmx.org`. The boot-copy step needs the package. | 214 214 -
ecosystem.config.cjs
rff08153 r9465a0d 13 13 * pm2 start ecosystem.config.cjs --env production 14 14 * pm2 save && pm2 startup # auto-start on boot 15 * pm2 logs prutcms15 * pm2 logs klonkt 16 16 */ 17 17 … … 19 19 apps: [ 20 20 { 21 name: ' prutcms',21 name: 'klonkt', 22 22 script: 'src/server.js', 23 23 cwd: __dirname, … … 29 29 kill_timeout: 5000, // give in-flight requests time to finish 30 30 31 // Logs go to ~/.pm2/logs/ prutcms-out.log and -error.log by default.31 // Logs go to ~/.pm2/logs/klonkt-out.log and -error.log by default. 32 32 // Override here if you want them in the project dir: 33 33 // out_file: './logs/out.log',
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)