Community Hass.io Add-on: IDE, based on Cloud9

Needed separate repository with version 0.1.0 for RPi

yeah good point. so we donā€™t accidentally update! (or when people do a fresh install)

ARM canā€™t update it said:

ERROR (SyncWorker_16) [hassio.docker.interface] Canā€™t install hassioaddons/ide-armhf:0.2.0 -> 404 Client Error: Not Found (ā€œmanifest for hassioaddons/ide-armhf:0.2.0 not foundā€).

so the issue will be that we also cant install it again if we need to run a fresh HassIO installā€¦ like you say, would be nice to have a repository for the old version. @frenck think you would mind leaving an old version for us for a while as a separate repository? Also, what would be the plan going forward with regard to the upcoming OS change? Would a version for that support RPi? or that platform not to be continued at all in any capacity?

I canā€™t install this add on, I get errors

18-05-14 10:46:41 INFO (SyncWorker_14) [hassio.docker.interface] Update docker 0.2.7 with homeassistant/armhf-addon-configurator:0.3
18-05-14 10:46:41 INFO (SyncWorker_14) [hassio.docker.interface] Pull image homeassistant/armhf-addon-configurator tag 0.3.
18-05-14 10:47:22 INFO (SyncWorker_14) [hassio.docker.interface] Tag image homeassistant/armhf-addon-configurator with version 0.3 as latest
18-05-14 10:47:22 INFO (SyncWorker_14) [hassio.docker.interface] Stop homeassistant/armhf-addon-configurator docker application
18-05-14 10:47:24 INFO (SyncWorker_14) [hassio.docker.interface] Clean homeassistant/armhf-addon-configurator docker application
18-05-14 10:47:24 INFO (SyncWorker_14) [hassio.docker.interface] Cleanup docker images: ['homeassistant/armhf-addon-configurator:0.2.7']
18-05-14 10:47:29 INFO (SyncWorker_9) [hassio.docker.addon] Start docker addon homeassistant/armhf-addon-configurator with version 0.3
18-05-14 10:50:43 INFO (MainThread) [hassio.addons.git] Clone addon https://github.com/hassio-addons/repository repository
18-05-14 10:50:47 INFO (MainThread) [hassio.addons] Load addons: 33 all - 13 new - 0 remove
18-05-14 10:52:14 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf
18-05-14 10:53:20 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf
18-05-14 10:56:05 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf
18-05-14 10:56:17 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf
18-05-14 11:00:00 INFO (MainThread) [hassio.addons.git] Pull addon https://github.com/home-assistant/hassio-addons repository
18-05-14 11:00:00 INFO (MainThread) [hassio.addons.git] Pull addon https://github.com/hassio-addons/repository repository
18-05-14 11:00:02 INFO (MainThread) [hassio.addons] Load addons: 33 all - 0 new - 0 remove
18-05-14 11:00:20 INFO (SyncWorker_2) [hassio.docker.interface] Update docker 0.68.1 with homeassistant/raspberrypi3-homeassistant:0.69.1
18-05-14 11:00:20 INFO (SyncWorker_2) [hassio.docker.interface] Pull image homeassistant/raspberrypi3-homeassistant tag 0.69.1.
18-05-14 11:03:57 INFO (SyncWorker_2) [hassio.docker.interface] Tag image homeassistant/raspberrypi3-homeassistant with version 0.69.1 as latest
18-05-14 11:03:57 INFO (SyncWorker_2) [hassio.docker.interface] Stop homeassistant/raspberrypi3-homeassistant docker application
18-05-14 11:04:11 INFO (SyncWorker_2) [hassio.docker.interface] Clean homeassistant/raspberrypi3-homeassistant docker application
18-05-14 11:04:12 INFO (SyncWorker_2) [hassio.docker.interface] Cleanup docker images: ['homeassistant/raspberrypi3-homeassistant:0.68.1']
18-05-14 11:04:22 INFO (SyncWorker_13) [hassio.docker.homeassistant] Start homeassistant homeassistant/raspberrypi3-homeassistant with version 0.69.1
18-05-14 11:05:42 INFO (MainThread) [hassio.homeassistant] Detect a running Home-Assistant instance
18-05-14 11:08:48 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf
18-05-14 11:14:25 ERROR (MainThread) [hassio.addons.addon] Addon a0d7b954_ide not supported on armhf

probably related to this commit by @frenck :
https://github.com/hassio-addons/addon-ide/commit/f274771052850bd035eda6c7a672b4319f928dec

I just made some side repository to allow installing IDE version 0.1.0 for people like me with rpi3.

1 Like

I hope so too! I do have a plan, but that is not going to be short-term. I really needed to move forward for several reasons.

The plan includes adding actual ARM based servers (native ARM CPUā€™s) to the build system. Which will at least solve the building issues and build times. In order to do this, I need to make modifications to my build and publish pipelines to support ARM in the first place. This takes time, but is part of the plan anyways, since it would speedup the process of all my add-ons.

Good point, sorry m8.

Iā€™m not feeling comfortable with this, mainly because of CVEā€™s present in this version. Secondly, it will break (and already is a bit broken).

The new platform has nothing to do with the add-on issues.

Thank you for your reply sir, please scroll up a littleā€¦ Support for ARM (Raspberry Pi) has been dropped.

This will do, but be aware that things will break and please note that that version contains CVEā€™s.

Maybe I missed something, can you please give some more info regarding the CVEā€™s?

You might have missed the docker/binfmt story, but thereā€™s a way to build software for ARM (or any other platform, to that extent) on a regular x86 machines typically used by various hosted CI.

Trick involves using multi-arch base-images for docker, that already have all emulation embedded.
I wrote a short piece on similar topic here:

Thereā€™s multiple other references on the web, including guides how to exactly use CI systems with multi-arch capabilities.

Hope youā€™ll reconsider getting ARM support (-hf and -64) back.

@lobradov Thank you for trying to help me out.
However, before teaching me a lesson, be sure to check out my work. You might have found that Iā€™m using that alreadyā€¦

See for example my CI pipeline for Pi-hole: https://gitlab.com/hassio-addons/addon-pi-hole/pipelines/21950541

The Community Add-ons project even provides the Qemu user static binaries for those images: https://github.com/hassio-addons/qemu-user-static

And a Hass.io multi-arch add-ons builder: https://github.com/hassio-addons/build-env

The issue is not with the cross build, the issue it with the Qemu being to slow to allow these kind of build to finish within a reasonable timeframe (for the record, I use 3 dedicated servers, i7/Xeon grade, with 8-16Gb of ram, SSDā€™s, just for building). Secondly, pty node package is having issue on these platforms as well (hence a lot of you experienced a non working terminal inside the Cloud9 IDE).

Iā€™ve always and still am considering supporting all architectures. The current plan is to adjust the build environment to directly support ARM, which would allow me to add ARM native build servers and remove the need for emulation all together. This just takes time in this case, please allow me for that.

Again, thank for pointing it out, but be sure to do some research next time.

Youā€™re right and I apologize for taking your time.
Good luck.

1 Like

What does ā€œCVEā€ mean? I donā€™t know if I care that something contains ā€œCVEā€™sā€

TLDR; security issues / bugs.

1 Like

Installed Docker image on Raspberry Pi 3 with Raspbian Stretch like this:

docker run -d --restart always --name cloud9-ide -p 8181:8181 -it -v ~/projects:/workspace hwegge2/rpi-cloud9-ide node server.js -w/workspace --listen 0.0.0.0 -a user:password

This seems newer version with working terminal but I canā€™t set working folder so files not accessible, tried editing this parameter ā€œ-v ~/projects:/workspaceā€ but no seccess

anyone can help set it up?

my hassio config folder is /usr/share/hassio/homeassistant but making this:
ā€œ-v ~/usr/share/hassio/homeassistant:/workspaceā€ not working

@g0g0 Thanks, but please say on topic. Your reply has nothing to do with the add-on. Feel free to create a new topic for support about other things.

Thank you in advance.

(PS: That is NOT a newer version, the Docker container your are trying to run is 2 years old, so be awareā€¦)

If there are any resource as opposed to temporal constraints with setting up performant native build boxes for ARM flavors, I would be more than happy to chip in. Iā€™ve been burned a few times by the time sinkhole that is architecture emulation.

Little heads up.
Iā€™ve tested the new build system on this add-on yesterday (using native builds) and it seems to fix the ARM issueā€™s. I still needs some more testing, but I have a working IDE add-on on a Raspberry Pi again, including a working terminal. :tada:

Great newsā€¦ saving up for a :coffee: contributionā€¦

:tada: Release v0.3.0

Back with a fine release this time! A pretty exciting one I must say!

Many many many of you complaint about dropping the ARM support (e.g. Raspberry Pi).
This release adds it back in! :metal:

Also, user and project setting will now persist across add-on restarts and reboot!
The most amazing part though, it not only remembers your settings, it will remember the state you left the IDE in, and restores it! :heart:

Enjoy the release, and if it does not show up, be sure to hit the refresh button in the add-on store.

Full Changelog

Added

  • Adds back ARM support (#13)
  • Adds the Go-based HassioCLI
  • Adds zip
  • Adds persistent storage of user and project settings
  • Adds nmap v7.60-r2
  • Adds pwgen 2.08-r0
  • Adds sqlite v3.21.0-r1

Fixed

  • Fixes typo in Dockerfile
  • Fixes BUILD_ARCH location

Changed

  • Moves build-env to latest
  • Upgrades base image to v1.4.2
  • Upgrades bind-tools to 9.11.3-r0
  • Upgrades git to 2.15.2-r0
  • Improved workspace settings

Removed

  • Removes the old Bash-based HassioCLI
6 Likes