1
0
mirror of https://github.com/jhillyerd/inbucket.git synced 2025-12-17 09:37:02 +00:00
Files
go-inbucket/etc/docker/docker-run.sh
2023-11-30 15:18:01 -08:00

75 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
# docker-run.sh
# description: Launch Inbucket's docker image
# Docker Image Tag
IMAGE="inbucket/inbucket:edge"
# Ports exposed on host:
PORT_HTTP=9000
PORT_SMTP=2500
PORT_POP3=1100
# Volumes exposed on host:
VOL_CONFIG="/tmp/inbucket/config"
VOL_DATA="/tmp/inbucket/storage"
set -e
main() {
local run_opts=""
for arg in $*; do
case "$arg" in
-h)
usage
exit
;;
-b)
build
;;
-r)
reset
;;
-d)
run_opts="$run_opts -d"
;;
*)
usage
exit 1
;;
esac
done
set -x
docker run $run_opts \
-p $PORT_HTTP:9000 \
-p $PORT_SMTP:2500 \
-p $PORT_POP3:1100 \
-v "$VOL_CONFIG:/config" \
-v "$VOL_DATA:/storage" \
"$IMAGE"
}
usage() {
echo "$0 [options]" 2>&1
echo " -b build - build image before starting" 2>&1
echo " -d detach - detach and print container ID" 2>&1
echo " -r reset - purge config and data before startup" 2>&1
echo " -h help - print this message" 2>&1
}
build() {
echo "Building $IMAGE"
docker build . -t "$IMAGE"
echo
}
reset() {
rm -rf "$VOL_CONFIG"
rm -rf "$VOL_DATA"
}
main $*