TL;DR Are you sure you want a Macbook Pro M1?
Just a bit of a quick rant here. I wanted to upgrade my 2012 Macbook Pro with a brand new one. I didn’t look too far behind the curtains and wasn’t thinking in terms of AMD64 vs. ARM64. Turns out they are different! Who knew! For a while I have been using two laptops. One, my Macbook Pro (8G Ram, i5 = pokey), and the other a HP EliteBook with Ubuntu Mate 18.04. The Macbook was used for work emails and web surfing, while the the EliteBook was for running StackStorm, Docker, Flask and Python development. I have a small KVM switch so moving between them is not too difficult. Naturally I wanted more!
I got to the point where I wanted just one laptop. A new 2021 Macbook Pro. I can run VMware Fusion on it and a big VM for the stackstorm, docker stuff. It was a dream that turned into a bit of a nightmare. VMware Fusion is just out with their public technical review (I’m running it) and it only has one screen size option when to try to set the resolution in Ubuntu. HUGE BUMMER! Guess I will wait for the formal release. That lead me to trying Parallels which is much more developed. All I had to do was get a copy of Ubuntu Mate and load it up. Another interesting find. I can’t run AMD64 distros on the M1 (ARM) chip. I had to look around for a Ubuntu release that had support for ARM64, I found one! Whew!
OK, problem solved and I have a beautiful Ubuntu Mate 20.04 desktop running in a VM on my M1 Mac! I was just about ready to leave for Disneyland, when I decided to try the next installation. Docker and Docker-Compose. I was quite satisfied when this worked with little effort. Now that I have a Docker host, I can just run stackstorm in docker. Turns out, that didn’t completely work. The redis, mongo and rabbitMQ containers run beautifully. The stackstorm containers constantly are restarting. Then I tried to hack the docker-compose.yml file with the –platform option but no luck. You cannot use the single command, command line install.sh either. It errors out with wrong architecture. My last ditch effort to install stackstorm was to try to do a complete manual installation. It didn’t go so well. Ok, Docker yes, stackstorm, no.
So buyer beware. Think about all the things you will want to do on your macbook. Sure, it’s a great piece of hardware (albeit lacking any useful ports but two USB-C). It’s fast. It’s sleek but it means I need to do the stackstorm development on the linux box. I would of been able to do everything I wanted to do on just the macbook if I bought the Intel version. Lesson learned. I am sure that these little complications will eventually get worked out as more and more developers start buying the M1 macs. Either that, or Apple will phase out Intel platforms altogether. So, it’s a waiting game. Until then, I have two laptops to lug around. Surprising outcome for a mad scientist like me.
For you overthinkers, you know who you are, you’re probably thinking “Hey, it’s a macbook, just do the docker and stackstorm sans the VM”. OK, I’m curios. Docker desktop installed and running. I loaded the stackstorm docker hub repo and stackstorm is up! YAY! Disneyland here I come…but not so fast. Out of the eighteen different containers it launches, only two of them will not start. st2-docker_st2makesecrets_1 and st2-docker_st2chatops_1. I could probably get by without the chat_ops (although it’s pretty cool) but I just wonder what I am missing in the st2makesecrets_1 container.