Skip to content

Adding OctoEverywhere Support#210

Closed
QuinnDamerell wants to merge 14 commits into
paxx12-snapmaker-u1:developfrom
OctoEverywhere:add-octoeverywhere
Closed

Adding OctoEverywhere Support#210
QuinnDamerell wants to merge 14 commits into
paxx12-snapmaker-u1:developfrom
OctoEverywhere:add-octoeverywhere

Conversation

@QuinnDamerell
Copy link
Copy Markdown
Contributor

This is my first attempt at adding OctoEverywhere support to the firmware. Feel free to ask for any edits or changes you want. I roughly modeled it off the Tailscale, Monitoring, and Moonraker services/integrations.

Testing

  • I tested the package and init.d scripts on the printer to ensure they work.

TODO

  • I was not able to test the firmware_config parts of the docs, because I think that feature hasn't released yet?

Please provide feedback! @paxx12

@QuinnDamerell QuinnDamerell marked this pull request as draft January 31, 2026 00:51
@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

QuinnDamerell commented Jan 31, 2026

This is being discussed in issue #203

@cdvankammen
Copy link
Copy Markdown

This is just a personal thought @paxx12 and @QuinnDamerell I would be interested to see your thoughts on implementing this.

https://github.com/jbatonnet/Rinkhals
In rinkhals (which is the hack that is used for Anycubic Kobra 3 and s1 series printers) written and maintained by a genius level group of people.)

Jbonnet implemented an app style system to help keep things "apps" centralized using scripts system. I was talking with him on the discord and from what I can understand about the code he shared it should be possible to just implement it on any system with similar chips which the U1 does.

Here is the app system and @QuinnDamerell it has some maybe helpful stuff for octoeverwhere support. https://github.com/jbatonnet/Rinkhals.apps

https://github.com/jbatonnet/Rinkhals.Apps/tree/master/apps/octoeverywhere

I only mention this because alot of what has been implemented seems extreemly close to what this group of people has been trying to do with the K3 and K3m. I think he has a similar philosophey of making sure that he does not touch the main firmware but only add files that are easy to uninstall. The apps can be disabled and enabled from the GUI.

@cdvankammen
Copy link
Copy Markdown

Not sure if it is helpful or means much in relation to how you would like to carry out the U1 but thought it may provide helpful script work for easy installing of and use of octoeverywhere

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Jan 31, 2026

@cdvankammen I would personally prefer to have some internal support for apk or opkg. As today with tailscale-pkg I reinvented package manager, which I personally dislike a lot. And this is my desired approach.

@paxx12 paxx12 added the external-components Label to indicate that this PR adds a support for external component or integration label Jan 31, 2026
@cdvankammen
Copy link
Copy Markdown

So for anything we want to add into the future you are wanting to make it like mac where everything is included in a single run application? if I am not mis understanding?

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Jan 31, 2026

@cdvankammen Not all, some. The tailscale did not end-up in firmware as it bumped up by 30MB the image. So, if components are rarely to be used, and big and do require internet access to function in general it seems like better to pull them from internet. But if component is not online, rather offline, I would prefer this to be bundled.

@QuinnDamerell QuinnDamerell marked this pull request as ready for review January 31, 2026 16:19
@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

I'm going to mark this as open because, from my perspective, it has everything OE needs. Please let me know if there are any edits, changes, or different patterns you would rather me use, and I can update them.

Is there an easy way for me to build the firmware locally with these changes to actually test them end-to-end?

@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

Is there an easy way for me to build the firmware locally with these changes to actually test them end-to-end?

I guess this is a question for you @paxx12

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Jan 31, 2026

@QuinnDamerell look at docs/development.md

@@ -28,6 +28,7 @@ vpn: none
# klipper_exporter: :9101

[octoeverywhere]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is part of remote_access:. Maybe we should name it cloud: none, octoeverywhere?

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Jan 31, 2026

@QuinnDamerell I think I would like to see this follow that pattern:

  • extended.cfg: [remote_access] cloud:
  • firmware config: Remote Access => Cloud => None, OctoEverywhere
  • docs/cloud.md: Cloud Services, one of those being # OctoEverywhere
  • S99cloud: as a single placeholder where depending on cloud: different companion would be run
  • The octoeverywhere (+x) are OK

I would also want that firmware config will: download, run service, wait for logs to show access token, so user will not have to login via SSH to configure OctoEverywhere. Similar how it works with Tailscale.

WDYT about those changes?

@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

That's the biggest thing I was wondering about. I didn't want to put it as remote access because it's more than that. So I think cloud would be a good common root.

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Feb 1, 2026

@QuinnDamerell Yes, I think this is part of [remote_access] but really the cloud: type. Cloud would indicate here: accessing the printer, timelapses, screenshots from anywhere in the world.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 1, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: 481c88f (merge of 7e7ae2d into develop)
Duration: 4m 57s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.10 MB

View workflow run

@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

@paxx12 I moved all of the docs to a cloud.md doc and moved the config options to remote_access -> cloud. The only thing I need to do now is figure out how to set up the firmware_config page with the settings and grep for the account linking URL.

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Feb 1, 2026

@QuinnDamerell

It should look more or less like this:

settings:
  remote_access:
    label: Remote Access
    items:
      vpn:
        label: Cloud Access
        get_cmd:
          - /usr/local/bin/extended-config.py
          - get
          - /home/lava/printer_data/config/extended/extended2.cfg
          - remote_access
          - cloud
          - none
        options:
          none:
            label: None
            cmd:
              - bash
              - -xc
              - |
                /usr/local/bin/extended-config.py add /home/lava/printer_data/config/extended/extended2.cfg remote_access cloud none &&
                /etc/init.d/S99cloud stop
          octoeverywhere:
            label: OctoEverywhere
            cmd:
              - bash
              - -xc
              - |
                /usr/local/bin/octoeverywhere-pkg download &&
                /usr/local/bin/extended-config.py add /home/lava/printer_data/config/extended/extended2.cfg remote_access cloud octoeverywhere &&
                /etc/init.d/S99cloud restart &&
                /usr/local/bin/octoeverywhere up --timeout=60s # to pull the access tokens
        default: none

Create in a place similar as current vpn.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 1, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: 9200241 (merge of 8cab8fc into develop)
Duration: 5m 40s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.10 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 1, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: 3a8f9ee (merge of 694d18a into develop)
Duration: 5m 25s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.10 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 2, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: 01c7dcf (merge of a7642f9 into develop)
Duration: 4m 59s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 2, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: dc5d90d (merge of 385116c into develop)
Duration: 5m 54s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 2, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: fbe6e30 (merge of 137eb05 into develop)
Duration: 5m 49s

Artifact Size
basic-build 205.27 MB
extended-build 240.70 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 4, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: a1cb1d5 (merge of 848b78d into develop)
Duration: 5m 17s

Artifact Size
basic-build 205.27 MB
extended-build 240.71 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 4, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: ab9cba2 (merge of 99c0322 into develop)
Duration: 4m 53s

Artifact Size
basic-build 205.27 MB
extended-build 240.71 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Feb 5, 2026

✅ Build Artifacts

Version: 1.1.0-paxx12-test-pr-210
Build: 3e7234e (merge of 48e5503 into develop)
Duration: 5m 44s

Artifact Size
basic-build 205.27 MB
extended-build 240.71 MB
basic-devel-build 205.68 MB
extended-devel-build 241.11 MB

View workflow run

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Feb 6, 2026

@QuinnDamerell Please allow this PR to be edited. I do have some changes that I want to push.

@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

@paxx12 Hmm, I'm trying to figure out how to do that, I don't see the option

@QuinnDamerell
Copy link
Copy Markdown
Contributor Author

Maybe I can't because it's based on my repo?

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Feb 6, 2026

Ok. You can't, since this is forked into organization, not user profile.

@paxx12
Copy link
Copy Markdown
Contributor

paxx12 commented Feb 6, 2026

Closed in favor of the #244

@paxx12 paxx12 closed this Feb 6, 2026
@QuinnDamerell QuinnDamerell deleted the add-octoeverywhere branch June 5, 2026 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

external-components Label to indicate that this PR adds a support for external component or integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants