-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
OSX Daytona workspace #1338
Comments
New Quest!A new Quest has been launched in @daytonaio’s repo. Loot of 500 USD has been stashed in this issue to reward the solver! 🗡 Comment ⚔️ When you submit a PR, comment Questions? Check out the docs. 👉 If no one is assigned to the issue, you are welcome to embark on the quest and tackle it without confirmation from us. In the event that multiple PRs are made from different people, we will generally accept those with the cleanest code. |
Reading through sickcodes/Docker-OSX#799, it seems the DCMA issues should be resolved. From what I can see, you should be able to use the backup. |
Ok so finally I'm able to run MacOS Ventura on a container(it's just a VM on qemu using KVM launched in a docker container). The GUI is slow because it doesn't support GPU acceleration but I found that we can also run it without a GUI using Telnet or through this So to build a headless(without GUI) OSX container we need to set things up to use VNC so as to do the disk partitioning and installation but after that we can interact with entirely via SSH. This guide also reflects the above statment. |
Also tried dockur's OSX image, it seems to be fast and consumes less storage. It exposes a web U.I. of the macOS so no need for VNC! |
The URL is back up now https://hub.docker.com/r/sickcodes/docker-osx/. Now it's DMCA-proof! |
@unsuman looks nice. 🚀 For the next step, please create an example public repo (on your github account) where you can add a devcontainer config that will spawn an OSX container. Looking at the instructions, you should be able to achieve this with the Then try to run |
Ok! I did what you said. I created this repo and it seems that the dockurr/macos working correctly but got this at the end: I'm unsure about how to do this.
Can you please elaborate? I'm building and using daytona on a devcontainer and in the container I ran
|
That should be okay. First of all, the make command should rather be:
Regarding this. This also happens even if you installed sudo and curl inside the container image? |
Please also make sure to include the |
This comment was marked as abuse.
This comment was marked as abuse.
Yeah figured it out and it worked! Thanks!
|
Yeah did the same, thanks @divanshu-go ! |
Are you able to |
That's great! I'll try it out a bit later today and let you know how we should proceed. |
@quest-bot embark |
@unsuman has embarked on their Quest. 🗡
This is not an assignment to the issue. Please check the repo’s contribution guidelines before submitting a PR. Questions? Check out the docs. |
@quest-bot embark #1338 |
Are you trying to Comment Check the docs for more info. |
@quest-bot embark |
@Rutik7066 has embarked on their Quest. 🗡
This is not an assignment to the issue. Please check the repo’s contribution guidelines before submitting a PR. Questions? Check out the docs. |
@unsuman took a look and created a workspace with your example. While it does work and I can connect to the workspace with Daytona, we're still inside a Linux environment. For the next step, please do the following:
|
@Tpuljak I will try to figure out these things! Meanwhile here's something I got from the SickCodes community: |
@unsuman that sounds great! We're definitely up for improving the build time as long as it complies with DMCA. You can go in this direction and keep us updated. |
@Tpuljak Here is the update so far: We can use this for directly running commands inside OS X. This can help us mount the workspace folder:
Now from here we can proceed with/without a GUI as per user preference. A possible use-case scenario for the GUI can be building/running an iOS App where GUI is needed. I guess we should proceed with Qemu rather than VNC for the GUI because it adds an layer of user input which cannot be automatic:
|
@unsuman I see what you're getting at. The appeal for VNC for me was that it would work out of the box for remote workspaces as well. E.g. you create a workspace using the Azure provider and we have a VNC port forwarded, the user could easily view the UI. You can keep this use case in mind while doing the research. |
I am able to set VNC which can be viewed using a VNC viewer(I'm using RealVNC) on localhost:5999(without a password) but how can we use this in our use case? |
@Rutik7066 can you please update Daytona and all the providers to the latest version? |
It is resolved now I think it may be because of wsl2. I was using it for development. Now I have switched to Ubuntu. Now it it working. |
@Tpuljak Yes we can mount the current workspace folder please take look at my devcontainer.json .
Remember: in order to mount the folder. I had to be created before mounting.
|
@Rutik7066 can you please share a video (on Youtube like unsuman) of how this works with Daytona? Show how you open the GUI and how you access the workspace folder inside MacOS. |
I guess it is possible from what I can see from the community, I will try once the Docker naked image is fixed: |
@Tpuljak Sorry for not uploading the video. After switching to ubuntu it was not working
@Tpuljak I was wrong it is only mounting volume to the container only not the VM. I am testing different the approaches to solving this issue. Right now i am stuck at this error |
@Rutik7066 please run |
@Tpuljak Same error I am unable to find daytona directory in ubuntu. may be reinstalling can help |
It seems something in the config is not correct so it can't be parsed. A clean start might be best. Just run |
@Tpuljak Started Working |
@Tpuljak which image does daytona use to create devcontainer if git repository does not have any devcontainer config. where can I access the image code |
@Rutik7066 the image that we use is |
@Tpuljak Here is my current progress. I am not using the https://github.com/sickcodes/Docker-OSX image. clideo_editor_bb6421384fdf4e5c9f8d526a507bf68c.mp4Current Progress:
Drawbacks of the Current Approach:
I am looking for solutions to automate the disk selection process and am also trying to understand how we can create a no-picker boot disk at runtime to bypass the selection process. |
@Tpuljak which version of macos we want to support? and please share your thoughts on my current progress. |
@Rutik7066 ideally, we support all of them but we can focus on one at the moment. A few notes from my side:
|
@Tpuljak In the above solution I have figured out a solution for this problem
We can host pre-installed disk images (will be 25GB+ uncompressed ). So the user will not need to install and set up Mac on the first startup of the VM and we can also preinstall Daytona or agents in Mac so the Second problem that you specified will be solved. The only problem is that every time the user starts VM it will show the startup disk menu |
Can you set up an example of that?
No way we can work around this? |
To clarify, my comment before was referring to that boot disk screen. |
@Tpuljak, Ohk.
That screen sucks |
Sure I have hosted the preinstalled disk on S3 already (it is around 20GB++). I will create a public repo with my current setup to use that image and share the link of the repo to try . |
That would be great. You can use the installation script from our README in that case. This will make sure it's installed on the correct path. |
@Tpuljak I guess earlier, what I mentioned here can have some DMCA compliance issues since we will be distributing a pre-configured OSX that violates the T&Cs of Apple's bug bounty program, which is from where the sick codes/docker-osx project is built around! You can refer to this article, where SickCodes documented everything that's legal and not. So the user has to manually do the OS setup from what I can see! |
@unsuman right, I completely forgot about that. @Rutik7066 seems that your way is not the (legally) viable option. Maybe you 2 can brainstorm together (here or on Slack) on what might be the best and most seamless option. |
Sure, I'm up! We may discuss this on slack, what say @Rutik7066 ? |
@unsuman we can here. I am reading the article. |
@unsuman I am trying to figure out that what does pre configured means in our case. |
@unsuman can you please explain me what is pre configured in our case. |
@Rutik7066 Yes, they both are the same! Pre-configured/pre-installed is a I prefer to discuss on Slack(Discord will also be fine) because discussing here will clutter out current findings and annoy maintainers with unnecessary notifications. We will definitely post breakthroughs or ask any questions we may have here on the issue. |
@unsuman we will continue conversion on slack. |
Describe the solution you'd like
We should explore the possibility of running OSX images with Daytona to allow users to create workspaces in an OSX environment. This feature might enable additional native development workflows that can not be ran on Linux.
We should look into https://github.com/sickcodes/Docker-OSX as possible images to use.
Additional context
We should first discuss the approach here and outline the necessary changes, if any, needed to make this happen.
The text was updated successfully, but these errors were encountered: