a month ago
Issue: Files written to our attached volume (web-volume, mounted at /app/generated-sites) are verified present by the writing process (every individual file checked via existsSync, all confirmed) but are never visible to any other reader of the same volume — not a separate HTTP request in the same app, not a Console SSH session — even minutes later.
Reproduced multiple times, most recently:
Job f365f1b9-7251-4b20-b959-8240878c300e, completed 2026-09-06T11:37:58Z, claimed by container 667f059ec8ec, wrote to /app/generated-sites/b33a2fb2-900a-4631-b85f-c1ddce0b2e6f (confirmed via internal verification: directory + ~20 individual files all checked present).
A separate request to the same running service, seconds and repeatedly afterward, reports the directory does not exist.
Ruled out:
Disk space — volume was at 1% usage (432 MB free of ~433 MB) when this last reproduced.
Multiple replicas — not possible per Railway's own restriction for volume-attached services.
Volume corruption — wiped the volume entirely (Settings → Wipe Volume); issue reproduced identically on the fresh volume.
Stale container — triggered a manual redeploy; issue reproduced identically, and the container hostname was unchanged across the wipe and the redeploy.
Volume: 500 MB, mount path /app/generated-sites, device /dev/zd3568.
2 Replies
a month ago
Your project has two separate volumes, one on each service: worker-volume (attached to the worker service) and web-volume (attached to the web service), both mounted at /app/generated-sites. Volumes on Railway are per-service and are not shared, so files the worker writes land on worker-volume and are never visible to the web service, which reads from its own independent web-volume.
Status changed to Awaiting User Response Railway • 30 days ago
a month ago
That matches what we're seeing — we have a worker service that shouldn't exist in our architecture (a leftover from an earlier design). Our intended setup is a single web service handling everything, triggered by a lightweight cron pinger with no volume of its own. We'll remove the worker service and its volume. Thanks — this fully explains the issue.
Status changed to Awaiting Railway Response Railway • 30 days ago
Status changed to Solved Railway • 30 days ago