Remix.run Logo
Using Tailscale with an OrbStack VM on macOS(github.com)
46 points by highpost 3 days ago | 11 comments

Here's an example of how to build an Ubuntu VM using OrbStack on macOS and then connect to the VM through Tailscale SSH using an auth key stored in Apple Keychain.

For example, I can create a VM on my Mac mini at home that hosts a git repo or even a Forgejo server. A colleague in my Tailnet can then connect to this VM to clone, push or pull source code changes from a coffeeshop or airliner while not exposing the rest of my Mac mini.

threecheese 16 minutes ago | parent | next [-]

OrbStack is great, it makes everything so easy - like networking: VMs and containers can talk to the host and to each other using hostnames; and file sharing: there are automatic mounts between host and guest; and sshing around just works.

Part of that though requires adopting a security model where thats OK. As I’ve started sprinkling MacOS hosts and guests throughout my network, I’ve needed to adopt other vz tactics.

OPs use of Tailscale mirrors my own, but given the security model of OrbStack it’s mostly a convenience rather than a hard security partition within the lan or even the host.

philips 3 hours ago | parent | prev | next [-]

I recently learned of OrbStack and it feels like the only product that actually makes an effort to integrate VMs and Containers correctly and consistently into macOS.

Docker Desktop and Podman Desktop are both a treadmill made of Lego bricks.

jzelinskie 3 hours ago | parent [-]

Hi Brandon!

Have you tried Apple's container CLI[0]? I'm still mostly using OrbStack, but container gives me some hope for the future that Apple cares about this experience.

[0]: https://github.com/apple/container

dj0k3r 23 minutes ago | parent | next [-]

Curious if either of those support USBIP yet ? Last i checked there isn't a stable solution for it except maybe docker ?

highpost 42 minutes ago | parent | prev [-]

I also have a similar example repo for the Apple Containerization Framework.

https://news.ycombinator.com/item?id=48002958

robgough 2 hours ago | parent | prev | next [-]

I do all my dev inside docker/orbstack environments. I've been using a Tailscale sidecar for each, which has let me easily spin up second (and third!) copy of each repo without having to worry about them interfering with each other (the same open ports etc.). I've not extended to using worktrees, as right now I prefer entirely separate clone's of a repo, but that may well change and I suspect this would work well for that too.

https://robgough.net/multiple-app-instances-with-tailscale

Also has the handy effect of making it super easy to share my dev environment with anyone else on my tailnet, though this could be locked down if needed.

sudosteph 3 hours ago | parent | prev | next [-]

I use tailscale with Orbstack so that my agents on the vm can use tailscale serve to share dashboards I can view on my phone. Works out nicely.

One thing I noticed though, is that even if I set up the VM as a tagged device with limited access rules, if my host machine (the laptop) is connected as my user (which has less limited permissions), the vm uses my host's user permissions, which isn't really what I want. If I disconnect tailscale on the mac and leave the vm tailscale connected it works as intended though - so that's something to look out for.

Also, if you're using orbstack as an agent sandbox, just be aware that they only recently added an option for true filesystem isolation, the default setup doesn't really sandbox effectively.

kenanfyi an hour ago | parent | next [-]

Good to hear they added true isolation. I had immediately moved to Colima when I was considering options because of this.

chris_st 2 hours ago | parent | prev [-]

I have this setup, roughly, with UTM rather than orbstack. I think I have it set up safely, curious how you see it has the wrong permissions?

CalChris 3 hours ago | parent | prev [-]

Interesting. Can you do this with Forgejo?

skinfaxi 3 hours ago | parent [-]

What do you mean?