aboutsummaryrefslogtreecommitdiffstats
path: root/src/ollama_provision
diff options
context:
space:
mode:
authorben2023-03-04 22:22:22 +0100
committerben2025-03-04 21:47:15 +0100
commit207592ff57938536eafa99f2632d670d2bb9457e (patch)
tree25e89078fad54f86d2691b21e8390b36e44e1aa5 /src/ollama_provision
parentf3eae794ace20d10edc4e970ce6258a47fb3b4d9 (diff)
downloadai_env-207592ff57938536eafa99f2632d670d2bb9457e.tar.gz
ai_env-207592ff57938536eafa99f2632d670d2bb9457e.tar.bz2
ai_env-207592ff57938536eafa99f2632d670d2bb9457e.tar.xz
Isolating containers from internet access to enhance security.
Diffstat (limited to 'src/ollama_provision')
-rw-r--r--src/ollama_provision/Dockerfile12
-rw-r--r--src/ollama_provision/entrypoint.sh5
-rwxr-xr-xsrc/ollama_provision/init_models.sh17
3 files changed, 34 insertions, 0 deletions
diff --git a/src/ollama_provision/Dockerfile b/src/ollama_provision/Dockerfile
new file mode 100644
index 0000000..4aa439b
--- /dev/null
+++ b/src/ollama_provision/Dockerfile
@@ -0,0 +1,12 @@
+FROM ollama/ollama:latest
+
+ENV DEBIAN_FRONTEND=noninteractive
+RUN apt-get update
+RUN apt-get --yes -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" install bash curl jq
+
+ADD ./src/ollama_provision/init_models.sh /init_models.sh
+ADD ./src/ollama_provision/entrypoint.sh /entrypoint.sh
+RUN chmod 755 /entrypoint.sh
+
+ENTRYPOINT ["/entrypoint.sh"]
+#ENTRYPOINT ["tail", "-f", "/dev/null"] # to debug
diff --git a/src/ollama_provision/entrypoint.sh b/src/ollama_provision/entrypoint.sh
new file mode 100644
index 0000000..1952755
--- /dev/null
+++ b/src/ollama_provision/entrypoint.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+ollama start &
+echo "pull models into ollama volumes"
+bash /init_models.sh
diff --git a/src/ollama_provision/init_models.sh b/src/ollama_provision/init_models.sh
new file mode 100755
index 0000000..1eae979
--- /dev/null
+++ b/src/ollama_provision/init_models.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+
+IFS=',' read -r -a models_arr <<< "${MODELS}"
+
+## now loop through the above array
+for m in "${models_arr[@]}"
+do
+ ollama list | tail -n +2 | cut -d' ' -f1 | grep ${m} > /dev/null
+ if [[ $? -ne 0 ]]
+ then
+ echo "download {m}"
+ ollama pull "${m}"
+ else
+ echo "${m} already installed"
+ fi
+done