Configurar o Docker
Pré-requisitos
Antes de começar, tenha instalado:
- Docker;
- Docker Compose, se você for pelo caminho do Compose.
Opção 1: Docker Compose para produção
Essa configuração sobe PostgreSQL, Redis e a aplicação.
- Baixe o arquivo do Compose no repositório do projeto: compose.yml.
- Entre no diretório onde está o
compose.yml. - Crie um arquivo
.envno mesmo diretório, com o conteúdo do.env.selfhost.example. - Suba os contêineres:
docker-compose --env-file ./.env up -d
Isso levanta o banco PostgreSQL, o Redis e a aplicação.
- Acesse a aplicação em
http://localhost:3000no navegador.
Opção 2: contêiner avulso
Se você prefere hospedar a aplicação no seu provedor de contêineres, use a imagem pronta do Docker Hub ou do GitHub Package Registry. Nesse caminho, o banco e o host SMTP são por sua conta.
- Baixe a imagem:
docker pull usesend/usesend
Ou, pelo GitHub Package Registry:
docker pull ghcr.io/usesend/usesend
Nota
A imagem publicada é a do projeto open-source que dá origem ao Madmail, por isso
o nome usesend/usesend. Use exatamente esse nome.
- Rode o contêiner passando as variáveis de ambiente do seu banco e do host SMTP:
docker run -d \
-p 3000:3000 \
-e NEXTAUTH_URL="<sua-nextauth-url>" \
-e NEXTAUTH_SECRET="<seu-nextauth-secret>" \
-e DATABASE_URL="<sua-database-url>" \
-e REDIS_URL="<sua-redis-url>" \
-e AWS_ACCESS_KEY_ID="<seu-aws-access-key-id>" \
-e AWS_SECRET_ACCESS_KEY="<seu-aws-secret-access-key>" \
-e AWS_DEFAULT_REGION="<sua-regiao-aws>" \
-e GITHUB_ID="<seu-github-id>" \
-e GITHUB_SECRET="<seu-github-secret>" \
usesend/usesend
Troque os valores entre <> pelos dados reais do seu banco e da sua conta AWS.
- Acesse a aplicação pela URL que você informou em
NEXTAUTH_URL.
Pronto
A instância está no ar em Docker e já pode enviar. Se algo travar no caminho, volte aos guias de self hosting ou fale com a gente pelo suporte.