Guia de instalação · macOS

Rodando o OpenCut na sua máquina

O OpenCut é um editor de vídeo open source que roda no navegador — uma alternativa ao CapCut em que os arquivos nunca saem do seu computador. Ele não tem instalador: você sobe o app localmente. São nove passos.

Tempo
~15 min
Espaço
~2 GB
Requisito
Homebrew
Resultado
localhost:3000

Comece pelo repositório certo

O repositório que aparece primeiro numa busca, OpenCut-app/OpenCut, está sendo reescrito do zero. O app de desktop dele, nas palavras do próprio README, é hoje “apenas uma janela que abre”. Se você seguir por ali, não vai conseguir editar nada.

A versão que funciona — e que roda no site oficial — é opencut-app/opencut-classic. É essa que este guia instala.

Preparando o terreno

Duas ferramentas que o projeto exige e que provavelmente não estão na sua máquina.

1

Instale o Bun

O projeto usa Bun no lugar do npm. O instalador já adiciona o comando ao seu .zshrc.

terminal
curl -fsSL https://bun.sh/install | bash

Abra um terminal novo e confirme:

terminal
bun --version
2

Instale o Docker

Serve para rodar o banco de dados e o Redis. Em vez do Docker Desktop, que é pesado e precisa ficar aberto, o Colima faz o mesmo pela linha de comando.

terminal
brew install colima docker docker-compose

O Compose vem como plugin e precisa ser apontado ao Docker:

terminal
mkdir -p ~/.docker
echo '{"cliPluginsExtraDirs":["/opt/homebrew/lib/docker/cli-plugins"]}' \
  > ~/.docker/config.json

Ligue a máquina virtual. Da primeira vez ela baixa uma imagem, então demora um pouco.

terminal
colima start
Confira

docker compose version deve responder com um número de versão.

Montando o projeto

Baixar o código, configurar e subir os serviços.

3

Clone o repositório

terminal
git clone https://github.com/opencut-app/opencut-classic.git
cd opencut-classic
4

Crie o arquivo de configuração

O exemplo já vem com valores que combinam com o Docker do projeto. Só falta gerar a chave de autenticação, que não pode ficar com o texto de exemplo.

terminal
cp apps/web/.env.example apps/web/.env.local

sed -i '' "s|BETTER_AUTH_SECRET=your_better_auth_secret|BETTER_AUTH_SECRET=$(openssl rand -base64 32)|" \
  apps/web/.env.local
Confira

grep BETTER_AUTH_SECRET apps/web/.env.local deve mostrar uma sequência aleatória.

5

Suba o banco e o Redis

São três containers. Na primeira vez o Docker baixa as imagens.

terminal
docker compose up -d db redis serverless-redis-http
Confira

docker compose ps deve listar os três como healthy.

6

Instale as dependências

São cerca de 1.900 pacotes, mas o Bun resolve em menos de um minuto.

terminal
bun install

Você não precisa compilar nada de Rust. O app usa o pacote opencut-wasm já publicado; compilar só é necessário se você for mexer no código Rust do projeto.

7

Crie as tabelas do banco

terminal
cd apps/web
bun run db:migrate
cd ../..

Ligando

O último passo antes de abrir o editor — e um ajuste que faz toda a diferença.

8

Desligue o overlay de depuração

Este passo não está na documentação, mas sem ele o editor é inutilizável: o projeto carrega o react-scan automaticamente em modo de desenvolvimento, que pinta caixas roxas piscando sobre cada elemento da tela a cada clique.

Em apps/web/src/app/layout.tsx, por volta da linha 32, troque a condição:

layout.tsx
- {process.env.NODE_ENV === "development" && (
+ {process.env.NEXT_PUBLIC_REACT_SCAN === "true" && (

E, em apps/web/next.config.ts, acrescente uma linha dentro de nextConfig para remover também o distintivo do Next.js no canto da tela:

next.config.ts
devIndicators: false,

Para trazer o react-scan de volta algum dia, basta pôr NEXT_PUBLIC_REACT_SCAN=true no .env.local.

9

Inicie o servidor

terminal
bun run dev:web
Pronto

Abra http://localhost:3000 no navegador, clique em Try early beta e depois em Create your first project.

Quando algo trava

Os três problemas que aparecem com mais frequência, e o que fazer.

“Unable to acquire lock” ou a porta 3000 ocupada

Acontece quando um servidor anterior não morreu direito.

terminal
pkill -f "next dev"
pkill -f "turbo run dev"
rm -f apps/web/.next/dev/lock

Depois é só rodar bun run dev:web de novo.

“Cannot connect to the Docker daemon”

A máquina virtual do Colima não está ligada — ela não sobe sozinha depois que você reinicia o Mac.

terminal
colima start

Para que ela suba junto com o sistema: brew services start colima.

O editor abre, mas a tela toda pisca ao clicar

É o react-scan do passo 8. Se você pulou aquele passo, volte nele.

Depois de editar o next.config.ts é preciso reiniciar o servidor — mudanças nesse arquivo não recarregam sozinhas.

Rodando tudo em Docker

Alternativa se você não quer instalar Bun nem mexer no código.

Modo self-hosted

Sobe o app já compilado junto com o banco, num comando só. Em compensação, você perde o recarregamento automático e não consegue aplicar o ajuste do passo 8.

terminal
docker compose up -d
Pronto

Disponível em http://localhost:3100 — repare que a porta é outra.

Quer construir coisas assim com IA?

Nos workshops presenciais da LIDERA.IA você percorre o ciclo completo: da spec ao produto no ar, com apoio de agentes de IA.

Conheça nossos Workshops →