diff --git a/Dockerfile b/Dockerfile
index 82601ceb3e183c2226953a5b76de71a4303cc314..9aae39e418fa55577c67eaa5aa34f65ae7f79a16 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,7 @@
 FROM python:3.8.12-slim-bullseye
 
 ARG with_models=false
+ARG models=
 
 WORKDIR /app
 
@@ -14,14 +15,17 @@ RUN pip install --upgrade pip
 
 COPY . .
 
-# check for offline build
+
 RUN if [ "$with_models" = "true" ]; then  \
         # install only the dependencies first
         pip install -e .;  \
         # initialize the language models
-        ./install_models.py;  \
+        if [ ! -z "$models" ]; then \
+                  ./install_models.py --load_only_lang_codes "$models";   \
+        else \
+                  ./install_models.py;  \
+        fi \
     fi
-
 # Install package from source code
 RUN pip install . \
   && pip cache purge
diff --git a/install_models.py b/install_models.py
index 23631f48f67e97c53e60256123491fae2cae9082..a6aa2ef0b07f531803868e03b82e2c9ff93dc435 100755
--- a/install_models.py
+++ b/install_models.py
@@ -1,7 +1,11 @@
 #!/usr/bin/env python
-
+import argparse
 from app.init import check_and_install_models, check_and_install_transliteration
 
 if __name__ == "__main__":
-    check_and_install_models(force=True)
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--load_only_lang_codes", type=str, default="")
+    args = parser.parse_args()
+    lang_codes = args.load_only_lang_codes.split(",") or None
+    check_and_install_models(force=True, load_only_lang_codes=lang_codes)
     check_and_install_transliteration(force=True)