diff --git a/env.py b/env.py
index f7ea9dbf4386b67be89947f9f74fe2a6995e26a7..1a89d008a0325597edc490cd231695dcf32c9d96 100644
--- a/env.py
+++ b/env.py
@@ -5,6 +5,7 @@ FLAVOR = os.getenv("CUSTOM_ENV_FLAVOR") or os.getenv("FLAVOR")
 BUILDER_IMAGE = os.getenv("CUSTOM_ENV_BUILDER_IMAGE") or os.getenv("BUILDER_IMAGE")
 NETWORK = os.getenv("CUSTOM_ENV_NETWORK") or os.getenv("NETWORK")
 KEY_PAIR_NAME = f'key-{VM_NAME}'
+VOLUME_SIZE = os.getenv("CUSTOM_ENV_VOLUME_SIZE") or os.getenv("VOLUME_SIZE") or "20"
 SECURITY_GROUPS = os.getenv("CUSTOM_ENV_SECURITY_GROUPS") or os.getenv("SECURITY_GROUPS")
 USERNAME = os.getenv("CUSTOM_ENV_USERNAME") or os.getenv("USERNAME")
 PRIVATE_KEY_PATH = f"{os.getenv('HOME')}/priv_key-{VM_NAME}"
diff --git a/prepare.py b/prepare.py
index 5e95c5ab94ec4aa2c4db3e72bee94167632d284c..ed2fa2027e08fd476c8d387749f1040e62ede248 100644
--- a/prepare.py
+++ b/prepare.py
@@ -26,6 +26,8 @@ def provision_server(
         name=env.VM_NAME,
         flavor_id=flavor.id,
         image_id=image.id,
+        boot_from_volume=True,
+        volume_size=env.VOLUME_SIZE,
         key_name=env.KEY_PAIR_NAME,
         security_groups=[{"name": group} for group in env.SECURITY_GROUPS.split()],
         networks=[{"uuid": network.id}],