Skip to content
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

Move to single-binary distributions for server #397

Open
5 of 7 tasks
zefhemel opened this issue May 6, 2023 · 6 comments
Open
5 of 7 tasks

Move to single-binary distributions for server #397

zefhemel opened this issue May 6, 2023 · 6 comments
Assignees

Comments

@zefhemel
Copy link
Collaborator

zefhemel commented May 6, 2023

deno bundle which current produces the silverbullet.js bundle is deprecated, while deno compile (which produces single binaries you can run without having Deno installed) has gained some features that were previously missing (such as Worker support) and SB required.

The plan is to migrate away from deno bundle and to produce platform-specific builds for SilverBullet server using deno compile. I'm happy to do this anyway, because I had to do a fair bit of hacking to get deno bundle to actually bundle everything it needed and this would clean some of that up.

What needs to happen:

  • Make SB actually work with deno compile it doesn't on main
  • Create a new installer script (to replace the deno run ... line on the website right now) that determines the OS and architecture and downloads the appropriate zip file and extracts it locally
  • Update the silverbullet upgrade command to replace itself with a newer version when available
  • Update the latest silverbulllet.js on silverbullet.md to describe how to perform upgrades in the future.
  • Update the Desktop builds to also use the deno compile based binary, rather than running deno as a sub-process and distribute/sign it with the desktop distribution
  • Update Docker build
  • Update the documentation on how to install SilverBullet server

Beside reducing some technical debt, the cool thing is that regular users no longer need to install Deno at all. They will be able to run a single curl | sh style command to install SB and don't need to install and manage Deno separately.

@zefhemel zefhemel added the enhancement New feature or request label May 6, 2023
@zefhemel zefhemel self-assigned this May 6, 2023
@zefhemel
Copy link
Collaborator Author

zefhemel commented May 6, 2023

Work is currently in progress in the compile branch

@zefhemel zefhemel moved this to In Progress in Silver Bullet Roadmap May 6, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Silver Bullet Roadmap May 7, 2023
zefhemel added a commit that referenced this issue May 7, 2023
@zefhemel zefhemel moved this from Done to On Hold in Silver Bullet Roadmap May 7, 2023
@zefhemel
Copy link
Collaborator Author

zefhemel commented May 7, 2023

Sadly I have to put this on hold due to this blocker: denoland/deno#11154 which makes it impossible to create signed Mac desktop builds based on this new model. Reverted all the commits on main and keeping this work on the compile branch for now.

@zefhemel zefhemel reopened this May 7, 2023
@zefhemel
Copy link
Collaborator Author

Since there's now no need to sign anything anymore (since dropping the desktop app), this is unblocked. Question is still: do we want it?

@zefhemel zefhemel moved this from On Hold to Backlog in Silver Bullet Roadmap May 25, 2023
@CrossEye
Copy link

Well, I am just seeing SilverBullet for the first time today, but yes, I would love to see this.

Install failed at my locked-down corporate environment. I got deno running, but had trouble with loading SB's NPM dependencies.

I single executable is always easier.

@zefhemel zefhemel moved this from Backlog to On Hold in Silver Bullet Roadmap Jul 2, 2023
@zefhemel zefhemel moved this from On Hold to In Progress in Silver Bullet Roadmap Jul 2, 2023
@zefhemel zefhemel moved this from In Progress to On Hold in Silver Bullet Roadmap Aug 1, 2023
@zefhemel
Copy link
Collaborator Author

zefhemel commented Aug 9, 2023

A full transition is blocked because we need to figure out how to build ARM64 Linux builds, which Deno doesn't natively support. Maybe doing this inside an ARM64 docker image is an option.

@zefhemel
Copy link
Collaborator Author

zefhemel commented Mar 3, 2024

It's now possible to build for Linux arm in deno. So this one's unblocked again.

@zefhemel zefhemel moved this from On Hold to Done in Silver Bullet Roadmap Mar 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

2 participants