Skip to content
/ bonde Public

Uma ferramenta criada por ativistas para ativistas, gente que não sai de casa se não for pra causar: pressionar, provocar e participar ativamente da construção da vida coletiva.

Notifications You must be signed in to change notification settings

nossas/bonde

Folders and files

NameName
Last commit message
Last commit date
Feb 27, 2025
Feb 26, 2025
Feb 27, 2025
Feb 24, 2025
Feb 24, 2025
Feb 24, 2025
Feb 24, 2025
Feb 27, 2025
Feb 24, 2025
Feb 26, 2025
Feb 27, 2025

Repository files navigation

BONDE - Ambiente de Desenvolvimento

Este repositório contém as configurações para executar um ambiente de desenvolvimento da plataforma BONDE, utilizando Docker Compose e Git Submodules.

A plataforma utiliza compartilhamento de sessão por Cookie e isso requer uma estrutura funcional no mesmo domínio e protocolo, por isso nossos serviços serão executados como .bonde.devel e protocolo https.

Estrutura do Projeto

├── apis/ (submódulo)
├── clients/ (submódulo)
├── data/ (volume não versionado)
├── public/ (submódulo)
├── router/ (submódulo)
├── .env.example (exemplo de configuração do Docker Compose)
├── caddy.json (exemplo de configuração do Caddy)
└── docker-compose.yml

Configuração do Ambiente

1. Clonar o repositório e baixar os submódulos

git clone --recurse-submodules git@github.com:nossas/bonde.git
cd bonde

Se já clonou o repositório sem os submódulos, execute:

git submodule update --init --recursive

2. Configurar variáveis de ambiente

Crie um arquivo .env na raiz do projeto com as configurações necessárias para os serviços. Utilize o .env.example como base.

3. Configurar o /etc/hosts

Adicione as seguintes entradas ao seu /etc/hosts para permitir o roteamento local:

127.0.0.1   api-rest.bonde.devel
127.0.0.1   api-graphql.bonde.devel
127.0.0.1   n8n.bonde.devel
127.0.0.1   smtp.bonde.devel
127.0.0.1   accounts.bonde.devel
127.0.0.1   app.bonde.devel
127.0.0.1   admin-canary.bonde.devel

4. Criar estrutura de volume para configuração do Caddy

mkdir -p ./data/caddy_etc
cp caddy.json ./data/caddy_etc/caddy.json

5. Configurar acesso a imagem Docker privada

Se necessário, autentique-se no GitHub Container Registry para baixar a imagem privada ghcr.io/nossas/bonde-server:

echo "<SEU_GITHUB_TOKEN>" | docker login ghcr.io -u <SEU_USUARIO> --password-stdin

Para gerar seu <SEU_GITHUB_TOKEN> leia essa documentação

6. Subir os serviços

docker compose up -d

Isso iniciará os seguintes serviços:

  • Caddy para gerenciar o proxy reverso e HTTPS local.
  • Redis para cache e filas.
  • APIs REST e GraphQL da plataforma BONDE.
  • Módulos de autenticação, ativismo, domínios, pagamentos, etc.
  • N8N para automação de fluxos.
  • Public versão de renderização das campanhas do BONDE.

7. Configurar HTTPS local

A estrutura usa o Caddy como proxy reverso, que gerencia automaticamente os certificados HTTPS para os domínios locais. Para executar os certificados locais rode o comando abaixo (para Mac):

docker compose cp \
    caddy:/data/caddy/pki/authorities/local/root.crt \
    /tmp/root.crt \
  && sudo security add-trusted-cert -d -r trustRoot \
    -k /Library/Keychains/System.keychain /tmp/root.crt

Saiba mais sobre executar HTTPS local na documentação do Caddy.

8. Configurar variáveis de ambiente para submódulos

Alguns submódulos (clients/) rodam diretamente no host e utilizam o host.docker.internal para comunicação com os serviços em Docker. Configure-o seguindo a documentação do repositório.

Logs e Debug

Para visualizar logs dos serviços:

docker compose logs -f --tail=50

Para acessar um serviço específico (exemplo: api-rest):

docker exec -it bonde_api-rest sh

About

Uma ferramenta criada por ativistas para ativistas, gente que não sai de casa se não for pra causar: pressionar, provocar e participar ativamente da construção da vida coletiva.

Resources

Stars

Watchers

Forks

Packages

No packages published