Improvements to Dockerfile and Docker Compose setup.
diff --git a/.gitignore b/.gitignore
index cf97e96..463a2df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,7 @@
 velocity.log
 
 tomcat-base
-deployment/docker-compose/postgresql-data
-deployment/docker-compose/roller-data
+docker/postgresql-data
+docker/roller-data
 assembly-release/release.sh
 it-selenium/overlays/
diff --git a/deployment/docker-compose/Dockerfile b/Dockerfile
similarity index 62%
rename from deployment/docker-compose/Dockerfile
rename to Dockerfile
index 4a61b31..53affc4 100644
--- a/deployment/docker-compose/Dockerfile
+++ b/Dockerfile
@@ -15,50 +15,70 @@
 # copyright in this work, please see the NOTICE file in the top level
 # directory of this distribution.
 
-FROM tomcat:8.0-jre8-alpine
 
-ARG STORAGE_ROOT=/var/lib/roller/data
+# Example Dockerfile for containerizing Roller
+
+
+# STAGE 1 - BUILD ------------------------------------------------
+
+FROM maven:3.6.0-jdk-11-slim as builder
+
+COPY . /project/
+
+# Build Apache Roller
+
+WORKDIR /tmp
+RUN apt-get update && apt-get install -y git
+RUN git clone https://github.com/apache/roller.git
+WORKDIR /tmp/roller
+RUN git checkout bootstrap-ui; \
+mvn -Duser.home=/builder/home -DskipTests=true -B clean install
+
+
+# STAGE 2 - PACKAGE ------------------------------------------------
+
+FROM tomcat:9.0.20-jre11-slim
+
+# Remove existing Tomcat webapps
+
+RUN rm -rf /usr/local/tomcat/webapps/*
+
+# Add Roller configuration to environment
+
+ARG STORAGE_ROOT=/usr/local/tomcat/data
 ARG DATABASE_JDBC_DRIVERCLASS=org.postgresql.Driver
 ARG DATABASE_JDBC_CONNECTIONURL=jdbc:postgresql://postgresql/rollerdb
 ARG DATABASE_JDBC_USERNAME=scott
 ARG DATABASE_JDBC_PASSWORD=tiger
-
-
-# get Roller from Apache mirror
-
-WORKDIR /usr/local/roller
-RUN wget -O roller.tar.gz \
-    https://dist.apache.org/repos/dist/dev/roller/roller-6.0/v6.0.0/roller-release-6.0.0-SNAPSHOT-standard.tar.gz
-RUN tar -xf roller.tar.gz
-RUN ln -s roller-release-*/ release
-
-# install Roller WAR as ROOT.war, create data dirs
-
-WORKDIR /usr/local/roller
-RUN rm -rf /usr/local/tomcat/webapps/*
-RUN cp release/webapp/roller.war /usr/local/tomcat/webapps/ROOT.war
-RUN mkdir -p data/mediafiles data/searchindex
-
-# download PostgreSQL and MySQL drivers plus Mail and Activation JARs
-
-WORKDIR /usr/local/tomcat/lib
-RUN wget -O mysql.jar http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.43/mysql-connector-java-5.1.43.jar
-RUN wget -O postgresql.jar http://repo2.maven.org/maven2/postgresql/postgresql/9.1-901.jdbc4/postgresql-9.1-901.jdbc4.jar
-RUN wget http://repo2.maven.org/maven2/javax/mail/mail/1.4.1/mail-1.4.1.jar
-RUN wget http://repo2.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
-
-# start Tomcat
-
-ADD entry-point.sh /usr/local/tomcat/bin
-ADD wait-for-it.sh /usr/local/tomcat/bin
-RUN chgrp -R 0 /usr/local/tomcat
-RUN chmod -R g+rw /usr/local/tomcat
+ARG DATABASE_HOST=postgresql:5434
 
 ENV STORAGE_ROOT ${STORAGE_ROOT}
 ENV DATABASE_JDBC_DRIVERCLASS ${DATABASE_JDBC_DRIVERCLASS}
 ENV DATABASE_JDBC_CONNECTIONURL ${DATABASE_JDBC_CONNECTIONURL}
 ENV DATABASE_JDBC_USERNAME ${DATABASE_JDBC_USERNAME}
 ENV DATABASE_JDBC_PASSWORD ${DATABASE_JDBC_PASSWORD}
+ENV DATABASE_HOST ${DATABASE_HOST}
+
+# install Roller WAR as ROOT.war, create data dirs
+
+WORKDIR /usr/local/roller
+COPY --from=builder /project/app/target/roller.war /usr/local/tomcat/webapps/ROOT.war
+RUN mkdir -p data/mediafiles data/searchindex
+
+# download PostgreSQL and MySQL drivers plus Mail and Activation JARs
+
+WORKDIR /usr/local/tomcat/lib
+RUN apt-get update && apt-get install -y wget
+RUN wget -O postgresql.jar https://jdbc.postgresql.org/download/postgresql-9.4-1202.jdbc4.jar
+RUN wget http://repo2.maven.org/maven2/javax/mail/mail/1.4.1/mail-1.4.1.jar
+RUN wget http://repo2.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
+
+# Add Roller entry-point and go!
+
+COPY --from=builder /project/docker/entry-point.sh /usr/local/tomcat/bin
+COPY --from=builder /project/docker/wait-for-it.sh /usr/local/tomcat/bin
+RUN chgrp -R 0 /usr/local/tomcat
+RUN chmod -R g+rw /usr/local/tomcat
 
 WORKDIR /usr/local/tomcat
-ENTRYPOINT /usr/local/tomcat/bin/entry-point.sh
+ENTRYPOINT /usr/local/tomcat/bin/entry-point.sh
\ No newline at end of file
diff --git a/deployment/docker-compose/README.md b/deployment/docker-compose/README.md
deleted file mode 100644
index bfc318a..0000000
--- a/deployment/docker-compose/README.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# Running Roller with Docker Compose
-
-This example shows how to run Roller locally with Docker Compose.
-
diff --git a/deployment/docker-compose/build.sh b/deployment/docker-compose/build.sh
deleted file mode 100755
index 2a3ed8d..0000000
--- a/deployment/docker-compose/build.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  The ASF licenses this file to You
-# under the Apache License, Version 2.0 (the "License"); you may not
-# use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.  For additional information regarding
-# copyright in this work, please see the NOTICE file in the top level
-# directory of this distribution.
-
-
-TAG=roller:6.0.0-SNAPSHOT
-
-docker build --no-cache . -t snoopdave/${TAG}
-docker push snoopdave/${TAG}
-
diff --git a/deployment/docker-compose/docker-compose.yml b/docker-compose.yml
similarity index 86%
rename from deployment/docker-compose/docker-compose.yml
rename to docker-compose.yml
index 04efca0..0288882 100644
--- a/deployment/docker-compose/docker-compose.yml
+++ b/docker-compose.yml
@@ -15,6 +15,10 @@
 # copyright in this work, please see the NOTICE file in the top level
 # directory of this distribution.
 
+
+# Example Docker Compose setup for running Roller and PostreSQL locally
+
+
 version: '3.2'
 
 services:
@@ -25,7 +29,7 @@
          - "5432:5432"
       volumes:
          - type: bind
-           source: ./postgresql-data
+           source: ./docker/postgresql-data
            target: /var/lib/postgresql/data
       environment:
          - POSTGRES_DB=rollerdb
@@ -33,11 +37,12 @@
          - POSTGRES_PASSWORD=tiger
 
    roller:
-      image: "snoopdave/roller:6.0.0-SNAPSHOT"
+      image:
+         build: .
       ports:
          - "8080:8080"
       volumes:
          - type: bind
-           source: ./roller-data
+           source: ./docker/roller-data
            target: /var/lib/roller/data
 
diff --git a/deployment/docker-compose/entry-point.sh b/docker/entry-point.sh
similarity index 95%
rename from deployment/docker-compose/entry-point.sh
rename to docker/entry-point.sh
index c9f538d..18c74ac 100755
--- a/deployment/docker-compose/entry-point.sh
+++ b/docker/entry-point.sh
@@ -28,7 +28,7 @@
 database.jdbc.password=${DATABASE_JDBC_PASSWORD}
 EOF
 
-/usr/local/tomcat/bin/wait-for-it.sh postgresql:5434
+/usr/local/tomcat/bin/wait-for-it.sh ${DATABASE_HOST}
 /usr/local/tomcat/bin/catalina.sh run
 
 
diff --git a/deployment/docker-compose/wait-for-it.sh b/docker/wait-for-it.sh
similarity index 100%
rename from deployment/docker-compose/wait-for-it.sh
rename to docker/wait-for-it.sh