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" $*