Skip to content

devopsvanilla/sendportal-docker

Repository files navigation

🚀☁️👊 SendPortal Docker deployment

Marketing por e-mail autogerenciado de código aberto. Gerencie suas próprias newsletters a uma fração do custo.

**Versão do SendPortal: 2.0.0**
Mantenedor: https://mettle.io/
Licença: MIT - https://github.com/mettle/sendportal#MIT-1-ov-file

✅Requisitos

  • Linux
  • Docker Engine
  • Docker Compose

📋Passos para implantação

  1. Faça o clone deste repositório

  2. Faça um cópia do arquivo .env.template para outro nomeado como .env

  3. Edite o arquivo .env e forneça as informações adequadas

  4. Execute o comando abaixo para implantar:

    bash up.sh

    Na 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.

    Os 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

🔗Endpoints

📧Processamento dos e-mails

Envio

O 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:

docker exec sendportal-app sh -c /usr/local/bin/php /var/www/html/artisan schedule:run

🛑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.

🔬Análise técnica

DATA DESTA AVALIÇÃO: 14/01/2025

O website é 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.

⚠️ 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.

Documentação e versão

A 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

Autenticação e Autorização

  • Autenticação simples, não possui RBAC
  • 🛑 O convite para um novo usuário continua ativo mesmo que ele seja excluído

Regionalização

  • Foram encontrados arquivos em:

    • ./vendor/mettle/sendportal-core/resources/lang/en.json
    • ./vendor/mettle/sendportal-core/node_modules/cacache/locales/en.json
    • ./vendor/mettle/sendportal-core/node_modules/webpack-cli/node_modules/yargs/locales/en.json
    • ./vendor/mettle/sendportal-core/node_modules/webpack-dev-server/node_modules/yargs/locales/en.json
    • ./vendor/mettle/sendportal-core/node_modules/yargs/locales/en.json
  • 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.

  • Foi alterada a designação da lingua no arquivo ./var/www/html/config/app.php para: 'locale' => 'pt'

  • Foram executados os comandos:

     cd /var/www/html
    
     php artisan config:cache
    
     php artisan config:clear
    
     php artisan cache:clear
    
     php artisan view:clear
    
     php artisan vendor:publish ---provider=Sendportal\\Base\\SendportalBaseServiceProvider

🛑 A nova lingua não foi exibida e não foram geradas mensagens de alerta ou erros correspondentes no arquivo storage/logs/laravel.log

Multilocatário

A criação de inquilinos é feita por meio de código. Veja o exemplo no diretório ./app deste repositório.

Cada 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.

Observações

🛑 Outros aspectos devem ser considerados para uso em ambiente produtivo e em campanhas de envio massivo de mensagens.

🛑 Há bugs e pull requests pendentes deste 2021 e a última atualização ocorreu em 08/05/2024.

A Meetle, mantenedora da solução, é um empresa de consultores em PHP e Laravel e declara-se especialista em Laravel. Ela não faz menção ao projeto SendPortal em seu website.

🚀 Há uma iniciativa comercial do SendPortal oferecida pela LaravelMail baseada no SendPortal 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

🔍 Outras soluções

Outras opções de código aberto mais robustas incluem:

📚Referências

🛈 Notas finais

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.

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.

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.

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.


Feito com 💙 por DevVanilla.guru

About

🚀☁️👊 SendPortal Docker Deployment

Resources

License

Stars

Watchers

Forks

Packages

No packages published