Create an AWS Cloud 9 Server 

Choose Type m4.large 

To control costs, set to shutdown after X min/hours of inactivity

Modify the volume for your EC2 instance to 50G

Be sure to tag the EC2 instance and the volume as a "Cloud9" volume so that you remember to retain it.

After the modification is complete, see the following instructions on how to claim that space from your instance: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

Install Docker compose

https://docs.docker.com/compose/install/

Clone DSpace and DSpace-Docker-Images

git clone https://github.com/DSpace/DSpace.git
git clone https://github.com/DSpace-Labs/DSpace-Docker-Images.git
cd DSpace
export DSPACE_SRC=${PWD}
cd ../DSpace-Docker-Images/docker-compose-files/dspace-compose



IDE Display: Code on Top, Terminal on Bottom, Running DSpace Docker


Look at the EC2 screen to get the DNS for your instance

DSpace App Running in Docker 

Get the public IP from the EC2 Instance Dashboard.  Add port 8080


Understanding Costs

Close all browser tabs that are accessing the instance in order to ensure that the shutdown takes place.  The EC2 instance will be in a stopped state.  If you wish to re-use this environment, do not terminate the EC2 instance and do not delete the associated volume.

With the automatic shutdown setting, I have found the daily costs of maintaining this environment to be less that $1 / day.  Carefully track costs if you do not destroy the EC2 instance and the associated volume.