Hanging prerendering when deploying to Railway.app

Hello all!

I have been experiencing my prerendering hanging when I try to deploy to Railway.app. I notice it always stops right after the last prerendered page (404 page in my case). It finishes on my local machine, but not when it’s up in Railway. However, it seems my local build just ends after the last prerendered page and I would assume it to exit with some kind of success message. Is that normal?

I am out of ideas on how to debug this. Does anyone else know how I can proceed?

I have attached the beginning of the Railway logs to see if my setup is doing anything weird, but it looks normal to me. The output always hangs right after finishing the last prerendered route, no matter which route it is.

#13 49.22 ❯ Prerendering /404 -> web/dist/404.html
#13 49.28 ✔ Prerendering /404 -> web/dist/404.html
#13 49.28 
###### HANGS HERE ######
Railway Logs
[Region: us-west1]
==============
Using Nixpacks
==============
context: d1exxx5a
╔═════════════ Nixpacks v1.21.2 ═════════════╗
║ setup      │ nodejs_20, yarn-1_x, openssl  ║
║────────────────────────────────────────────║
║ install    │ yarn install --check-cache    ║
║────────────────────────────────────────────║
║ build      │ yarn rw prisma migrate deploy ║
║            │ yarn rw build                 ║
║────────────────────────────────────────────║
║ start      │ yarn rw serve                 ║
╚════════════════════════════════════════════╝

#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 4.02kB done
#1 DONE 0.0s

#2 [internal] load metadata for ghcr.io/railwayapp/nixpacks:ubuntu-1707782610
#2 DONE 0.2s

#3 [stage-0 1/8] FROM ghcr.io/railwayapp/nixpacks:ubuntu-1707782610@sha256:8f4bxxxf09
#3 DONE 0.0s

#4 [stage-0 2/8] WORKDIR /app/
#4 CACHED

#5 [internal] load .dockerignore
#5 transferring context: 2B done
#5 DONE 0.0s

#6 [internal] load build context
#6 transferring context: 4.20MB 0.1s done
#6 DONE 0.1s

#7 [stage-0  3/11] COPY .nixpacks/nixpkgs-bf74xxx12d.nix .nixpacks/nixpkgs-bf74xxx12d.nix
#7 CACHED

#8 [stage-0  4/11] RUN nix-env -if .nixpacks/nixpkgs-bf74xxx12d.nix && nix-collect-garbage -d
#8 CACHED

#9 [stage-0  5/11] COPY . /app/.
#9 DONE 0.1s

#10 [stage-0  6/11] RUN --mount=type=cache,id=s/70bxxxef9-/usr/local/share/cache/yarn/v6,target=/usr/local/share/.cache/yarn/v6 yarn install --check-cache

#10 1.661 ➤ YN0000: ┌ Resolution step

Hey @ched-dev Sorry you’re having trouble! Have you tried posting in Discord? There’s a #community-helpdesk channel and you might be able to find someone else running the same configuration you are.

Thanks for the suggestion. I have posted it in the Discord as well. I will update this post if I find a solution.

If anyone would like to follow along: Discord

Update: I found a solution for this. Copy pasting from Discord:

OK I think I found the issue!

When I set the cache to use InMemoryClient during build it will successfully complete. If it’s set to RedisClient during build it will hang.

I remember having this issue on Vercel a while ago but I fixed it by using the InMemoryClient during build step only. When I changed to Railway I must not have moved that over.