-
Notifications
You must be signed in to change notification settings - Fork 288
Provide arm64 builds for shiny-server #532
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I wrote down some notes a while back, they can still be valid https://github.com/lvalnegri/workshops-setup_cloud_analytics_machine/blob/master/raspberry-pi_jetson-nano.md |
@lvalnegri Thanks but I know how to compile shiny-server for arm, I even have blog posts about it, the idea behind this request is to make the installation process easier and less time-consuming. I thought since other RStudio development team already has a workflow for compiling for arm, they could implement it as well. |
It's a good idea, thank you for the suggestion. |
I'm curious if there's been any further discussion about, or planning for, pre-built ARM64 Shiny Server binaries. |
@mmuurr can you please explain / point me in the direction of the emulation you mentioned? |
@James-G-Hill AFAIK, only UTM allows to emulate x86_64 on macOS, though you're probably going to have very poor performance. In my case, I'm running aarch64 Linux virtual machines on macOS to automate the deployment of Shiny Server in a production environment. The lack of packages makes it very difficult to mirror our x86_64 production environment. A lot of cloud providers offer aarch64 VMs and it could be first step towards supporting them as well. It's great to have aaarch64 builds for RStudio-Server - even if they're experimental - and I would love to see the same thing for Shiny-Server. |
@James-G-Hill sorry for the super-late reply. If you haven't already figured it out, one solution is to use containers. And with containers there are effectively two steps required (assuming you want to build upon an image ... if you just want to run Shiny Server you may be able to skip to the second step, depending your needs). Step 1: Cross-platform buildsUse the docker
The image produced will then run on a You can also create images that are multi-arch, e.g. with Step 2: Runtime emulationI don't know how this is managed on other hosts and other container runtimes (e.g. containerd or podman), but they'll all be similar to how it's done with Docker and the Apple-silicon ARM64 machines: emulation. If you go into Docker settings, you'll need to enable Rosetta emulation. Via the UI it'll look like so: All of this feels pretty clunky, though, and I still have some hope 🤞 that there'll eventually (pretty please, with sugar on top?) be official ARM64 Shiny Server binaries, since the Apple's M-series silicon is now well-established (and very performant) and AWS's Graviton silicon is increasingly forming the backbone of AWS's own internal infrastructure. In short, ARM64 isn't niche. |
Post with similar direction with the @mmuurr post but on Orbstack and with standard amd64 binaries deb package from https://download3.rstudio.org/ubuntu-18.04/x86_64/shiny-server-1.5.22.1017-amd64.deb I've tried shiny-server on Apple M3 Pro MacOs 15.2 Orbstack 1.9.2.
In Orbstack Linux Machine Ubuntu:
But I get
And shiny-server.service starts without crashes :)
It works from a MacOs browser via Orbstack Linux Machine Ubuntu without port forwarding, because "Allow access to container domain & IPs" is checked (by default) in Orbstack / Settings / Network (I don't know if it works on native Ubuntu arm64.) Note also, not tried yet, the NEWS of release v1.5.23.1030 Sep 30, 2024
from https://github.com/rstudio/shiny-server/blob/v1.5.23.1030/NEWS |
Ubuntu amd64 on arm 64 is emulated since Jan 14th 2025 on the Docker of Orbstack 1.9.4:
Install Rosetta on MacOs.
Docker Build:
Docker Run. (with 3839 on my example):
And here we are on a browser (with 3839): Édit:
|
Can you consider providing arm64 builds for shiny-server the same way the RStudio IDE is providing experimental builds for arm64? If they already have the workflow in place I guess it would be simple to borrow from them?
The text was updated successfully, but these errors were encountered: