Add mailhog
This commit is contained in:
parent
81f42e2ee2
commit
cef422a4ea
10 changed files with 95 additions and 1 deletions
|
@ -100,7 +100,6 @@ debmaker_run(){
|
|||
}
|
||||
|
||||
debmaker_debootstrapUpdate(){
|
||||
zdebmaker_getDep
|
||||
[ -d ${DEBOOTSTRAP_DIR} ] || mkdir ${DEBOOTSTRAP_DIR}
|
||||
URL=https://salsa.debian.org/installer-team/debootstrap/-/archive/master/debootstrap-master.tar.gz
|
||||
FILES="debootstrap-master/debootstrap debootstrap-master/scripts/ debootstrap-master/functions"
|
||||
|
|
40
ressources/mailhog/debmaker
Executable file
40
ressources/mailhog/debmaker
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
VERSION=1.1.0
|
||||
|
||||
[ -e ./lib/function.sh ] && source ./lib/function.sh
|
||||
|
||||
APP=mailhog
|
||||
DEPOT=https://github.com/mailhog/MailHog.git
|
||||
GIT_VERSION=v$VERSION-beta1
|
||||
DEB_VERSION=$VERSION-$(date +%Y%m%d%H%M)
|
||||
DEBIAN_VERSION_CODENAME=bullseye
|
||||
IMAGE_SIZE=2
|
||||
|
||||
STEP="envinit prebuild build makedeb"
|
||||
|
||||
envinit() {
|
||||
apt-get update
|
||||
apt-get dist-upgrade -y
|
||||
apt install -y --no-install-recommends build-essential git wget ca-certificates dpkg fakeroot
|
||||
wget -qO - https://go.dev/dl/go1.18.linux-amd64.tar.gz | tar -C /usr/local -xz
|
||||
}
|
||||
|
||||
prebuild(){
|
||||
[ -e /tmp/${APP} ] && rm -fr /tmp/${APP}
|
||||
git clone --depth 1 -b ${GIT_VERSION} ${DEPOT} /tmp/${APP}
|
||||
}
|
||||
|
||||
build() {
|
||||
cd /tmp/${APP}
|
||||
PATH=$PATH:/usr/local/go/bin
|
||||
go build -o mailhog main.go
|
||||
}
|
||||
|
||||
makedeb(){
|
||||
PATH_DEB=/tmp/src/rootfs
|
||||
|
||||
cp /tmp/${APP}/mailhog ${PATH_DEB}/usr/bin/mailhog
|
||||
sed -i "s/%VERSION%/$DEB_VERSION/" ${PATH_DEB}/DEBIAN/control
|
||||
fakeroot dpkg-deb -Z gzip --build ${PATH_DEB} /tmp/dist
|
||||
}
|
0
ressources/mailhog/rootfs/DEBIAN/changelog
Normal file
0
ressources/mailhog/rootfs/DEBIAN/changelog
Normal file
1
ressources/mailhog/rootfs/DEBIAN/conffiles
Normal file
1
ressources/mailhog/rootfs/DEBIAN/conffiles
Normal file
|
@ -0,0 +1 @@
|
|||
/etc/default/mailhog
|
7
ressources/mailhog/rootfs/DEBIAN/control
Normal file
7
ressources/mailhog/rootfs/DEBIAN/control
Normal file
|
@ -0,0 +1,7 @@
|
|||
Package: mailhog
|
||||
Version: %VERSION%
|
||||
Section: base
|
||||
Priority: optional
|
||||
Architecture: all
|
||||
Maintainer: Thomas Legay <thomas@syngate.fr>
|
||||
Description: mailhog
|
4
ressources/mailhog/rootfs/DEBIAN/postinst
Executable file
4
ressources/mailhog/rootfs/DEBIAN/postinst
Executable file
|
@ -0,0 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
id mailhog &> /dev/null || useradd mailhog -r -s /bin/false -d /
|
||||
|
4
ressources/mailhog/rootfs/etc/default/mailhog
Normal file
4
ressources/mailhog/rootfs/etc/default/mailhog
Normal file
|
@ -0,0 +1,4 @@
|
|||
MH_AUTH_FILE=/etc/mailhog/passwd
|
||||
MH_API_BIND_ADDR=127.0.0.1:8025
|
||||
MH_UI_BIND_ADDR=127.0.0.1:8025
|
||||
MH_SMTP_BIND_ADDR=172.16.1.247:1025
|
1
ressources/mailhog/rootfs/etc/mailhog/passwd
Normal file
1
ressources/mailhog/rootfs/etc/mailhog/passwd
Normal file
|
@ -0,0 +1 @@
|
|||
email-lanvin:$2y$10$vc.G.PfDFg/OCkvPif6/Q.ObkdNXnxAh5MfqCoHd/jVUEjKh/5Fxu
|
1
ressources/mailhog/rootfs/usr/bin/.gitkeep
Normal file
1
ressources/mailhog/rootfs/usr/bin/.gitkeep
Normal file
|
@ -0,0 +1 @@
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
[Unit]
|
||||
Description=service mailhog
|
||||
Documentation=https://github.com/mautrix/MailHog
|
||||
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=mailhog
|
||||
Group=mailhog
|
||||
EnvironmentFile=/etc/default/mailhog
|
||||
ExecStart=/usr/bin/mailhog
|
||||
WorkingDirectory=/tmp
|
||||
Restart=on-failure
|
||||
RestartSec=30s
|
||||
#ReadWritePaths=/tmp
|
||||
NoNewPrivileges=yes
|
||||
MemoryDenyWriteExecute=true
|
||||
PrivateDevices=yes
|
||||
PrivateTmp=yes
|
||||
ProtectHome=yes
|
||||
ProtectSystem=strict
|
||||
ProtectControlGroups=true
|
||||
RestrictSUIDSGID=true
|
||||
RestrictRealtime=true
|
||||
LockPersonality=true
|
||||
ProtectKernelLogs=true
|
||||
ProtectKernelTunables=true
|
||||
ProtectHostname=true
|
||||
ProtectKernelModules=true
|
||||
PrivateUsers=true
|
||||
ProtectClock=true
|
||||
SystemCallArchitectures=native
|
||||
SystemCallErrorNumber=EPERM
|
||||
SystemCallFilter=@system-service
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in a new issue