Update install_mailhog_as_service.sh
This commit is contained in:
@@ -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 "===================================";
|
||||
Reference in New Issue
Block a user