@ruvyxa/adapter-railway
v1.1.4
Published
Deploy full-stack Ruvyxa applications to Railway with automatic platform detection and standalone Node output.
Maintainers
Readme
import { railway } from '@ruvyxa/adapter-railway'
import { config } from 'ruvyxa/config'
export default config({ adapter: railway() })The build emits a standalone server at .ruvyxa/deploy/railway/server/index.mjs and a safe
railway.json. Existing project configuration is never overwritten. The server honors Railway's
PORT and supports SSR, SSG, CSR, ISR, PPR, API routes, and native realtime.
Client identity behind a proxy
The generated server believes X-Forwarded-For and X-Real-IP only from a connection whose peer is
loopback or listed in security.trustedProxyIps. From any other peer both headers are dropped
before the request is routed, because nothing in front of the server overwrote them and one caller
rotating a value would otherwise collect a fresh bucket per request from the built-in rate
middleware, the server-action rate limiter, and the action replay quota.
Behind a reverse proxy that is not on the same host — nginx or Traefik in another container, an ingress controller, a service mesh — list its address or range, or every visitor is counted as one client:
export default config({
security: { trustedProxyIps: ['10.0.0.0/8'] },
})