Deploying KeyDB with Volume: Permission Denied Issue
Hello! I'm having trouble deploying keydb with a volume. It keeps giving me an error saying 'Permission denied /volume/path'. I tried setting
RAILWAY_RUN_UID
and checked the current user (which turned out to be root
), but keydb still throws a permissions error. I also checked with ls -l /
and confirmed that the volume exists. I even tried renaming it (changing volume path), but nothing worked. Can someone please help me fix this?
Dockerfile:
24 Replies
Project ID:
e7e1e017-50e4-4446-a724-45add00a40d2
e7e1e017-50e4-4446-a724-45add00a40d2
what did you set
RAILWAY_RUN_UID
to?0
I've spent an hour searching for a solution, checking KeyDB docs, their Docker build images, everything. I'm feeling pretty hopeless about it. If you can manage to solve this issue, it would be wonderful.where are you mounting the volume?
/keydb_data
send the conf file please
are these things configurable via environment variables?
I don't think so. keydb can be configured via a config file or parameters passed to its executable as stated by their docs.
cool, will take a crack at this
Solution
give this a try - https://railway.app/template/Nw7TJ5
I made a small adjustment to the start command by adding "--storage-provider flash /volume/path", and it worked perfectly. Thanks a lot! You're awesome! I'm not sure what mistake I made, though. If you have any insights on what went wrong so I can avoid it next time, that would be fantastic.
why flash?
I needed a cheaper alternative to Redis that still uses the Redis protocol. So, I discovered KeyDB on Flash, which saves on costs by limiting RAM usage and storing data on disk.
oh so with flash no data ever gets saved into memory
KeyDB still uses RAM for hot keys, but you can control how much it uses by using the 'maxmemory' option.
what did you set the path for flash to?
To the volume path
/data
?I've changed the path to something else. I don't quite remember the reason. 😅
haha well please don't blame me if you lose data, i tested it as the template deploys and data did persist
Will surly testing it before shipping to production. Thank you :D
no problem!