{"id":48673157,"url":"https://github.com/onflux-tech/whatsmiau-manager","last_synced_at":"2026-04-17T01:11:24.735Z","repository":{"id":350449169,"uuid":"1206867654","full_name":"onflux-tech/whatsmiau-manager","owner":"onflux-tech","description":"Self-hosted management dashboard for WhatsMiau WhatsApp API","archived":false,"fork":false,"pushed_at":"2026-04-10T11:13:04.000Z","size":172,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T13:02:35.133Z","etag":null,"topics":["dashboard","docker","go","manager","monitoring","multi-arch","pocketbase","react","self-hosted","typescript","whatsapp","whatsapp-api","whatsmiau"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onflux-tech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-10T10:30:13.000Z","updated_at":"2026-04-10T11:18:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/onflux-tech/whatsmiau-manager","commit_stats":null,"previous_names":["onflux-tech/whatsmiau-manager"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/onflux-tech/whatsmiau-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onflux-tech%2Fwhatsmiau-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onflux-tech%2Fwhatsmiau-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onflux-tech%2Fwhatsmiau-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onflux-tech%2Fwhatsmiau-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onflux-tech","download_url":"https://codeload.github.com/onflux-tech/whatsmiau-manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onflux-tech%2Fwhatsmiau-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31910618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dashboard","docker","go","manager","monitoring","multi-arch","pocketbase","react","self-hosted","typescript","whatsapp","whatsapp-api","whatsmiau"],"created_at":"2026-04-10T13:00:37.842Z","updated_at":"2026-04-17T01:11:24.728Z","avatar_url":"https://github.com/onflux-tech.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WhatsMiau Manager\n\n[![Go](https://img.shields.io/badge/Go-1.25-00ADD8?logo=go\u0026logoColor=white)](https://go.dev)\n[![React](https://img.shields.io/badge/React-19-61DAFB?logo=react\u0026logoColor=white)](https://react.dev)\n[![PocketBase](https://img.shields.io/badge/PocketBase-0.36-B8DBE4?logo=pocketbase\u0026logoColor=white)](https://pocketbase.io)\n[![Docker](https://img.shields.io/badge/Docker-Multi--arch-2496ED?logo=docker\u0026logoColor=white)](https://github.com/onflux-tech/whatsmiau-manager/pkgs/container/whatsmiau-manager)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue)](LICENSE)\n[![GHCR](https://img.shields.io/badge/GHCR-Package-purple?logo=github)](https://github.com/onflux-tech/whatsmiau-manager/pkgs/container/whatsmiau-manager)\n\nSelf-hosted management dashboard for WhatsMiau WhatsApp API instances. Single binary, embedded SPA, zero external dependencies beyond your WhatsMiau API.\n\n---\n\n## Features\n\n- **Multi-workspace** -- manage multiple WhatsMiau API servers from a single dashboard\n- **Instance management** -- create, connect (QR/phone pairing), disconnect, and delete WhatsApp instances\n- **Webhook configuration** -- configure per-instance webhook URLs, event filtering, and base64 media\n- **Proxy settings** -- per-instance SOCKS5/HTTP/HTTPS proxy configuration\n- **Health monitoring** -- automatic health checks with latency tracking and connection status\n- **API Docs** -- built-in interactive API reference with playground, code generation, and request history\n- **Adaptive polling** -- smart polling that adjusts frequency based on user activity\n- **Real-time updates** -- PocketBase SSE for instant UI updates on data changes\n- **Multi-arch Docker** -- pre-built images for `linux/amd64` and `linux/arm64`\n- **Single binary** -- Go backend with embedded React SPA, no separate web server needed\n\n## Quick Start\n\n```yaml\n# docker-compose.yml\nservices:\n  manager:\n    image: ghcr.io/onflux-tech/whatsmiau-manager:latest\n    ports:\n      - \"8090:8090\"\n    volumes:\n      - manager-data:/app/pb_data\n    restart: unless-stopped\n\nvolumes:\n  manager-data:\n```\n\n```bash\ndocker compose up -d\n```\n\nOpen `http://localhost:8090` and create your admin account on first access.\n\n### Add a Workspace\n\n1. Click **Novo workspace**\n2. Enter a name, the WhatsMiau API URL (e.g., `http://whatsmiau:8080`), and the API key\n3. Your instances will appear automatically\n\n## Configuration\n\n| Environment Variable | Default | Description |\n|---|---|---|\n| `ENV` | - | Set to `dev` for development mode with auto-migrations |\n\nPocketBase CLI flags are passed directly:\n\n```bash\n./manager serve --http=0.0.0.0:8090 --dir=/custom/data/path\n```\n\n## Development\n\n**Requirements:** Go 1.25+, Node.js 22+, npm\n\n```bash\ncd manager\n\n# Backend\nENV=dev go run main.go serve --http=0.0.0.0:8090\n\n# Frontend (separate terminal)\ncd site\nnpm install\nnpm run dev\n```\n\nThe Vite dev server proxies `/api` and `/_` to `localhost:8090`.\n\n### Build from Source\n\n```bash\ncd manager/site \u0026\u0026 npm ci \u0026\u0026 npm run build \u0026\u0026 cd ..\nCGO_ENABLED=0 go build -trimpath -ldflags=\"-s -w\" -o manager main.go\n./manager serve --http=0.0.0.0:8090\n```\n\n### Docker Build\n\n```bash\ncd manager\ndocker buildx build --platform linux/amd64,linux/arm64 -t whatsmiau-manager .\n```\n\n## Architecture\n\n```\nmanager/\n  main.go              # PocketBase bootstrap + version injection\n  hub/\n    hub.go             # Lifecycle hooks, event wiring\n    routes.go          # REST API (setup, proxy, polling, version)\n    proxy.go           # Reverse proxy to WhatsMiau API\n    health.go          # Health checks and instance snapshot sync\n    poller.go          # Adaptive polling engine\n    spa.go             # Embedded SPA serving\n  migrations/          # PocketBase schema migrations\n  site/                # React SPA (Vite + TypeScript)\n    src/\n      components/      # UI components (workspace, instances, command)\n      features/        # Feature modules (auth, docs)\n      hooks/           # Shared React hooks\n      lib/             # Utilities, types, PocketBase client\n      stores/          # Zustand state stores\n```\n\n## Releases\n\nDocker images are published to GHCR on every git tag (`v*`):\n\n```bash\ndocker pull ghcr.io/onflux-tech/whatsmiau-manager:latest\ndocker pull ghcr.io/onflux-tech/whatsmiau-manager:0.1.0\n```\n\n---\n\n## PT-BR\n\n### Funcionalidades\n\n- **Multi-workspace** -- gerencie multiplos servidores WhatsMiau API a partir de um unico painel\n- **Gerenciamento de instancias** -- crie, conecte (QR/pareamento por telefone), desconecte e exclua instancias WhatsApp\n- **Configuracao de webhooks** -- configure URLs de webhook por instancia, filtragem de eventos e midia em base64\n- **Configuracao de proxy** -- proxy SOCKS5/HTTP/HTTPS por instancia\n- **Monitoramento de saude** -- health checks automaticos com rastreamento de latencia e status de conexao\n- **API Docs** -- referencia interativa com playground, geracao de codigo e historico de requests\n- **Polling adaptativo** -- polling inteligente que ajusta a frequencia conforme a atividade do usuario\n- **Atualizacoes em tempo real** -- SSE do PocketBase para atualizacoes instantaneas na UI\n- **Docker multi-arch** -- imagens pre-compiladas para `linux/amd64` e `linux/arm64`\n- **Binario unico** -- backend Go com SPA React embutido, sem necessidade de servidor web separado\n\n### Inicio Rapido\n\n```yaml\n# docker-compose.yml\nservices:\n  manager:\n    image: ghcr.io/onflux-tech/whatsmiau-manager:latest\n    ports:\n      - \"8090:8090\"\n    volumes:\n      - manager-data:/app/pb_data\n    restart: unless-stopped\n\nvolumes:\n  manager-data:\n```\n\n```bash\ndocker compose up -d\n```\n\nAcesse `http://localhost:8090` e crie sua conta de administrador no primeiro acesso.\n\n### Adicionar um Workspace\n\n1. Clique em **Novo workspace**\n2. Insira um nome, a URL da API WhatsMiau (ex: `http://whatsmiau:8080`) e a API key\n3. Suas instancias aparecerao automaticamente\n\n### Desenvolvimento\n\n**Requisitos:** Go 1.25+, Node.js 22+, npm\n\n```bash\ncd manager\n\n# Backend\nENV=dev go run main.go serve --http=0.0.0.0:8090\n\n# Frontend (terminal separado)\ncd site\nnpm install\nnpm run dev\n```\n\n### Build a partir do Codigo\n\n```bash\ncd manager/site \u0026\u0026 npm ci \u0026\u0026 npm run build \u0026\u0026 cd ..\nCGO_ENABLED=0 go build -trimpath -ldflags=\"-s -w\" -o manager main.go\n./manager serve --http=0.0.0.0:8090\n```\n\n---\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonflux-tech%2Fwhatsmiau-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonflux-tech%2Fwhatsmiau-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonflux-tech%2Fwhatsmiau-manager/lists"}