Skip to content

chore(deploy): codify prod deploy as deploy/deploy.sh#60

Merged
abhicris merged 1 commit into
mainfrom
chore/deploy-script
May 26, 2026
Merged

chore(deploy): codify prod deploy as deploy/deploy.sh#60
abhicris merged 1 commit into
mainfrom
chore/deploy-script

Conversation

@abhicris
Copy link
Copy Markdown
Contributor

Summary

  • Adds deploy/deploy.sh — codifies the existing manual prod deploy for muzix.kcolbchain.com.
  • Adds deploy/README.md — documents on-VPS layout for the next operator.

Why

The non-obvious step in the current pipeline is that Next.js standalone output deliberately omits web/public/ and web/.next/static. Forgetting the public-copy step is how the labs (/mixdown.html, /labelton.html) 404 in prod after a rebuild. This script wires both in unconditionally.

Pipeline

  1. git fetch && git reset --hard origin/main in /opt/muzix
  2. npm install --prefer-offline
  3. npm run build
  4. Copy web/public/web/.next/standalone/public/
  5. Copy web/.next/static/web/.next/standalone/web/.next/static/
  6. sudo systemctl restart muzix-web
  7. Verify systemctl is-active; on failure dump the last 30 journal lines

Test plan

  • Pull this branch to /opt/muzix and run deploy/deploy.sh
  • Verify https://muzix.kcolbchain.com/ returns 200 with the latest commit's content
  • Verify https://muzix.kcolbchain.com/mixdown.html and /labelton.html return 200

…n.com

Codifies the existing manual deploy steps so the next push doesn't need
hand-rolling. The non-obvious step is that Next.js standalone output
deliberately omits web/public/ and web/.next/static — they have to be
copied into the standalone tree after every build, otherwise the labs
(/mixdown.html, /labelton.html) 404 in prod.

Pipeline:
  git pull origin/main → npm install → npm run build →
  cp web/public → standalone/public → cp .next/static → standalone/web/.next/static →
  systemctl restart muzix-web → verify is-active

deploy/README.md documents the on-VPS layout for future operators.
@abhicris abhicris merged commit fdc3309 into main May 26, 2026
1 check passed
@abhicris abhicris deleted the chore/deploy-script branch May 26, 2026 04:08
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.

1 participant