This repository is a Docker-based desktop environment used for NURS 6293.
The easiest way to launch the environment is to locate the launchDesktop.* scripts in the root of this repository, and run the script appropriate for your operating system.
These scripts are a wrapper around docker compose which will start the containers and open a browser window to localhost:3000 after launch.
| OS | Script |
|---|---|
| Windows | ./launchDesktop.lnk |
| MacOS | ./launchDesktop.command1 |
| Unix/Linux | ./launchDesktop.sh |
- Ensure you have Docker Desktop installed on your computer.
- Run
docker compose pull && docker compose upfrom the root directory of this repository. - Navigate to
localhost:3000in your web browser. - To connect to the Postgres container, use hostname
postgres:5432from within the desktop container.
This repository contains subdirectories for the components of the nurs6293_environment:
nurs6293_database/- Contains the configuration for the Postgres database container.nurs6293_desktop/- Contains the configuration for the XFCE Desktop container.
To build either image, cd into either nurs6293_database or nurs6293_desktop subdirectory.
To build for a single architecture, you can use the ./build_image.sh script available in each directory.
When running the script, use the --dev option to build a single image which is compatible with your local machine's architecture, like:
cd nurs6293_desktop
sudo ./build_image.sh --dev
Warning
To build the nurs6293_desktop image, you may need to pull dependent binaries/artifacts which the Dockerfile will expect to find.
You can reference the build_image.sh scripts in each directory for the steps that should be taken to pull these dependencies.
To build images for multiple architectures, use the ./build_image.sh script with the --prod option, like:
cd nurs6293_desktop
sudo ./build_image.sh --prod
Warning
Running ./build_image.sh --prod will attempt to push to DockerHub, and will likely fail unless you have permissions for the DockerHub repositories.
If you are building an image for local use or testing, you should perform a single-architecture build for your current architecture.
Footnotes
-
MacOS can also utilize the
./launchDesktop.shscript, but./launchDesktop.commandprovides the ability to launch by double-clicking. ↩