Files
testserver/install_mailhog_as_service.sh

73 lines
1.7 KiB
Bash

#!/bin/bash
set -e # stop bij fouten
echo "";
echo "===================================";
echo "Update apt...";
echo "===================================";
apt update
echo "";
echo "===================================";
echo "Install dependencies...";
echo "===================================";
apt-get -y install wget tar
echo "";
echo "===================================";
echo "Install Go 1.24.3...";
echo "===================================";
GO_VERSION=1.24.3
wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
go version
echo "";
echo "===================================";
echo "Installing MailHog...";
echo "===================================";
go install github.com/mailhog/MailHog@latest
if [ -f ~/go/bin/MailHog ]; then
echo "MailHog installed successfully"
else
echo "ERROR: MailHog binary not found!"
exit 1
fi
echo "";
echo "===================================";
echo "Copy MailHog to /usr/local/bin...";
echo "===================================";
sudo cp ~/go/bin/MailHog /usr/local/bin/MailHog
echo "";
echo "===================================";
echo "Create MailHog service...";
echo "===================================";
sudo tee /etc/systemd/system/mailhog.service > /dev/null <<EOL
[Unit]
Description=MailHog
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/MailHog
Restart=always
[Install]
WantedBy=multi-user.target
EOL
systemctl daemon-reload
systemctl enable mailhog
systemctl start mailhog
echo "";
echo "===================================";
echo "MailHog is running on http://localhost:8025";
echo "SMTP server on localhost:1025";
echo "===================================";