From 3955839cc09954e5ccecd2d6175be7db8df9b42c Mon Sep 17 00:00:00 2001 From: dalton5 Date: Fri, 18 Apr 2025 02:31:09 +0200 Subject: [PATCH] Morphik UI for Docker --- Dockerfile.ui | 28 ++++++++++++++++++++++++++++ docker-compose.yml | 16 ++++++++++++++++ morphik.toml | 2 +- 3 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 Dockerfile.ui diff --git a/Dockerfile.ui b/Dockerfile.ui new file mode 100644 index 00000000..e46da114 --- /dev/null +++ b/Dockerfile.ui @@ -0,0 +1,28 @@ +FROM ubuntu:22.04 + +ENV DEBIAN_FRONTEND=noninteractive +ENV NVM_DIR=/root/.nvm + +# Install dependencies +RUN apt-get update && apt-get install -y \ + curl \ + bash \ + ca-certificates \ + build-essential \ + git \ + && rm -rf /var/lib/apt/lists/* + +# Install NVM and Node.js LTS, make Node & npm available at runtime +RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.2/install.sh | bash && \ + . "$NVM_DIR/nvm.sh" && \ + nvm install --lts && \ + nvm alias default 'lts/*' && \ + nvm use default && \ + echo 'export NVM_DIR="$HOME/.nvm"' >> /root/.bashrc && \ + echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /root/.bashrc && \ + echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> /root/.bashrc + +# Add Node and npm to PATH for all shells (login & non-login) +ENV PATH="/root/.nvm/versions/node/v18.*/bin:$PATH" + +WORKDIR /app diff --git a/docker-compose.yml b/docker-compose.yml index 121e21af..a48bb1d0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -47,6 +47,22 @@ services: - morphik-network env_file: - .env + + ui: + build: + context: . + dockerfile: Dockerfile.ui + ports: + - "3000:3000" + volumes: + - ./ui-component:/app/ui-component + working_dir: /app/ui-component + command: bash -c '. /root/.nvm/nvm.sh && nvm use --lts && npm install && npm run dev' + depends_on: + - morphik + networks: + - morphik-network + worker: build: . diff --git a/morphik.toml b/morphik.toml index c7cffcd2..cdb288cf 100644 --- a/morphik.toml +++ b/morphik.toml @@ -109,7 +109,7 @@ mode = "self_hosted" # "cloud" or "self_hosted" api_domain = "api.morphik.ai" # API domain for cloud URIs [redis] -host = "localhost" +host = "redis" port = 6379 [graph]