Pular para conteúdo

Pré-requisitos

Antes de rodar o Spryx Backend localmente, instale as ferramentas abaixo.

Python 3.12+

brew install [email protected]

Baixe o instalador em python.org ou use o winget:

winget install Python.Python.3.12

sudo apt install python3.12 python3.12-venv  # Debian/Ubuntu

uv

Gerenciador de pacotes Python. Substitui pip + virtualenv. O make install usa ele por baixo para instalar dependências e criar o virtualenv.

curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Docker

Necessário para rodar o banco local via Supabase CLI e o Redis para o Celery Worker. Não é usado para rodar a aplicação em si — o Python roda direto no host.

Instale o Docker Desktop para Mac.

Instale o Docker Desktop para Windows (requer WSL2).

curl -fsSL https://get.docker.com | sh

Supabase CLI

Usada exclusivamente para subir uma instância local do PostgreSQL via Docker. O Spryx usa Supabase em staging/produção, mas localmente o make db-start sobe um container com PostgreSQL + extensões necessárias (pgvector, etc.). Não é necessário ter PostgreSQL instalado separadamente.

brew install supabase/tap/supabase
scoop bucket add supabase https://github.com/supabase/scoop-bucket.git
scoop install supabase
brew install supabase/tap/supabase

Doppler CLI

Gerencia todas as variáveis de ambiente do projeto. Em vez de um arquivo .env manual, o Doppler injeta as configs corretas de acordo com o ambiente (dev, staging, production). Você vai precisar de acesso ao projeto Spryx no Doppler para rodar qualquer entrypoint — cada entrypoint tem seu próprio projeto (spryx-app-api, spryx-backoffice-api, spryx-worker).

brew install dopplerhq/cli/doppler
winget install Doppler.doppler
(curl -Ls --tlsv1.2 --proto "=https" --retry 3 https://cli.doppler.com/install.sh || wget -t 3 -qO- https://cli.doppler.com/install.sh) | sudo sh

Verificar instalação

uv --version
docker --version
supabase --version
doppler --version

Acesso ao Doppler

Peça a um membro do time para ser adicionado ao projeto no Doppler antes de continuar.