toolbox2docker icon indicating copy to clipboard operation
toolbox2docker copied to clipboard

lite version without vbox

Open egandro opened this issue 1 year ago • 11 comments

PoC for Lite version

  • we create two files now
  • I suggest having separate names e.g. "Toolbox2docker" and "Toolbox2docker-lite" (this is reflected in the installed Apps on windows)
  • We have to change the AppId to a new Random Guid (as Toolbox2docker-lite creates a new directory and this can cause issues when - stupid - users installs the full on an existing lite version and the way around)
  • For security reasons - you as maintainer - please create a random guid (in the Docker.windows file) and don't use "my magic string from a random dude" of the internet is not trustworthy
  • AppId={{FC4417F0-D7F3-48DB-BCE1-F5ED5BAFFD91} looked somehow odd - as it has only one closing bracket - but it's correct https://stackoverflow.com/posts/61174457/revisions (please double check - I am no expert).

Ping me if I need to add changes.

egandro avatar May 29 '24 23:05 egandro

Things that need looking into: windows/Toolbox.iss -> virtualbox in arrays still deciding whether to use seperate make targets

kaosagnt avatar Jun 06 '24 02:06 kaosagnt

Things that need looking into: windows/Toolbox.iss -> virtualbox in arrays still deciding whether to use seperate make targets

We should (maybe) consider doing that on mac, too.

I am not 100% sure. The days o x86_64 macs might be over. So even touchting that might be not worth the time.

I don't think that many developers have a need to run Toolbox2Docker on macOS.

egandro avatar Jun 06 '24 09:06 egandro

Things that need looking into: windows/Toolbox.iss -> virtualbox in arrays still deciding whether to use seperate make targets

We should (maybe) consider doing that on mac, too.

I am not 100% sure. The days o x86_64 macs might be over. So even touchting that might be not worth the time.

I don't think that many developers have a need to run Toolbox2Docker on macOS.

He, He , I use macOS. Haven't used windows for development since 2021.

Docker CLI is compiled for macOS arm64 and I can build docker-machine for macOS arm64 as well. That just leaves creating an arm64 port of boot2docker. As I don't have a modern arm based mac just lot of Intel macs this hasn't been a priority.

kaosagnt avatar Jun 07 '24 00:06 kaosagnt

I use UTM on my M1 mac mini. It's super simple to setup a arm64 Linux.

You just have todo a:

  • install Debian/Ubuntu in UTM
  • wget https://download.docker.com/mac/static/stable/aarch64/docker-20.10.24.tgz -o docker.tgz && tar xf docker.tgz
  • export DOCKER_HOST=ssh://<ip-of-linux-in-utm>
  • docker run hello-world

I have no idea how vbox (arm64 - if such a thing exists) compares to UTM.

Correct me if I am wrong - for this PR I doubt that we have to care about a macOS Lite version.

egandro avatar Jun 09 '24 19:06 egandro

I use UTM on my M1 mac mini. It's super simple to setup a arm64 Linux.

You just have todo a:

  • install Debian/Ubuntu in UTM
  • wget https://download.docker.com/mac/static/stable/aarch64/docker-20.10.24.tgz -o docker.tgz && tar xf docker.tgz
  • export DOCKER_HOST=ssh://<ip-of-linux-in-utm>
  • docker run hello-world

I have no idea how vbox (arm64 - if such a thing exists) compares to UTM.

No arm for Virtualbox.

Correct me if I am wrong - for this PR I doubt that we have to care about a macOS Lite version.

No macOS for this PR.

kaosagnt avatar Jun 11 '24 09:06 kaosagnt

Is there anything missing?

Do I have todo anything to make progress here?

egandro avatar Jun 14 '24 09:06 egandro

Is there anything missing?

There are virtualbox references all over the Installer in Toolbox.iss in the windows directory. This needs to be looked at when I have time.

Do I have todo anything to make progress here?

Ensure that the installer looks and functions correctly if you're able to.

kaosagnt avatar Jun 24 '24 08:06 kaosagnt

Is there anything missing?

There are virtualbox references all over the Installer in Toolbox.iss in the windows directory. This needs to be looked at when I have time.

Yes but we simply disable them via sed. We don't display them in the UI and we don't package anything in the setup.

Do I have todo anything to make progress here?

Ensure that the installer looks and functions correctly if you're able to.

The functions are there - but we never call them.

  • We can make Toolbox.iss and ToolboxLite.iss. I highly question the value of splitting the files.
  • We can also bring in (yet another tool) to generate Toolbox.iss and ToolboxLite.iss - I also question the value of this approach.
  • We might use partial files and use cat to join Toolbox.iss from a ToolboxLite.iss + ToolboxVMpartials.iss - I also question the value of this approach :)

This is also ugly - because it's doesn't look like a magic string - it is a magic string.

RUN if [ "$VARIANT" = "-lite" ]; then \
		sed -i 's|^#define MyAppName "Toolbox2docker"|#define MyAppName "Toolbox2docker'$VARIANT'"|g' Toolbox.iss; \
		sed -i 's|^AppId=.*$|AppId={{5DFD8320-1E10-11EF-9E35-0800200C9A66}|g' Toolbox.iss; \
		sed -i 's|^Name: vbox_ndis5;|// Name: vbox_ndis5;|g' Toolbox.iss; \
		sed -i 's|^Name: "VirtualBox";|// Name: "VirtualBox";|g' Toolbox.iss; \
		sed -i 's|^Source: "{#virtualBoxMsi}"|// Source: "{#virtualBoxMsi}"|g' Toolbox.iss; \
		sed -i 's|Wizardform\.ComponentsList\.|// Wizardform\.ComponentsList\.|g' Toolbox.iss; \
	fi && \
	wine ../innosetup/ISCC.exe Toolbox.iss /DMyAppVersion=$INSTALLER_VERSION /DMixpanelToken=$MIXPANEL_TOKEN

egandro avatar Jul 04 '24 10:07 egandro

Any progress here?

egandro avatar Dec 05 '24 13:12 egandro

Any progress here?

egandro avatar Feb 13 '25 20:02 egandro

Any updates here?

egandro avatar Oct 28 '25 10:10 egandro