From 001e9fec58dfdaa18506f37732be76847629fa1c Mon Sep 17 00:00:00 2001
From: James Hillyerd
Date: Sun, 28 Jun 2020 11:00:51 -0700
Subject: [PATCH] Rollback #153 as it breaks storage volumes, closes #27 (#161)
Keeping tzdata pkg
---
Dockerfile | 6 +----
etc/docker/defaults/greeting.html | 36 +++++++--------------------
etc/docker/defaults/start-inbucket.sh | 15 +++++++++++
3 files changed, 25 insertions(+), 32 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index cce2643..5df3e0a 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -37,7 +37,7 @@ COPY etc/docker/defaults/start-inbucket.sh /
ENV INBUCKET_SMTP_DISCARDDOMAINS bitbucket.local
ENV INBUCKET_SMTP_TIMEOUT 30s
ENV INBUCKET_POP3_TIMEOUT 30s
-ENV INBUCKET_WEB_GREETINGFILE /opt/inbucket/defaults/greeting.html
+ENV INBUCKET_WEB_GREETINGFILE /config/greeting.html
ENV INBUCKET_WEB_COOKIEAUTHKEY secret-inbucket-session-cookie-key
ENV INBUCKET_WEB_UIDIR=ui
ENV INBUCKET_STORAGE_TYPE file
@@ -55,9 +55,5 @@ EXPOSE 2500 9000 1100
VOLUME /config
VOLUME /storage
-RUN addgroup -g 1000 inbucket && adduser -G inbucket -u 1000 -D inbucket && chown -R inbucket:inbucket /opt/inbucket/ && chmod 774 /opt/inbucket/ -R && chown /start-inbucket.sh && chmod +x /start-inbucket.sh
-
-USER inbucket
-
ENTRYPOINT ["/start-inbucket.sh"]
CMD ["-logjson"]
diff --git a/etc/docker/defaults/greeting.html b/etc/docker/defaults/greeting.html
index 242bff9..88b22fd 100644
--- a/etc/docker/defaults/greeting.html
+++ b/etc/docker/defaults/greeting.html
@@ -1,35 +1,17 @@
Welcome to Inbucket
Inbucket is an email testing service; it will accept email for any email
- address and make it available to view without a password.
-
+address and make it available to view without a password.
To view messages for a particular address, enter the username portion
- of the address into the box on the upper right and click View.
-
+of the address into the box on the upper right and click View.
This instance of Inbucket is running inside of a Docker container. It is
- configured to retain messages for a maximum of 3 days, and
- will enforce a limit of 300 messages per mailbox - the oldest messages will
- be deleted to stay under that limit.
-
+ href="https://www.docker.com/" target="_blank">Docker container. It is
+configured to retain messages for a maximum of 3 days, and will enforce a limit
+of 300 messages per mailbox - the oldest messages will be deleted to stay under
+that limit.
-
- Messages addressed to any recipient in the @bitbucket.local
- domain will be accepted but not written to disk. Use this domain for load or
- soak testing your application.
-
-
- You can modify this greetings page by changing the Docker environment variable
- 'INBUCKET_WEB_GREETINGFILE' to point to a different greetings.html. If for
- example you have a greetings file on your local machine and want to mount that
- you could that file using the docker '--volume' parameter to add your local
- greetings.html file to the directory '/custom/greetings.html'. You will then
- set the environment variable INBUCKET_WEB_GREETINGFILE to
- '/custom/greetings.html'. Your customized file will then be loaded after you
- start the Docker container.
-
- This exact greetings file can be found at:
- https://github.com/inbucket/inbucket/blob/master/etc/docker/defaults/greeting.html.
-
+Messages addressed to any recipient in the @bitbucket.local
+domain will be accepted but not written to disk. Use this domain for load or
+soak testing your application.
diff --git a/etc/docker/defaults/start-inbucket.sh b/etc/docker/defaults/start-inbucket.sh
index dc7492e..9960437 100755
--- a/etc/docker/defaults/start-inbucket.sh
+++ b/etc/docker/defaults/start-inbucket.sh
@@ -3,7 +3,22 @@
# description: start inbucket (runs within a docker container)
INBUCKET_HOME="/opt/inbucket"
+CONF_SOURCE="$INBUCKET_HOME/defaults"
+CONF_TARGET="/config"
set -eo pipefail
+install_default_config() {
+ local file="$1"
+ local source="$CONF_SOURCE/$file"
+ local target="$CONF_TARGET/$file"
+
+ if [ ! -e "$target" ]; then
+ echo "Installing default $file to $CONF_TARGET"
+ install "$source" "$target"
+ fi
+}
+
+install_default_config "greeting.html"
+
exec "$INBUCKET_HOME/bin/inbucket" $*