Railway Pro blocking Node.js memory allocation for 13 days - Platform bug confirmed
thegrand-canyon
PROOP

2 months ago

Hi Railway Team,

I need help. I've been on Railway Pro for 13 days ($20/mo), but my Node.js service is completely non-functional due to a platform-level memory limitation.

## Problem

Node.js heap is hard-capped at ~14 MB, preventing my production API from operating.

- Current heap: 14.10 MB
- Required: 512 MB minimum
- Status: Circuit breaker blocking all traffic at 83% memory
- Downtime: 13 days (100% of Pro subscription)
- Service: https://specular-production.up.railway.app

## Impact

- 49 users blocked
- $32,000 in user capital inaccessible
- Paying $20/mo for 0% uptime

## What I've Tried (All Failed)

I've systematically tried every configuration method over 13 days. All failed:

**1. Environment Variable (March 1)**

NODE_OPTIONS=--max-old-space-size=512

Result: Ignored. Heap: 13.86 MB

**2. package.json start script**
```json
"start": "node --max-old-space-size=512 src/api/MultiNetworkAPI.js"

Result: Ignored. Heap: 14.11 MB

3. railway.json startCommand

"startCommand": "NODE_OPTIONS='--max-old-space-size=512' npm start"

Result: Ignored. Heap: 14.36 MB

4. nixpacks.toml

[variables]
NODE_OPTIONS = "--max-old-space-size=512"

Result: Ignored. Heap: 14.61 MB

5. Custom Dockerfile (TODAY)

CMD ["node", "--max-old-space-size=512", "src/api/MultiNetworkAPI.js"]
"build": {"builder": "DOCKERFILE"}

Result: STILL IGNORED. Heap: 14.10 MB

Evidence: https://specular-production.up.railway.app/stats

What This Proves

Even with a custom Dockerfile where I have full control over the Node.js start command, Railway is overriding the heap allocation at the platform level.

This is NOT a configuration issue. Railway is enforcing a ~14 MB limit that ignores:

  • Environment variables
  • Start command flags
  • Dockerfile CMD directives

Previous Support Attempt

March 1: Railway suggested NODE_OPTIONS=--max-old-space-size=512

  • Already tried (was our first attempt)
  • Still failed
  • No follow-up response for 12 days

What I Need

Option 1 (Preferred): Engineering Investigation - 48 Hours

Urgent review of:

  1. Why is Railway overriding Dockerfile CMD memory flags?
  2. Is there a platform limitation on Node.js heap?
  3. Are Pro resources properly provisioned?

Option 2: Full Refund + Migration

If unfixable within 48 hours:

  • Refund for 13 days of non-working service
  • I'll migrate to alternative platform

Why This Is Urgent

After 13 days:

  • ✅ Tried all 5 configuration methods
  • ✅ Provided custom Dockerfile with explicit control
  • ✅ Proven it's a platform issue
  • ✅ Paying for 0% uptime

I cannot wait longer. Users are blocked and I'm paying for a broken service.

Technical Details

Test locally (same Dockerfile):

docker build -t specular .
docker run specular

Result: 512 MB heap allocated ✅

Railway deployment:

Result: 14 MB heap ❌

Conclusion: Railway is overriding Docker CMD at runtime.

Next Steps

If no substantive response within 48 hours, I will:

  1. Request chargeback
  2. Migrate to Render/Fly.io
  3. Document publicly

I prefer to stay with Railway, but need this resolved urgently.

Project: Specular

GitHub: github.com/thegrand-canyon/specular

Live endpoint: https://specular-production.up.railway.app/stats

Available for immediate debugging session with your team.

$20 Bounty

9 Replies

Railway
BOT

2 months ago

This question appears to be about your application code rather than the Railway platform, which is outside the scope of what we can help with.


Status changed to Awaiting User Response Railway about 2 months ago


Railway
BOT

2 months ago

This thread has been marked as solved automatically due to a lack of recent activity. Please re-open this thread or create a new one if you require further assistance. Thank you!

Status changed to Solved Railway about 2 months ago


Railway

This question appears to be about your application code rather than the Railway platform, which is outside the scope of what we can help with.

thegrand-canyon
PROOP

a month ago

I just need help updating my memory on Railway. I have been paying for Pro for months now and my memory has still not been updated.


Status changed to Awaiting Railway Response Railway 26 days ago


Railway
BOT

a month ago

This thread has been marked as public for community involvement, as it does not contain any sensitive or personal information. Any further activity in this thread will be visible to everyone.

Status changed to Open Railway 26 days ago


domehane
FREE

a month ago

Hello thegrand-canyon,

can you check one thing , go to your service settings → deploy → replica limits and see if there's a memory limit set there if it's set too low (even a few mb) that creates a hard container ceiling that overrides everything including dockerfile cmd and node_options railway docs say "setting replica limits too low will cause your service to crash" if that's the culprit just remove or raise the limit and redeploy

Hope this help you :)


thegrand-canyon
PROOP

a month ago

Hey, thanks for the response. In my settings, the replica limits are already maxed out, but that's not the case when using Railway.


thegrand-canyon

Hey, thanks for the response. In my settings, the replica limits are already maxed out, but that's not the case when using Railway.

domehane
FREE

a month ago

okay , what does your /stats endpoint actually show right now, and can you share your deploy logs from the latest dockerfile deployment?


thegrand-canyon
PROOP

a month ago

Is Replica limits the same as heap limits? I can't find anything that says 'heap limits'.


thegrand-canyon

Is Replica limits the same as heap limits? I can't find anything that says 'heap limits'.

domehane
FREE

a month ago

no they're different things replica limits cap the container's total memory and heap is just the node.js portion inside it can you screenshot your replica limits settings so i can see the exact values?


domehane

no they're different things replica limits cap the container's total memory and heap is just the node.js portion inside it can you screenshot your replica limits settings so i can see the exact values?

thegrand-canyon
PROOP

a month ago

Yes, I have the limits set to the max.

Attachments


thegrand-canyon

![](https://station-server.railway.com/attachments/att_01kq5j1xjyecrrhsvw0egnhxdn)Yes, I have the limits set to the max.

domehane
FREE

a month ago

okay, can you run this inside your dockerfile and share the output from the deploy logs:

RUN cat /sys/fs/cgroup/memory/memory.limit_in_bytes

this will show what memory limit the container actually sees at the cgroup level during build


Welcome!

Sign in to your Railway account to join the conversation.

Loading...