Deploying KeyDB with Volume: Permission Denied Issue
abdulrahman1s
HOBBYOP

2 years ago

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

abdulrahman1s
HOBBYOP

2 years ago

e7e1e017-50e4-4446-a724-45add00a40d2


brody
EMPLOYEE

2 years ago

what did you set RAILWAY_RUN_UID to?


abdulrahman1s
HOBBYOP

2 years ago

0


abdulrahman1s
HOBBYOP

2 years ago

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.


brody
EMPLOYEE

2 years ago

where are you mounting the volume?


abdulrahman1s
HOBBYOP

2 years ago

/keydb_data


brody
EMPLOYEE

2 years ago

send the conf file please


abdulrahman1s
HOBBYOP

2 years ago


brody
EMPLOYEE

2 years ago

are these things configurable via environment variables?


abdulrahman1s
HOBBYOP

2 years ago

I don't think so. keydb can be configured via a config file or parameters passed to its executable as stated by their docs.


brody
EMPLOYEE

2 years ago

cool, will take a crack at this


brody
EMPLOYEE

2 years ago

give this a try -


abdulrahman1s
HOBBYOP

2 years ago

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.


brody
EMPLOYEE

2 years ago

why flash?


abdulrahman1s
HOBBYOP

2 years ago

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.


brody
EMPLOYEE

2 years ago

oh so with flash no data ever gets saved into memory


abdulrahman1s
HOBBYOP

2 years ago

KeyDB still uses RAM for hot keys, but you can control how much it uses by using the 'maxmemory' option.


brody
EMPLOYEE

2 years ago

what did you set the path for flash to?


abdulrahman1s
HOBBYOP

2 years ago

To the volume path


brody
EMPLOYEE

2 years ago

/data?


abdulrahman1s
HOBBYOP

2 years ago

I've changed the path to something else. I don't quite remember the reason. 😅


brody
EMPLOYEE

2 years ago

haha well please don't blame me if you lose data, i tested it as the template deploys and data did persist


abdulrahman1s
HOBBYOP

2 years ago

Will surly testing it before shipping to production. Thank you :D


brody
EMPLOYEE

2 years ago

no problem!


Loading...