{"id":24560278,"url":"https://github.com/devopsvanilla/sendportal-docker","last_synced_at":"2025-08-10T08:13:35.276Z","repository":{"id":272271913,"uuid":"915997780","full_name":"devopsvanilla/sendportal-docker","owner":"devopsvanilla","description":"🚀☁️👊 SendPortal Docker Deployment","archived":false,"fork":false,"pushed_at":"2025-01-14T22:56:09.000Z","size":12,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-16T20:46:01.124Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"PHP","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/devopsvanilla.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}},"created_at":"2025-01-13T09:03:55.000Z","updated_at":"2025-01-14T22:56:12.000Z","dependencies_parsed_at":"2025-01-13T11:42:57.281Z","dependency_job_id":"1f186566-0aed-4d9e-b2f8-91a683198566","html_url":"https://github.com/devopsvanilla/sendportal-docker","commit_stats":null,"previous_names":["devopsvanilla/sendportal-docker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/devopsvanilla/sendportal-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsvanilla%2Fsendportal-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsvanilla%2Fsendportal-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsvanilla%2Fsendportal-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsvanilla%2Fsendportal-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devopsvanilla","download_url":"https://codeload.github.com/devopsvanilla/sendportal-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devopsvanilla%2Fsendportal-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269693593,"owners_count":24460248,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-01-23T07:16:17.973Z","updated_at":"2025-08-10T08:13:35.253Z","avatar_url":"https://github.com/devopsvanilla.png","language":"PHP","readme":"# 🚀☁️👊 SendPortal Docker deployment\n\nMarketing por e-mail autogerenciado de código aberto. Gerencie suas próprias newsletters a uma fração do custo.\n\n```\n**Versão do SendPortal: 2.0.0**\nMantenedor: https://mettle.io/\nLicença: MIT - https://github.com/mettle/sendportal#MIT-1-ov-file\n```\n\n## ✅Requisitos\n- Linux\n- Docker Engine\n- Docker Compose\n\n## 📋Passos para implantação\n1. Faça o clone deste repositório\n2. Faça um cópia do arquivo [.env.template](.env.template) para outro nomeado como **.env**\n3. Edite o arquivo **.env** e forneça as informações adequadas\n4. Execute o comando abaixo para implantar:\n\t```bash\n\tbash up.sh\n\t```\n\n\tNa primeira execução da implantação será inicializado o banco de dados e a aplicação. Responda as questões solicitadas pelo script da implantação executado no passo 4 acima.\n\n\tOs dados criados na aplicação serão mantidos no diretorio ```./volumes``` do host Docker. Caso queria reiniciá-la e remover os seus dados, exclua esse diretório\n\n## 🔗Endpoints\n- SendPortal: http://localhost:8000\n- MailPit: http://localhost:8025\n\n## 📧Processamento dos e-mails\n\n### Envio\nO envio de mensagens é feito pelo comando abaixo. Ele está nesse exemplo de implantação agendadado para execução periódica dentro do container da aplicação a cada 1 minuto:\n\n```bash\ndocker exec sendportal-app sh -c /usr/local/bin/php /var/www/html/artisan schedule:run\n```\n\n🛑*Esse comando não está preparado para permitir o recebimento do código do workspace à ser processado, portanto ao ser executado ele o fará sequencialmente o processamento de todos os processos agendados sequencialmente.*\n\n\n## 🔬Análise técnica\n\n**DATA DESTA AVALIÇÃO: 14/01/2025**\n\nO [website](https://sendportal.io/) é um arquétipo de aplicação que pode ser utilizado para viabilizar o envio de e-mails em massa em outras aplicações. Foi construído em Laravel e utiliza amplamente os recursos do framework, mesmo que de forma simplificada.\n\n⚠️ O uso em ambiente produtivo requer uma análise mais detalhada da robustez do código e dos processos criados. Considere-o como um acelerador.\n\n### Documentação e versão\n\nA versão atual do SendPortal está tagueada no Github como v3.0.2, porém a documentação do projeto recomenda a versão v2.0.0 e no repositório a última atualização desta versão está indicada no Github como v2.0.5\n\n### Autenticação e Autorização\n- Autenticação simples, não possui RBAC\n- 🛑 O convite para um novo usuário continua ativo mesmo que ele seja excluído\n\n### Regionalização\n- Foram encontrados arquivos em:\n\t- ./vendor/mettle/sendportal-core/resources/lang/en.json\n\t- ./vendor/mettle/sendportal-core/node_modules/cacache/locales/en.json\n\t- ./vendor/mettle/sendportal-core/node_modules/webpack-cli/node_modules/yargs/locales/en.json\n\t- ./vendor/mettle/sendportal-core/node_modules/webpack-dev-server/node_modules/yargs/locales/en.json\n\t- ./vendor/mettle/sendportal-core/node_modules/yargs/locales/en.json\n\n- Foram criadas cópias desses arquivos como \"pt.json\" nos mesmos diretórios e efetuadas alterações mínimas de tradução para avaliação.\n\n-  Foi alterada a designação da lingua no arquivo ```./var/www/html/config/app.php``` para: ```'locale' =\u003e 'pt'```\n\n- Foram executados os comandos:\n\t```bash\n\tcd /var/www/html\n\n\tphp artisan config:cache\n\n\tphp artisan config:clear\n\n\tphp artisan cache:clear\n\n\tphp artisan view:clear\n\n\tphp artisan vendor:publish ---provider=Sendportal\\\\Base\\\\SendportalBaseServiceProvider\n\t```\n\n🛑 *A nova lingua não foi exibida e não foram geradas mensagens de alerta ou erros correspondentes no arquivo ```storage/logs/laravel.log```*\n\n### Multilocatário\n\nA criação de inquilinos é feita por meio de código. Veja o exemplo no diretório ```./app``` deste repositório.\n\nCada inquilino poderá criar ```workspaces``` através da UI do SendPortal e poderá convidar quantos ```usuários``` quiser. Não há controle para habilitar ou limitar a criação de ```workspaces``` e novos usuários por meio da UI.\n\n### Observações\n\n🛑 Outros aspectos devem ser considerados para uso em ambiente produtivo e em campanhas de envio massivo de mensagens.\n\n🛑 Há [bugs](https://github.com/mettle/sendportal-core/blob/master/src/Listeners/Webhooks/HandleSesWebhook.php) e [pull requests](https://github.com/mettle/sendportal-core/blob/master/src/Listeners/Webhooks/HandleSesWebhook.php) pendentes deste 2021 e a última atualização ocorreu em **08/05/2024**.\n\nA [Meetle](https://mettle.io/), mantenedora da solução, é um empresa de consultores em PHP e Laravel e declara-se especialista em [Laravel](https://laravel.com/). Ela não faz menção ao projeto [SendPortal](https://sendportal.io/) em seu website.\n\n🚀 Há uma iniciativa comercial do [SendPortal](https://sendportal.io/) oferecida pela [LaravelMail](https://laravelmail.com/buy) **baseada no [SendPortal](https://sendportal.io/)** que  disponibiliza atualizações, suporte e garantia. A indícios da solução comercializada na organização da empresa no GitHub: ```https://github.com/laravelcompany```\n\n## 🔍 Outras soluções\n\n\nOutras opções de código aberto mais robustas incluem:\n- [Mautic](http://mautic.org)\n- [DittoFeed](https://www.dittofeed.com/)\n\n## 📚Referências\n- SendPortal: [website](https://sendportal.io/)\n- SendPortal: [github](https://github.com/mettle/sendportal-core)\n- SendPortal: [documentação](https://sendportal.io/docs)\n- LaravelMail: [website](https://laravelmail.com)\n- LaravelMail: [github](https://github.com/laravelcompany)\n- Laravel: [website](https://laravel.com/)\n\n## 🛈 Notas finais\n_Atenção: As soluções mencionadas são de propriedade intelectual dos seus respectivos mantenedores. É fundamental respeitar e seguir as licenças de uso associadas a cada uma delas._\n\n_Esta implantação não é destinada ao uso em produção e não considera os requisitos essenciais para o processamento de campanhas massivas de e-mail. O objetivo deste projeto é permitir a avaliação funcional do SendPortal._\n\n_Trata-se de uma análise superficial independente. O uso em ambiente produtivo requer uma análise mais detalhada da robustez do código e dos processos criados, bem como a avaliação de outros aspectos técnicos e operacionais. Considere-o como um acelerador._\n\n_Isenção de Responsabilidade: Não nos responsabilizamos por qualquer dano, perda ou problema decorrente do uso das soluções mencionadas. O cumprimento das licenças de uso é de responsabilidade exclusiva dos usuários._\n\n___\n\nFeito com 💙 por [DevVanilla.guru](https://devopsvanilla.guru)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopsvanilla%2Fsendportal-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevopsvanilla%2Fsendportal-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevopsvanilla%2Fsendportal-docker/lists"}