# Tools
curl -fsSL https://get.pnpm.io/install.sh | sh -
curl -fsSL https://bun.sh/install | bash
# Code
git clone https://github.com/rstfulzz/signalium.git ~/signalium
cd ~/signalium
pnpm install --frozen-lockfile
pnpm build --filter=@signalium/web --filter=@signalium/api
# Drop in the production .env (rsync from local — never commit)
scp ./.env vpsuser@vps:~/signalium/.env
# Start
pm2 start ecosystem.config.cjs
pm2 save
# nginx vhosts
sudo ln -sf ~/signalium/deploy/nginx/signalium.site.conf /etc/nginx/sites-enabled/
sudo ln -sf ~/signalium/deploy/nginx/api.signalium.site.conf /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
# SSL
sudo certbot --nginx -d signalium.site -d www.signalium.site
sudo certbot --nginx -d api.signalium.site