Uma alternativa moderna e open-source ao USBWebserver para Windows.
MadiStack reúne Nginx, MariaDB, PHP e phpMyAdmin em uma GUI portátil — é só escolher as portas, clicar em iniciar e colocar seu site na pasta www. Auto-updater integrado mantém todos os componentes sempre atualizados.
Download · Funcionalidades · Início Rápido · Screenshots · FAQ
Cansado do USBWebserver travado no Apache 2.2 e em versões antigas do PHP? Acha o XAMPP pesado demais? O MadiStack entrega uma stack moderna sem complicação:
- 🔄 Sempre atualizado — updates com um clique para cada componente, direto das fontes oficiais
- 🪶 Leve — sem instalar serviço, sem mexer no registro, sem inchaço
- 📦 Realmente portátil — roda de qualquer pasta, inclusive de pen drive
- 🎯 Focado — sem módulos que você não usa, sem UI poluída, só o essencial
- 🆓 Open source — licença MIT, auditável, com contribuições bem-vindas
- Nginx (mainline mais recente) — servidor web rápido e moderno
- MariaDB (stable mais recente) — substituto drop-in do MySQL, com melhor performance
- PHP (stable mais recente, Non-Thread Safe) — com FastCGI via
php-cgi.exe - phpMyAdmin (stable mais recente) — gerenciamento de banco familiar
- ⚡ Start/stop de cada serviço com um clique — shutdown gracioso (
nginx -s quit,mysqladmin shutdown) - 🔌 Portas configuráveis + detecção de conflito ("porta 3306 em uso por
mysqld_usbwv8.exe— pare o USBWebserver") - 📂 Atalhos: abrir phpMyAdmin no navegador padrão, abrir sites
.test - 📊 Visualizador de logs em tempo real com seleção + botão copiar
- 🌐 Virtual hosts — cada subpasta de
www/vira<nome>.testcom nginx + hosts + reload automáticos - 🔒 HTTPS local via mkcert embutido — uma UAC pra adicionar o CA raiz, certificados válidos pra sempre
- 🔥 Firewall do Windows em lote (um único UAC pra nginx + mysqld + php-cgi)
- 📢 System tray — roda discreto em segundo plano
- 🔄 Updater inteligente — download com SHA256, retry em erro transiente, smoke test pós-swap, rollback automático se o serviço não subir
- 🔄 Auto-update de todos os componentes direto das fontes oficiais
- 🧩 Troca de versão do PHP sem reinstalar
- 📝 Edite
php.ini,nginx.conf,my.inipela GUI - 🚦 Detecção de conflito de portas antes de iniciar serviços
- 🔥 Gerenciamento automático das regras do Firewall do Windows
Pegue a versão mais recente na página de Releases. Três formatos, escolha o que se encaixa no seu fluxo:
| Arquivo | Tamanho | Quando usar |
|---|---|---|
MadiStack_X.Y.Z_x64-setup.exe |
~4 MB | Instalador NSIS — cria atalhos no menu Iniciar e registra desinstalador. Recomendado pra uso diário. |
MadiStack_X.Y.Z_x64_en-US.msi |
~6 MB | Instalador MSI — pra deploy corporativo via políticas de grupo ou Intune. |
MadiStack_vX.Y.Z_x64-portable.zip |
~5 MB | Portátil — descompacta + roda. Dois executáveis, zero instalação. Ideal para pen drive ou testar sem sujar a máquina. |
Requisitos: Windows 10 ou superior x64 + WebView2 Runtime (já vem no Windows 11, instalação automática no Windows 10).
SmartScreen: o binário ainda não é assinado digitalmente. Na primeira execução o Windows pode mostrar o aviso "O Windows protegeu o seu PC" — clique em Mais informações → Executar assim mesmo. Code signing com certificado EV está planejado para o v1.0.
- Baixe um dos arquivos acima da página de Releases.
- Se escolheu o portátil: extraia em qualquer pasta. Se escolheu o instalador: execute e siga o wizard.
- Abra o
MadiStack.exe. - Na aba Geral, clique em Baixar tudo — Nginx, PHP, MariaDB e phpMyAdmin são baixados das fontes oficiais (~2 minutos, só uma vez).
- Clique em Iniciar nos três serviços.
- Coloque seu projeto em
www/meusite/e ative o site na aba Sites — ele fica acessível emhttp://meusite.test. - Pronto. 🎉
Dica: se seu projeto roda direto no root, jogue os arquivos em
www/e acessehttp://localhost:<porta>(porta configurável na aba Configurações, padrão80).
Aba Geral: start/stop com PID e porta em uso, painel de eventos no rodapé
Aba Sites: cada subpasta de www/ vira um <nome>.test, com HTTPS local opcional via mkcert
Aba Configurações: portas, idioma (13 línguas — PT-BR, EN, ES, NL, DE, IT, PL, RU, ZH-CN, TR, HU, LV, RO) e tema (escuro / claro)
Aba Atualizações: versões instaladas vs. últimas publicadas pelos projetos oficiais
Aba Firewall: regras inbound para nginx, MariaDB e php-cgi, aplicadas em lote com um único prompt de UAC
- Stack principal: Nginx + MariaDB + PHP + phpMyAdmin
- GUI com start/stop de um clique
- Configuração de portas + detecção de conflito
- Auto-updater com smoke test e rollback automático
- Gerenciador de virtual hosts (subpastas em
www/viram<nome>.test) - HTTPS local via mkcert embutido — 1 UAC e certificado válido pra sempre
- System tray + logs ao vivo com botão copiar
- Regras de Firewall do Windows via helper elevado (uma UAC só)
- i18n — 13 idiomas (PT-BR, EN, ES, NL, DE, IT, PL, RU, ZH-CN, TR, HU, LV, RO)
- Dark mode 🌙 + tutorial na primeira execução (coach-marks em 3 hotspots)
- Troca de versão do PHP lado-a-lado
- Redis e Memcached como componentes opcionais
- Integração com Composer e WP-CLI
- Backup de bancos MariaDB (dumps gzipados em
data/backups/) — restore planejado
- Core: Rust 1.75+ com Tokio async runtime
- GUI: Tauri v2 (WebView2 nativo do Windows)
- Frontend: Svelte 5 + TypeScript + TailwindCSS
- Build & Release: GitHub Actions +
tauri-action
Por que Rust + Tauri? Binário final ~8 MB, RAM idle < 70 MB, cold start < 250 ms, e segurança de memória em tempo de compilação. Sem runtime pesado, sem Electron, sem surpresas.
- Rust 1.75+ (toolchain
stable-x86_64-pc-windows-msvc) - Node.js 20+ e pnpm 9+
- WebView2 Runtime (já presente no Windows 11)
- Microsoft C++ Build Tools (pacote "Desktop development with C++" do Visual Studio 2022)
# Clone o repositório
git clone https://github.com/luanluciano93/madi-stack.git
cd MadiStack
# Instale o CLI do Tauri (uma vez por máquina)
cargo install tauri-cli --version "^2.0" --locked
# Instale as dependências do frontend
cd frontend && pnpm install && cd ..
# Rode em modo de desenvolvimento (hot reload Rust + Svelte)
cargo tauri dev
# Gere o binário de produção
cargo tauri buildBinários gerados em target/release/:
| Arquivo | Uso |
|---|---|
madistack.exe |
Binário portátil principal |
madistack-system-helper.exe |
Helper elevado (UAC) — deve ficar no mesmo diretório do principal |
bundle/nsis/MadiStack_*.exe |
Instalador NSIS (inclui ambos os binários) |
bundle/msi/MadiStack_*.msi |
Instalador MSI |
Antes de
cargo tauri build, rodecargo build --release -p madistack-system-helperpara que o helper seja incluído no bundle.
Contribuições são muito bem-vindas! Seja um bug report, sugestão de feature ou pull request — tudo ajuda.
- Faça um fork do projeto
- Crie sua branch de feature (
git checkout -b feature/minha-feature) - Commit suas mudanças (
git commit -m 'Adiciona minha feature') - Faça push para a branch (
git push origin feature/minha-feature) - Abra um Pull Request
Erros comuns (porta ocupada, VC++ Redist, antivírus, SmartScreen, hosts que não resolve, certificado HTTPS, etc) estão documentados em docs/troubleshooting.md com solução passo-a-passo.
Qual a diferença do MadiStack pro XAMPP, Laragon ou WAMP?
- XAMPP usa Apache e é bastante pesado. MadiStack usa Nginx e é leve.
- Laragon é closed-source. MadiStack é MIT, totalmente aberto.
- WAMP não tem uma atualização significativa da UI há anos. MadiStack tem GUI moderna com auto-update para todos os componentes.
Por que Nginx em vez de Apache?
Nginx é mais rápido, consome menos memória, tem configuração mais simples e é o padrão de produção hoje. Se você faz deploy em servidor real, provavelmente vai rodar Nginx lá também.
Por que MariaDB em vez de MySQL?
MariaDB é um substituto drop-in do MySQL, mantido pelo criador original, totalmente open source (MySQL tem complicações de licença da Oracle), e normalmente mais rápido. Seu código não precisa de nenhuma mudança.
Funciona no macOS ou Linux?
Ainda não. MadiStack é Windows-only por enquanto. Usuários Linux já têm gerenciadores de pacote nativos (apt, pacman), e no macOS tem Homebrew e Laravel Herd.
É realmente portátil? Posso rodar de um pen drive?
Sim. MadiStack não mexe no registro, não instala serviços, e guarda todos os dados na própria pasta. Copie a pasta pra onde quiser e continua funcionando.
Posso usar em produção?
Não. MadiStack é uma ferramenta de desenvolvimento. Para produção, use um servidor Linux com Nginx/MariaDB configurados com hardening apropriado.
MadiStack é distribuído sob a Licença MIT.
MadiStack baixa e utiliza os seguintes componentes, cada um com sua própria licença:
| Componente | Licença | Site |
|---|---|---|
| Nginx | BSD 2-cláusulas | nginx.org |
| MariaDB | GPL v2 | mariadb.org |
| PHP | PHP License v3.01 | php.net |
| phpMyAdmin | GPL v2 | phpmyadmin.net |
luanluciano93
- GitHub: @luanluciano93
- Projetos: NexusAAC · TibiaTrace
Se o MadiStack te poupou tempo, considere:
- ⭐ Dar uma estrela no repositório — ajuda demais!
- 🐛 Reportar bugs ou sugerir features
- 🔀 Enviar pull requests
- 📢 Compartilhar com outros devs
Feito com ❤️ em Araçatuba, São Paulo, Brasil 🇧🇷