Pular para o conteúdo

Instalação

Terminal window
npm install -g @oren-sh/cli

Node 22 ou superior e Docker.

Só isso. O Oren executa cada worker em container, então o Docker é obrigatório — mas o Dagger, que é o motor por baixo, não precisa ser instalado: a CLI dele é baixada automaticamente na primeira execução, na versão exata que o Oren espera.

Terminal window
oren doctor
pré-requisitos
✓ Node v22.21.1
✓ Docker Docker version 29.1.2
✓ CLI do motor em cache (~/.cache/dagger)
! Motor de execução parado — sobe sozinho na próxima execução
✓ tudo pronto para oren run

Se o Docker faltar, o doctor diz o que fazer e retorna código de saída 1 — útil para verificar num CI antes de rodar o pipeline.

A CLI fala inglês por padrão, e português quando o ambiente pede. A escolha vem, nessa ordem, de OREN_LANG, LC_ALL, LC_MESSAGES e LANG; um idioma sem catálogo cai no inglês.

Terminal window
OREN_LANG=pt oren run dev

O idioma escolhido viaja no Accept-Language de toda requisição ao portal, para que a mensagem de erro do servidor chegue na mesma língua da tela — e não uma frase em cada idioma no mesmo terminal.

O padrão é https://oren.sh, e não precisa de configuração: oren add techlite/build-docker-image já resolve numa máquina limpa.

Para apontar para outro portal — o seu, se você se auto-hospeda:

Terminal window
export OREN_REGISTRY=https://seu-portal

Ou grave no projeto, que é o que se commita quando a equipe compartilha o mesmo catálogo:

.oren/config.json
{ "registry": "https://seu-portal" }

A variável é do AMBIENTE e o arquivo é do PROJETO — e a diferença é a que importa ao escolher: o arquivo é commitado, então toda a equipe resolve do mesmo portal sem cada um configurar o seu. A variável existe para o caso individual, e vence o arquivo.

O oren.lock não guarda de onde veio, só o que foi resolvido — assim duas equipes apontando para espelhos diferentes produzem o mesmo lock para o mesmo conteúdo.

Nada disso é necessário para tasks vindas de um diretório do próprio repositório — ver O portal.

Na primeira execução, o Oren sobe um container próprio (oren-engine-<versão>) com um volume próprio para cache. É a imagem oficial do Dagger — não um fork.

Ter o seu próprio significa que limpar o cache do Oren não afeta nenhum outro uso de Dagger na sua máquina:

Terminal window
oren cache # espaço ocupado e teto
oren cache prune # libera o não utilizado
oren cache limit 20GB # limita o crescimento
oren cache clear # remove o motor e todo o cache

Vale definir um teto: por padrão o motor pode crescer até uma fração grande do disco livre.