Repository navigation
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
ugcodrr
force-pushed
the
chore/docker-deploy
branch
from
October 31, 2026 21:41
4c443e5 to
4d8464a
Compare
--pull always restarted Redis whenever its tag was rebuilt upstream; app tags are new each deploy so compose pulls them anyway. Setting json-file keeps the log rotation options valid if the daemon defaults to another driver.
Node 24.7.0's corepack (0.34) looks for bin/pnpm.cjs, which pnpm 11+ no longer ships, so every stage failed. Also drops turbo's caches from the image, and builds for amd64 in the README since wasm-pack's arm64 wasm-bindgen needs a newer glibc than bookworm's.
ugcodrr
force-pushed
the
chore/docker-deploy
branch
from
November 2, 2026 02:42
4d8464a to
918cf9f
Compare
|
Deployment failed for project statsify with the following error: Learn More: https://vercel.com/statsify-net?upgradeToPro=build-rate-limit |
ugcodrr
marked this pull request as ready for review
November 2, 2026 02:42
…/media Redis already runs on the box as a separate compose project, so deploys leave it alone instead of starting a second one on 6379. The API's badges stay in /media, so api.mediaRoot doesn't change and a rollback to pm2 sees the same files.
…default concurrency flag
Nothing sets REDIS_URL under pm2 or compose, so the limiter fell back to ioredis' default instead of the Redis the API uses.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description: Deploys delete and rebuild
distin the checkout pm2 runs the apps from, so a failed build leaves pm2 nothing to restart. Now a tag builds an image for each app on the server and runs them withcompose.prod.yml.SENTRY_RELEASEset to the deployed commit, so Sentry ties errors to a deploy.config.jslike the other apps. It usedREDIS_URL, which nothing sets. Theapi-keyscript now waits for that URL too, instead of handing ioredis a promise.pnpm --filterinstead ofpnpm workspace, which isn't a command.Testing: all five images build for linux/amd64 and start. Against a local Mongo and Redis, the API passes its healthcheck and the limiter runs a full pass, and the API image renders a skin on lavapipe. Compose hasn't built them on the server yet, so step 2 below is the first real run.
Todo, in order:
echo "TAG=$(git rev-parse HEAD)" > .envanddocker compose -f compose.prod.yml build. pm2 keeps serving while it builds.pm2 delete all && pm2 save --force && pm2 unstartup && docker compose -f compose.prod.yml up -d --wait. Checkpm2 lsfirst: if anything besides the five apps runs under pm2, replace the pm2 part withpm2 delete <deploy checkout>/pm2.config.cjs && pm2 save --force, so the rest keeps running and starting on boot. To go back,docker compose -f compose.prod.yml down, thenpm2 start pm2.config.cjs && pm2 save && pm2 startupfrom the current deploy checkout.v*tag before step 3 would start a second copy of every app next to pm2.After that, run compose commands from the deploy checkout, where
.envholds the deployed commit. To roll back,TAG=<older sha> docker compose -f compose.prod.yml up -d --no-build. Without--no-build, compose rebuilds the current code under the old tag.Conflicts with #1183, which renames the scripts to
.ts. Whichever lands second has to change the limiter's command incompose.prod.ymltonode src/limit-redis.ts, since git won't flag it.Supersedes #1047
Closes #1030
Closes #883