3 months ago
My WordPress website was hosted on Railway. Due to my plan expiring, the service stopped unexpectedly. After reactivating, the site came back online but all uploaded media files inside /wp-content/uploads are missing. The latest posts and content load, but images that were previously uploaded are not present anymore.
I did not intentionally configure any external storage (S3/Cloudinary), so uploads should have been stored inside the project filesystem or a Railway Volume, if enabled.
What I Need Help With
Can Railway recover data from the previous deployment’s persistent storage, if any exists?
Is there a way to check if a Volume was used for the project?
If the filesystem was purged, is there any temporary snapshot or backup available for recovery?
Additional Details
Platform: WordPress (PHP + MySQL)
Hosting: Railway
Issue started after project suspension due to plan expiry
No manual backups available
Upload path expected:
/app/wp-content/uploads
Logs / Notes
There are no build or deploy errors — WordPress runs fine, only media files are missing.
Pinned Solution
3 months ago
If a volume was used, you will see a horizontal bar that represents the volume under the service. IIRC if you did not use a volume to store the files, there isn’t a way to recover them.
3 Replies
3 months ago
Hey there! We've found the following might help you get unblocked faster:
If you find the answer from one of these, please let us know by solving the thread!
3 months 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 brody • 3 months ago
3 months ago
If a volume was used, you will see a horizontal bar that represents the volume under the service. IIRC if you did not use a volume to store the files, there isn’t a way to recover them.
3 months ago
Hyy,
so the uploads probably got wiped because they were sitting on the temporary filesystem that Railway uses by default, which doesn't stick around when services stop or restart. The database stuff like posts usually hangs on better since Railway handles MySQL persistence automatically, but files in wp-content/uploads need extra setup to survive that kinda thing.
first off, hop into your Railway dashboard and poke around your project. Look at the service for your WordPress app, go to settings, and check if there's any volume listed there. If you see one, make sure its mount path is set to something like /app/wp-content/uploads, cuz that's where the app runs from. If it's attached but files are gone, maybe it detached during the suspension, so try reattaching it and redeploying. No volume? Yeah, that's probably why they're missing for good.
on recovery, Railway doesn't really do data restores for free or hobby plans, and even pros need backups enabled. They keep stuff for a bit after expiry, like 30-90 days depending on your plan, but if you reactivated and files didn't pop back, it's likely gone. Worth shooting a message to their support though, head to the Help Station on their site, drop your project ID and explain what happened. Sometimes they can peek at old deployments, but don't get your hopes up too high based on other folks' stories.
to fix this going forward and not deal with it again, add a volume right now. In the dashboard, create one via the command palette or canvas, attach it to your service with that /app/wp-content/uploads path, and redeploy. Test by uploading a pic and see if it sticks after a restart. Or better yet, switch to something external like S3 or Cloudinary with a plugin, that way files aren't tied to Railway at all. Plugins like UpdraftPlus can handle backups too, set it to auto-save to Dropbox or whatever..
hope this help you !!
bytekeim
Status changed to Solved noahd • 3 months ago
