Skip to content

Backend moved to the VPS: remove the SSH deploy workflow - #488

Merged
jadhavgaurav merged 2 commits into
developmentfrom
chore/remove-droplet-deploy
Oct 29, 2026
Merged

jadhavgaurav merged 2 commits into
developmentfrom
chore/remove-droplet-deploy

Conversation

@digibrander

@digibrander digibrander commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

The OyeChats backend (API, WebSocket service, arq worker, Postgres, Redis, nginx, nightly backup) runs on a dedicated Hostinger VPS since 2026-10-29. It deploys itself: a systemd timer checks main every minute, migrates, restarts and gates on /health/full, with rollback. The install kit is in digibranders/firstfold-vps-setup, folder oyechats/.

What changes

  • Delete deploy-api.yml. Left in place, a push to main under api/ would SSH to the old droplet and try to start services there against a frozen database.
  • deploy-app.yml: the wait job read the deploy-api.yml run of the same commit. It now checks whether the push touched api/**; if so it holds 10 minutes for the VPS timer, then requires https://api.oyechats.com/health/full to be healthy before the Vercel hook fires. actions: read is no longer needed and is removed.
  • DEPLOYMENT.md, README.md, CLAUDE.md: new hosting and flow; droplet steps marked as history.

Know before merging

  • The server env is /srv/oyechats/shared/.env. The old workflow rewrote api/.env from GitHub secrets on every deploy; that no longer happens, so config changes are made on the server. The GitHub secrets and variables for the API are now unused.
  • The new wait cannot tell the new release from the old one or notice a rollback (marked shortcut: in the workflow). If that matters, expose the live release SHA on /health and compare it with the commit.
  • The workflow YAML parses; the wait job has not run in Actions.
  • DO_HOST, DO_USER, DO_SSH_KEY can be deleted from the repository secrets after merge.

…old the dashboard on the pull-model deploy

The API, worker, WebSocket service, Postgres and Redis run on a dedicated VPS since 2026-10-29. It deploys itself (systemd timer, health gate, rollback), so deploy-api.yml and its DO_* secrets are no longer used.

deploy-app.yml waited on the deploy-api.yml run of the same commit. It now checks whether the push touched api/**, holds 12 minutes for the VPS timer, then requires /health/full to be healthy before it fires the Vercel hook.

DEPLOYMENT.md, README.md and CLAUDE.md describe the new hosting.
@jadhavgaurav
jadhavgaurav merged commit 5ff422e into development Oct 29, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants