diff --git a/install_mailhog_as_service.sh b/install_mailhog_as_service.sh index da0f2ac..6d826a9 100644 --- a/install_mailhog_as_service.sh +++ b/install_mailhog_as_service.sh @@ -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 < /dev/null < /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 "==================================="; \ No newline at end of file