From f4592fff96244bad1b4e738015415ce543130a47 Mon Sep 17 00:00:00 2001 From: powermaker450 Date: Thu, 25 Jul 2024 12:55:48 -0400 Subject: [PATCH] Add Docker support --- Dockerfile | 25 +++++++++++++++++++++++++ docker-compose.yml | 20 ++++++++++++++++++++ entrypoint.sh | 16 ++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 entrypoint.sh diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b8a6e3f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,25 @@ +FROM node:20.12.2-alpine + +RUN apk update > /dev/null && apk add git > /dev/null + +RUN git clone https://git.povario.com/powermaker450/Tailchat-Assistant app > /dev/null + +WORKDIR /app +RUN npm i && npm run build + +ENV HOST="http://localhost:11000" +ENV ID="" +ENV SECRET="" +ENV API_ENDPOINT="http://localhost:8080/v1" +ENV API_KEY="none" +ENV TEXT_MODEL="gpt-4" +ENV CREATE_IMAGE_MODEL="stablediffusion-cpp" +ENV ANALYZE_IMAGE_MODEL="gpt-4-vision-preview" +ENV TEMPERATURE=1 +ENV ALLOWED_CHAT="" +ENV SAFE_WORD="\\" + +COPY ./entrypoint.sh ./entrypoint.sh +RUN chmod +x ./entrypoint.sh + +ENTRYPOINT ["sh", "-c", "./entrypoint.sh"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..e9e167c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,20 @@ +services: + assistant: + container_name: tailchat_assistant + image: tailchat_assistant + build: + context: . + env_file: ".env" + environment: + - HOST=${HOST} + - ID=${ID} + - SECRET=${SECRET} + - API_ENDPOINT=${API_ENDPOINT} + - API_KEY=${API_KEY} + - TEXT_MODEL=${TEXT_MODEL} + - CREATE_IMAGE_MODEL=${CREATE_IMAGE_MODEL} + - ANALYZE_IMAGE_MODEL=${ANALYZE_IMAGE_MODEL} + - ALLOWED_CHAT=${ALLOWED_CHAT} + - SAFE_WORD=${SAFE_WORD} + volumes: + - ./persist:/app/persist diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..142d4d2 --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,16 @@ +cd /app + +echo "" > .env && \ + echo "HOST=$HOST" >> .env && \ + echo "ID=$ID" >> .env && \ + echo "SECRET=$SECRET" >> .env && \ + echo "API_ENDPOINT=$API_ENDPOINT" >> .env && \ + echo "API_KEY=$API_KEY" >> .env && \ + echo "TEXT_MODEL=$TEXT_MODEL" >> .env && \ + echo "CREATE_IMAGE_MODEL=$CREATE_IMAGE_MODEL" >> .env && \ + echo "ANALYZE_IMAGE_MODEL=$ANALYZE_IMAGE_MODEL" >> .env && \ + echo "TEMPERATURE=$TEMPERATURE" >> .env && \ + echo "ALLOWED_CHAT=$ALLOWED_CHAT" >> .env && \ + echo "SAFE_WORD=$SAFE_WORD" >> .env + +npm run start