-
-
Notifications
You must be signed in to change notification settings - Fork 226
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
[WIP] packaging, service, upgrade changes #1759
base: main
Are you sure you want to change the base?
[WIP] packaging, service, upgrade changes #1759
Conversation
Build deb w/ debhelper instead of electron-builder Remove ratpoison as OctoDash is the sole window. Create systemd service to launch OctoDash directly without a tty shell. Set systemd target to graphical. Incorperate xinit script into package. Create symlink for /usr/bin/octodash -> /opt/OctoDash/octodash Modify install/remove scripts to re-execute self with sudo. Deprecate using remove.sh. Removing via apt should be sufficient now. Add --version switch to octodash. Move release URL to environment variable Disable security when in dev mode (Bypass CORS checks) Remove update.sh Prevent remove.sh from running on newer installs
Great thank you! :) Going to have a look at that once v2.2.0 is released. Please don't worry about the pipeline / merge conflicts so far. |
@UnchartedBull did you mean until v3.0.0 is released? What would be the right milestone for this PR? |
This will be the main feature of v3.0.0, since this are actually breaking changes. V3.0.0 should have a rather short Changelog with this being the main feature. |
Ran into a few issues on non-OctoPi installs which I'll be looking into. One was with the user/group config and another was with the service not playing nice if lightdm was already installed. Will also be looking to see if I can remove the need for |
I also run a non-OctoPi image. Problem is that my V-Core 3 just got shipped so the printer is blocked for the next week or so. After that I'm going to start testing though :) |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Oh didn't knew stale bot is also going to close PRs :o. Sorry for that |
This PR changes a chunk of things but they all kind of tie into each other.
Changelog / Notes
Rework deb packaging using native deb tooling instead of electron-builder/fpm which has limited options.
Make use of docker for builds. This is to provide debian package tooling on non debian systems.
Rework upgrade process in OctoDash to update itself via file download and extract. No need to install new debs. Follows similar model to Sonarr. Currently uses rsync but perhaps there's a better way in node.
Add --version flag to octodash. NOTE: I couldn't figure out how to make it work over a headless session without prepending DISPLAY=:0 to octodash. (Ex
DISPLAY=:0 octodash --version
) It also throws some weird error regardless but shows the version. Perhaps you know of a better method or a fix. Not truly required but seems like it's worth having.Use a systemd service to launch octodash with configurable user. Create user if not exist. (Defaults to: pi)
Remove ratpoison as it doesn't appear to be necessary.
Drop the
upgrade.sh
script as it's not needed.Update the install/remove scripts. Might be completely removable if OctoDash no longer needs to install plugins.
Make use of environment config files to use test URLs for dev work. (releaseCheckUrl)
Build Instructions:
Additional requirements: make, docker(non-root)
make
package/
directory as a sub directory with a unix timestamp.Install Instructions:
apt-get -f install ./DEBFILE.deb
systemctl start octodash
Upgrade Instructions (Option A):
systemctl start octodash
Upgrade Instructions (Option B):
/opt/OctoDash
. Extra/orphan files will be deleted.NOTE: The deb does not to be updated at this point unless changes need to be made outside of the
/tmp/OctoDash
directory.Comments / Questions
electron-root-path
. There could be another that I'm missing. Let me know the best way to handle this. Currently I get an error about the package-lock version being different. I'm using:Phew 🤯