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