Skip to content

Instantly share code, notes, and snippets.

@dnovais
Last active March 20, 2025 13:53
Show Gist options
  • Save dnovais/dc9ef2f51a3a5ee5b8332bad34333d96 to your computer and use it in GitHub Desktop.
Save dnovais/dc9ef2f51a3a5ee5b8332bad34333d96 to your computer and use it in GitHub Desktop.

📌 Tutorial: Usando OrbStack para rodar containers, uma VM Linux amd64, Ruby, Rails e Mise no macOS (M1/M2)

🛠 O que vamos fazer?

  1. Instalar o OrbStack no macOS
  2. Subir containers de serviços como PostgreSQL e Redis
  3. Criar uma máquina virtual Linux amd64
  4. Instalar dependências, Mise, Ruby e Rails na VM
  5. Usar o terminal, navegador e VSCode normalmente

🔹 1. Instalando o OrbStack

O OrbStack é um ambiente leve para rodar Docker e VMs Linux no macOS, ideal para máquinas com chips ARM (M1/M2).

🔽 Passo 1: Baixar e instalar o OrbStack

  1. Acesse https://orbstack.dev e baixe a versão mais recente.
  2. Abra o arquivo .dmg e arraste o OrbStack para a pasta Aplicativos
  3. Abra o OrbStack e siga as instruções de configuração

🔍 Verificando a instalação

Para garantir que o OrbStack está instalado corretamente, abra o Terminal e execute:

orb version

Se estiver tudo certo, o OrbStack mostrará a versão instalada.

Caso precise consultar os comandos disponíveis no OrbStack, use:

orb help

Isso exibirá uma lista com as opções e comandos disponíveis.


🔹 2. Rodando Containers com PostgreSQL e Redis

O OrbStack já vem com suporte a Docker, então podemos rodar containers diretamente.

📌 Passo 1: Criar um docker-compose.yml para PostgreSQL e Redis

Crie uma pasta para os serviços:

mkdir -p ~/orbstack-services && cd ~/orbstack-services

Crie um arquivo docker-compose.yml:

version: "3.8"

services:
  postgres:
    image: postgres:latest
    container_name: postgres
    restart: always
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: mydb
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:latest
    container_name: redis
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:

📌 Passo 2: Subir os containers

Execute:

docker-compose up -d

Agora você tem PostgreSQL rodando na porta 5432 e Redis na 6379.
Para verificar os containers rodando:

docker ps

Se precisar parar os serviços:

docker-compose down

🔹 3. Criando uma Máquina Virtual Linux com Arquitetura amd64

Por padrão, o macOS M1/M2 usa ARM64, mas alguns softwares exigem amd64 (x86_64).
O OrbStack permite rodar uma VM amd64 sem complicações.

📌 Passo 1: Criar a VM Linux amd64

Execute no terminal:

orb create -a amd64 ubuntu linux-amd64 --set-password <senha>

Importante: Substitua <senha> por uma senha que você consiga lembrar.

Isso criará uma máquina virtual Ubuntu com arquitetura amd64.

📌 Passo 2: Iniciar e acessar a VM

Para iniciar:

orb start linux-amd64

Para acessar:

orb shell linux-amd64

Agora você tem um ambiente Linux compatível com amd64, evitando problemas de compatibilidade no macOS M1/M2!

📌 Passo 3: Verificar a arquitetura

Dentro da VM, execute:

orb uname -a

Se tudo estiver correto, a saída será x86_64.

Caso precise consultar os comandos disponíveis no OrbStack, execute:

orb help

🔹 4. Instalando Dependências, Mise, Ruby e Rails na VM

Antes de instalar o Mise e o Ruby, precisamos garantir que todas as dependências estão instaladas.

📌 Passo 1: Instalar Dependências para o Ruby

Execute dentro da VM OrbStack:

sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev \
  libsqlite3-dev libffi-dev libgdbm-dev libncurses5-dev libyaml-dev \
  libgmp-dev libgmp3-dev autoconf bison

📌 Passo 2: Instalar o Mise

Dentro da VM, execute:

curl https://mise.run | sh
exec $SHELL

Verifique a instalação:

mise --version

📌 Passo 3: Instalar Ruby

Dentro da VM, execute:

mise install ruby

Defina a versão global do Ruby:

mise use -g ruby latest

Verifique a instalação:

ruby -v

📌 Passo 4: Instalar Rails

Agora, instale o Rails:

gem install rails

Verifique a instalação:

rails -v

Agora você tem Ruby e Rails rodando dentro da VM Linux amd64.


🔹 5. Usando o terminal, navegador e VSCode normalmente

📌 Terminal Normal

Você pode acessar a VM no terminal normal do macOS:

orb shell linux-amd64

Se quiser rodar Rails normalmente:

rails new meu_projeto
cd meu_projeto
rails s

E acessar pelo navegador normal em http://localhost:3000.

📌 Acessando arquivos no VSCode

Se quiser editar o projeto no VSCode sem complicação, instale a extensão Remote - SSH no VSCode e acesse a VM por SSH.

Ou use o comando:

code .

Isso abrirá o projeto no VSCode normal, como se fosse um ambiente local.


🎯 Conclusão

Agora você tem um ambiente completo no OrbStack, rodando:
✅ Containers para PostgreSQL e Redis
✅ Uma máquina virtual Ubuntu amd64, evitando problemas no M1/M2
Ruby e Rails instalados com Mise
✅ Tudo funcionando no terminal, navegador e VSCode normal

Se precisar remover a VM:

orb delete linux-amd64

Se precisar parar os containers:

docker-compose down

Agora seu ambiente está pronto! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment