| | @@ -60,15 +60,16 @@ Secrets live only in `.env.local` on CT120 and `/shared/projects/.env.secrets`. |
| | |
| | ## Run / deploy |
| | |
| - | The canonical repo lives on the share at `/shared/projects/zion-pm` (committed from CT215). The app **runs from CT120 local fs** `/opt/zion-pm` (noexec CIFS rule - never execute from the share). Deploy = `git pull` on CT120. |
| + | The canonical repo lives on the share at `/shared/projects/zion-pm` (committed + pushed from CT215; remote `github.com/zionboggan/zion-pm`, private). The app **runs from CT120 local fs** `/opt/zion-pm` (noexec CIFS rule - never execute from the share). |
| + | |
| + | CT120 has no direct egress to github.com, so deploys are **CT215-mediated** (CT215 has GitHub access and syncs source to CT120 over SSH): |
| | |
| | ```bash |
| - | # on CT120 |
| - | cd /opt/zion-pm |
| - | git pull |
| - | pnpm install |
| - | pnpm build |
| - | sudo systemctl restart zion-pm # next start -p 4100 |
| + | # on CT215: pull latest canonical, sync source to CT120, build + restart there |
| + | cd /shared/projects/zion-pm && git pull |
| + | tar czf - app lib public package.json pnpm-lock.yaml tsconfig.json next.config.ts \ |
| + | postcss.config.mjs | ssh root@REDACTED-IP 'tar xzf - -C /opt/zion-pm' |
| + | ssh root@REDACTED-IP 'cd /opt/zion-pm && pnpm install && pnpm build && systemctl restart zion-pm' |
| | ``` |
| | |
| | Service: `zion-pm.service` (systemd, onboot). Logs: `journalctl -u zion-pm -f`. |