freyr-js icon indicating copy to clipboard operation
freyr-js copied to clipboard

Release precompiled binaries for every platform

Open miraclx opened this issue 3 years ago • 3 comments

#121 introduces CI automation for NPM and Docker Hub publishing, #148 automates GitHub releases.

We should consider using a solution like https://github.com/vercel/pkg to package freyr into a single executable, self-contained with all dependencies, built for all platforms and served straight from the releases page.

The issues with this is as follows;

  • Having to update youtube-dl periodically.
  • Having to update the Apple Music API token periodically.

However, solutions can be worked out for that, so I'll leave this issue here.

miraclx avatar Feb 21 '22 08:02 miraclx

This is a great idea. Maybe you could integrate a .freyr-config.json file inside of the user's home. Then, every time Freyr runs, it could verify the token against one inside of a raw GitHub url, then update it if it needs to. About the youtube-dl issue, you could just have entire app updates with the new, updated, youtube-dl package added. There's my two cents, but love the program!

bluefoxy009 avatar Mar 09 '22 21:03 bluefoxy009

Additionally, consider this log from a Linux machine:

       | ➤ Collating sources...
       |  ➤ [•] YouTube Music...[success, found 5 sources]
       | ➤ Awaiting audiofeeds...(failed: [Command failed with ENOENT: /snapshot/freyr-js/node_modules/youtube-dl-exec/bin/youtube-dl --socket-timeout 20 --no-cache-dir --dump-single-json -- L0yOCIqqBWM
spawn /snapshot/freyr-js/node_modules/youtube-dl-exec/bin/youtube-dl ENOENT]) ```

bluefoxy009 avatar Mar 09 '22 22:03 bluefoxy009

@hard-shutdown, could you file another issue for this one specifically, I'll address it there. (referenced: #158)

miraclx avatar Mar 09 '22 22:03 miraclx