Update install_mailhog_as_service.sh

This commit is contained in:
2025-12-18 12:23:05 +00:00
parent 96e1b229f6
commit 3488dba7d7

View File

@@ -1,61 +1,73 @@
#!/bin/bash
set -e # stop bij fouten
echo "";
echo "===================================";
echo "Update apt...";
echo "===================================";
apt update
echo "";
echo "===================================";
echo "Install golang-go...";
echo "Install dependencies...";
echo "===================================";
apt-get -y install golang-go;
if [ $? == 0 ] ; then
echo 'golang-go installed'
else
echo 'ERROR: Installing golang-go NOT succesfull!'
exit
fi
# Force the go command to fetch & use the 1.24 toolchain
go env -w GOTOOLCHAIN=go1.24.3
go version # should show: go1.22.0 ... +toolchain go1.24.3 (after it downloads)
apt-get -y install wget tar
echo "";
echo "===================================";
echo "Installing mailhog...";
echo "Install Go 1.24.3...";
echo "===================================";
go install github.com/mailhog/MailHog@latest;
if [ $? == 0 ] ; then
echo "";
echo "===================================";
echo "Mailcatcher installed succesfully!";
echo "===================================";
echo "";
else
echo 'ERROR: Installing Mailcatcher NOT succesfull!'
exit
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 bin...";
echo "Copy MailHog to /usr/local/bin...";
echo "===================================";
sudo cp ~/go/bin/MailHog /usr/local/bin/MailHog
if [ $? == 0 ] ; then
echo 'Mailhog copied'
else
echo 'ERROR: Copy Mailhog NOT succesfull!'
exit
fi
echo "";
echo "===================================";
echo "Create MailHog service...";
echo "===================================";
sudo tee /etc/systemd/system/mailhog.service <<EOL
sudo tee /etc/systemd/system/mailhog.service > /dev/null <<EOL
[Unit]
Description=MailHog
After=network.target
[Service]
User=root
ExecStart=/usr/bin/env /usr/local/bin/MailHog > /dev/null 2>&1 &
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 service created and started.";
echo "MailHog is running on http://localhost:8025";
echo "SMTP server on localhost:1025";
echo "===================================";