Closed jeremymeyers closed 1 year ago
Hello,
Thanks for reporting. It looks like your device is missing urandom which sinatra tries to use. I filed a PR with sinatra that might fix it: https://github.com/sinatra/sinatra/pull/1888
I also prepared a special docker image for you which has the fix from that PR. It would be great if you could try it just to see if there are any other problems (maybe there are other gems that try to use urandom). If it works then you (or I) can report the success in the PR, which should hopefully make them merge the fix faster.
The fixed image is under the missing-urandom-fix
tag. So the full image name is stefansundin/rssbox:missing-urandom-fix
. Please give it a try and let me know if it works or if you get another error. :)
Thanks!
I added this to the Dockerfile
to make it patch the file during the build after running bundle install
:
RUN sed -i '1841s/$/, RuntimeError/' /app/vendor/bundle/ruby/3.2.0/gems/sinatra-3.0.5/lib/sinatra/base.rb
Also, could you please let us know exactly what Synology model you are using? And if possible what version of the Linux kernel it is using?
hey! Synology DSM7 runs linux kernel 4.4.180.
Happy to try any custom images/dockerfiles (tho might not get to it today)
its a DS216+II
They already merged the fix but I will have to wait for them to release a new version of sinatra before I can include it. In the mean time the special image I prepared should hopefully work. But it is conceivable that some other part of the app could be broken for the same reason, so it would be great if you could test the image at some point so we can confirm that. There's no rush, so please don't feel like you have to get to it any time soon.
I'll keep this issue open until we've confirmed that no other part of the app has the same problem, and until there's a fixed sinatra version. At that point I'll also delete the temporary docker image.
Will do. Maybe an opportunity to put in some checks in the Dockerfile to make sure requirements are met before install?
Hey, just ran the new image and it launches just fine. Looks like the missing dependency was the issue. Thanks for addressing! (now if only soundcloud would start giving out dev tokens again...sigh.
The fix https://github.com/sinatra/sinatra/pull/1888 was released in Sinatra 3.0.6.
I've upgraded sinatra and pushed a new docker image so this issue should be resolved now.
When trying to run the Docker version, it throws the following error: