diff --git a/form.yml.erb b/form.yml.erb
index 4b2fe3b9dbcc71c431fca40bf6f90e0c13f2e254..a29a0c3f9341ad511c1e00a08538f9eaf9830236 100644
--- a/form.yml.erb
+++ b/form.yml.erb
@@ -14,12 +14,12 @@
 cluster: "SLURM_CLUSTER"
 
 # Title of the app displayed in the Dashboard
-title: "JupyterLab"
+title: "JupyterLab Singularity"
 
 # Description of the app displayed in the Dashboard (can use multi-line string
 # and Markdown syntax)
 description: |
-  This app will launch a JupyterLab server on one or more cores.
+  This app will launch a JupyterLab server on one or more cores from a given Singularity container.
 
 # Define attribute values that aren't meant to be modified by the user within
 # the Dashboard form
@@ -40,12 +40,9 @@ attributes:
     widget: text_area
     label: Environment Setup
     value: |
-      # The latest version of Anaconda3 with jupyter is loaded by default.
-      # If you would like to load other modules
-      # or use specific version of Anaconda please list below
-      #
-      # format:
-      # module load example_module/VERSION example_module2
+      # load any other modules you may need here such as CUDA
+      # DO NOT LOAD Anaconda3 or Singularity, these are already 
+      # taken care of
 
   # Whether Conda extensions will be available within the JupyterLab
   # server
@@ -59,6 +56,16 @@ attributes:
   # @see https://docs.continuum.io/anaconda/user-guide/tasks/use-jupyter-notebook-extensions
   conda_extensions: "1"
 
+  # User needs to set the path to the container
+  container_path:
+    widget: text_field
+    label: Path to Container File
+
+  # Any extra command line arguments to pass to `singularity exec ...`
+  extra_singularity_args:
+    widget: text_field
+    label: Extra Singularity arguments
+
   # Any extra command line arguments to feed to the `jupyter-lab ...`
   # command that launches the JupyterLab within the batch job
   extra_jupyter_args:
@@ -112,6 +119,8 @@ attributes:
 form:
   - custom_environment
   - conda_extensions
+  - container_path
+  - extra_singularity_args
   - extra_jupyter_args
   - bc_num_hours
   - bc_partition
diff --git a/template/script.sh.erb b/template/script.sh.erb
index bfae0fe56a4afafa90669e18bd3933565c0b0cb7..8d9a75514b2acd991034f08ef222023b941cc9ab 100755
--- a/template/script.sh.erb
+++ b/template/script.sh.erb
@@ -6,8 +6,9 @@ module reset
 #
 # Start JupyterLab Server
 #
-module load Anaconda3
 <%= context.custom_environment.gsub(/\r\n?/, "\n") %>
 unset XDG_RUNTIME_DIR
+export SINGULARITY_BINDPATH='/data,/scratch,/local,/share'
+
 # Launch the JupyterLab Server
-jupyter-lab --config="${CONFIG_FILE}" <%= context.extra_jupyter_args %>
+singularity exec <%= context.extra_singularity_args %> <%= context.container_path %> jupyter-lab --config="${CONFIG_FILE}" <%= context.extra_jupyter_args %>