Sobre o projeto
Wakapi é um backend gratuito, de código aberto e auto-hospedado, compatível com WakaTime, o popular rastreador de atividade de codificação. Ele é projetado para desenvolvedores que desejam manter suas estatísticas de codificação em sua própria infraestrutura, enquanto continuam usando os plugins de editor WakaTime existentes.
## O que ele faz
Wakapi recebe heartbeats das ferramentas oficiais do cliente WakaTime e os transforma em estatísticas sobre projetos, linguagens, editores, hosts e sistemas operacionais. Ele oferece um painel web, badges incorporáveis, relatórios semanais por e-mail, uma API REST e exportação de métricas compatível com Prometheus. É descrito como parcialmente compatível com WakaTime e também pode se integrar ao próprio WakaTime.
## Opções de implantação
O README lista várias maneiras de executar o Wakapi:
- Usar o serviço de nuvem hospedado em wakapi.dev.
- Executar rapidamente uma versão via script de instalação shell.
- Executar a imagem Docker oficial (ghcr.io/muety/wakapi), com volume persistente e um salt de senha. SQLite é o banco de dados padrão; MySQL e Postgres também são suportados. Docker Compose e Docker Secrets são suportados, e existe um Helm chart da comunidade para Kubernetes.
- Compilar e executar a partir do código-fonte com Go, usando um arquivo de configuração YAML. Executar como um serviço SystemD é recomendado para implantações independentes.
## Configuração do cliente
Wakapi depende das ferramentas de código aberto do cliente WakaTime. Os usuários instalam o plugin WakaTime para seu editor e, em seguida, editam `~/.wakatime.cfg` para apontar `api_url` para sua instância Wakapi e definir sua chave de API Wakapi. Um proxy do lado do cliente pode ser configurado opcionalmente. Wakapi e WakaTime podem ser executados em paralelo, seja por meio da configuração do lado do cliente ou do recurso de relay do Wakapi, que encaminha heartbeats para o WakaTime.
## Configuração
A configuração pode ser fornecida por meio de um arquivo YAML ou variáveis de ambiente. O README documenta um amplo conjunto de opções, incluindo:
- Configurações do aplicativo: habilitação de leaderboard, escopo, tempo de geração e requisito de autenticação; agendamentos de agregação e relatórios semanais; limpeza de dados e tempos de otimização do banco de dados; configurações de importação (habilitação, tamanho do lote, backoff, limites de taxa, lista de permissões de host); idade máxima de heartbeat; aquecimento de cache; mapeamentos de linguagem personalizados; modelos de URL de avatar; formatos de data e datetime; contato de suporte; retenção de dados e limites de contas inativas.
- Configurações do servidor: porta, endereços IPv4/IPv6, socket UNIX e suas permissões, formato de log, timeout de requisição, caminhos de certificado e chave TLS, caminho base e URL pública.
- Configurações de segurança: desabilitar autenticação local, desabilitar WebAuthn, salt de senha, chave de cookie, cookies inseguros, tempo de vida do cookie, cadastro local, cadastro OIDC, verificação TLS OIDC e CAPTCHA de cadastro.
## Notas
O README afirma que, devido ao tempo limitado do mantenedor, pull requests não são aceitos temporariamente. O projeto é licenciado sob uma licença de código aberto e é mantido por muety.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.