Uma ferramenta que quebra barreiras de acesso e elementos que atrapalham a leitura! / Marreta is a tool that removes access barriers and visual distractions!
See the codeMarreta é uma ferramenta que quebra barreiras de acesso e elementos que atrapalham a leitura!

Instancia publica em marreta.link!
Instale Docker e Docker Compose
curl -o ./compose.yml https://raw.githubusercontent.com/manualdousuario/marreta/main/compose.yml
Agora modifique com suas preferencias:
nano compose.yml
APP_NAME: Nome do seu MarretaAPP_DESCRIPTION: Conta pra que serveAPP_URL: Onde vai rodar, endereço completo com https://. O container serve HTTP na porta 8080 e o compose.yml publica ela em 81 no host; se você mudar isso (ex: 8080:8080), inclua a porta também no APP_URL (ex: https://seusite:8080)APP_LOCALE: pt-br (Português Brasil), en (Inglês), es (Espanhol) ou de-de (Alemão), ru-ru (Russo)APP_KEY: opcional. Se ficar vazio, uma chave é gerada no primeiro boot e guardada no volumeDISABLE_CACHE: opcional. O cache de páginas vem ligado por padrão; coloque true para desligarADMIN_EMAIL: [email protected]ADMIN_PASSWORD: passwordAgora só rodar docker compose up -d
A partir da 3.0.0 o Marreta virou uma aplicação Laravel. É uma reescrita completa do zero, então não existe caminho de upgrade "no lugar", o recomendado é subir os containers novos e reconfigurar o essencial.
| Antes (2.x) | Agora (3.x) | Observação |
|---|---|---|
SITE_NAME | APP_NAME | |
SITE_DESCRIPTION | APP_DESCRIPTION | |
SITE_URL | APP_URL | |
LANGUAGE | APP_LOCALE | |
DEBUG | APP_DEBUG | |
| — | APP_KEY | Novo e obrigatório. Se deixar vazio, é gerada uma chave automaticamente no primeiro boot |
SELENIUM_HOST | BROWSER_WS_ENDPOINT | Agora aponta pro Lightpanda (ws://marreta_browser:9222), não mais pro Selenium |
DNS_SERVERS | (removido) | |
CLEANUP_DAYS | (removido) | |
LOG_LEVEL / LOG_DAYS_TO_KEEP | (removido) | |
S3_CACHE_ENABLED / S3_* | (removido) | |
| — | ADMIN_EMAIL / ADMIN_PASSWORD | Novo. Credenciais de login do painel /admin |
80 pra 8080 (o compose.yml já publica em 81:8080 no host, ajuste se você tinha 80:80 mapeado)../app/cache e ./app/logs) deixaram de existir. Agora tudo (banco SQLite + cache) mora num volume nomeado, marreta_storage, montado em /var/www/html/storage/app.app/data/domain_rules.php, app/data/blocked_domains.php e app/data/global_rules.php, e também os domínios cadastrados em app/cache/dmca_domains.json. Nada disso é migrado automaticamente.compose.yml, APP_KEY (gere uma em laravel-encryption-key-generator.vercel.app), ADMIN_EMAIL e ADMIN_PASSWORD.docker compose up -d. No primeiro boot, as migrations rodam e o banco é populado com o conjunto padrão de regras/domínios bloqueados que vêm com o Marreta.SEU_DOMINIO/admin, entre com ADMIN_EMAIL/ADMIN_PASSWORD e recadastre manualmente: suas regras de domínio customizadas, domínios bloqueados extras e domínios com DMCA que você tinha anotado no passo 1.Feito com ❤️! Se tiver dúvidas ou sugestões, abre uma issue que a gente ajuda! 😉
Agradecimento ao projeto Burlesco e Hover que serviu de base para varias regras!
805 followers · starred Feb 2026
14,854 followers · starred Feb 2025
133 followers · starred Jan 2025
71 followers · starred Jan 2025
Uma ferramenta que quebra barreiras de acesso e elementos que atrapalham a leitura! / Marreta is a tool that removes access barriers and visual distractions!
See the codeMarreta é uma ferramenta que quebra barreiras de acesso e elementos que atrapalham a leitura!

Instancia publica em marreta.link!
Instale Docker e Docker Compose
curl -o ./compose.yml https://raw.githubusercontent.com/manualdousuario/marreta/main/compose.yml
Agora modifique com suas preferencias:
nano compose.yml
APP_NAME: Nome do seu MarretaAPP_DESCRIPTION: Conta pra que serveAPP_URL: Onde vai rodar, endereço completo com https://. O container serve HTTP na porta 8080 e o compose.yml publica ela em 81 no host; se você mudar isso (ex: 8080:8080), inclua a porta também no APP_URL (ex: https://seusite:8080)APP_LOCALE: pt-br (Português Brasil), en (Inglês), es (Espanhol) ou de-de (Alemão), ru-ru (Russo)APP_KEY: opcional. Se ficar vazio, uma chave é gerada no primeiro boot e guardada no volumeDISABLE_CACHE: opcional. O cache de páginas vem ligado por padrão; coloque true para desligarADMIN_EMAIL: [email protected]ADMIN_PASSWORD: passwordAgora só rodar docker compose up -d
A partir da 3.0.0 o Marreta virou uma aplicação Laravel. É uma reescrita completa do zero, então não existe caminho de upgrade "no lugar", o recomendado é subir os containers novos e reconfigurar o essencial.
| Antes (2.x) | Agora (3.x) | Observação |
|---|---|---|
SITE_NAME | APP_NAME | |
SITE_DESCRIPTION | APP_DESCRIPTION | |
SITE_URL | APP_URL | |
LANGUAGE | APP_LOCALE | |
DEBUG | APP_DEBUG | |
| — | APP_KEY | Novo e obrigatório. Se deixar vazio, é gerada uma chave automaticamente no primeiro boot |
SELENIUM_HOST | BROWSER_WS_ENDPOINT | Agora aponta pro Lightpanda (ws://marreta_browser:9222), não mais pro Selenium |
DNS_SERVERS | (removido) | |
CLEANUP_DAYS | (removido) | |
LOG_LEVEL / LOG_DAYS_TO_KEEP | (removido) | |
S3_CACHE_ENABLED / S3_* | (removido) | |
| — | ADMIN_EMAIL / ADMIN_PASSWORD | Novo. Credenciais de login do painel /admin |
80 pra 8080 (o compose.yml já publica em 81:8080 no host, ajuste se você tinha 80:80 mapeado)../app/cache e ./app/logs) deixaram de existir. Agora tudo (banco SQLite + cache) mora num volume nomeado, marreta_storage, montado em /var/www/html/storage/app.app/data/domain_rules.php, app/data/blocked_domains.php e app/data/global_rules.php, e também os domínios cadastrados em app/cache/dmca_domains.json. Nada disso é migrado automaticamente.compose.yml, APP_KEY (gere uma em laravel-encryption-key-generator.vercel.app), ADMIN_EMAIL e ADMIN_PASSWORD.docker compose up -d. No primeiro boot, as migrations rodam e o banco é populado com o conjunto padrão de regras/domínios bloqueados que vêm com o Marreta.SEU_DOMINIO/admin, entre com ADMIN_EMAIL/ADMIN_PASSWORD e recadastre manualmente: suas regras de domínio customizadas, domínios bloqueados extras e domínios com DMCA que você tinha anotado no passo 1.Feito com ❤️! Se tiver dúvidas ou sugestões, abre uma issue que a gente ajuda! 😉
Agradecimento ao projeto Burlesco e Hover que serviu de base para varias regras!
805 followers · starred Feb 2026
14,854 followers · starred Feb 2025
133 followers · starred Jan 2025
71 followers · starred Jan 2025