diff --git a/main.tf b/main.tf
index e8805382f651ce117357a3d034432e62f10825c2..b99bf7a155bc8ba5c8f274fcc2c5e7dcf0e2f184 100644
--- a/main.tf
+++ b/main.tf
@@ -14,6 +14,21 @@ provider "openstack" {
     }
 }
 
+variable "user_data_script" {
+  description = "User data script to be executed during instance initialization"
+  type        = string
+  default     = <<-EOF
+    #!/bin/bash
+    sudo mkdir -p /data/xdmod/queues
+    sudo mount ${module.create-ohpc-instance.device[0]}1 /var/lib/mysql
+    sudo df -h
+    sudo systemctl restart mariadb
+    sudo sed -i -E 's/xdmod..nip.io/xdmod.rc.uab.edu/g' /etc/httpd/conf.d/xdmod.conf
+    sudo sed -i -E 's/xdmod..nip.io/xdmod.rc.uab.edu/g' /etc/xdmod/simplesamlphp/config/config.php
+    sudo systemctl restart httpd
+  EOF
+}
+
 # runs the internal-network module
 module "cluster-network" {
     internal_net = var.internal_network
@@ -72,6 +87,7 @@ module "create-ohpc-instance" {
     ohpc_user =  var.ohpc_user
     ssh_private_key = var.ssh_private_key
     vol_id = data.openstack_blockstorage_volume_v3.disk.id
+    user_data_script    = var.user_data_script
 }
 
 # runs the ood-instance module - creates ood instance using variables defined above