You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore: run as a Next standalone image on Railway - #51
graphql.fuel.network moves off Vercel to Railway. The image builds Next.js in standalone mode and runs its node server; the docs are unchanged. The service is already running as fuel-graphql-docs in the Railway project fuel-web; DNS has not moved yet.
Railway's vulnerability scan refused the lockfile's next 13.5.6, so the lockfile moves next to 13.5.11 within the same ^13 range in package.json; only next and its swc binaries changed.
Changes
Area
Change
Next config
next.config.js sets output: "standalone" only when NEXT_OUTPUT=standalone, so the Vercel build is unchanged
next version
package-lock.json resolves next 13.5.11 instead of 13.5.6
Image
Dockerfile runs npm ci and the standalone build on node 18, then runs server.js on Railway's PORT
Railway config
railway.json sets the Dockerfile path, healthcheck on / and restart on failure
Deploy workflow
deploy-railway.yml runs railway up on every push to main. Skips itself until the RAILWAY_TOKEN secret exists; redundant once the service is connected to GitHub
Docker context
.dockerignore excludes node_modules, .next, .git and .vercel
Low Risk
Changes are deploy packaging and a patch-level Next bump; standalone output is gated behind an env var so default builds are unchanged.
Overview graphql.fuel.network is set up to deploy on Railway as a containerized Next.js app instead of relying only on Vercel-style hosting.
A multi-stage Dockerfile builds the docs with NEXT_OUTPUT=standalone, copies the standalone server plus static assets, listens on Railway’s PORT, and includes a root healthcheck. .dockerignore keeps build context small, and railway.json points Railway at that Dockerfile with deploy healthcheck and restart-on-failure settings.
next.config.js now enables output: 'standalone' only when NEXT_OUTPUT=standalone, so existing non-Docker builds stay the same. package-lock.json bumps Next from 13.5.6 to 13.5.11 (and matching @next/* / SWC packages) within the existing ^13 range—called out as addressing Railway’s vulnerability scan on the older lockfile resolution.
Reviewed by Cursor Bugbot for commit ffa385b. Bugbot is set up for automated code reviews on this repo. Configure here.
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
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.
Summary
graphql.fuel.network moves off Vercel to Railway. The image builds Next.js in standalone mode and runs its node server; the docs are unchanged. The service is already running as
fuel-graphql-docsin the Railway project fuel-web; DNS has not moved yet.Railway's vulnerability scan refused the lockfile's next 13.5.6, so the lockfile moves next to 13.5.11 within the same
^13range in package.json; only next and its swc binaries changed.Changes
next.config.jssetsoutput: "standalone"only whenNEXT_OUTPUT=standalone, so the Vercel build is unchangedpackage-lock.jsonresolves next 13.5.11 instead of 13.5.6Dockerfilerunsnpm ciand the standalone build on node 18, then runsserver.json Railway'sPORTrailway.jsonsets the Dockerfile path, healthcheck on/and restart on failuredeploy-railway.ymlrunsrailway upon every push to main. Skips itself until theRAILWAY_TOKENsecret exists; redundant once the service is connected to GitHub.dockerignoreexcludesnode_modules,.next,.gitand.vercel