summaryrefslogtreecommitdiffstats
path: root/build/docker/platform.dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'build/docker/platform.dockerfile')
-rw-r--r--build/docker/platform.dockerfile47
1 files changed, 47 insertions, 0 deletions
diff --git a/build/docker/platform.dockerfile b/build/docker/platform.dockerfile
new file mode 100644
index 00000000000..3bbfb2ae436
--- /dev/null
+++ b/build/docker/platform.dockerfile
@@ -0,0 +1,47 @@
+# ---- Base Python ----
+ FROM python:3.11-slim-bullseye AS base
+
+ # set work directory
+ WORKDIR /openbb
+
+ # set environment variables
+ ENV PYTHONDONTWRITEBYTECODE 1
+ ENV PYTHONUNBUFFERED 1
+
+ # install dependencies
+ RUN apt-get update \
+ && apt-get install -y --no-install-recommends build-essential openssh-client curl \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+ # install toml and poetry
+ RUN pip install toml poetry
+
+ # ---- Copy Files/Build ----
+ FROM base AS builder
+
+ WORKDIR /openbb
+
+ # install Rust
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
+ && apt-get update \
+ && apt-get install -y --no-install-recommends libwebkit2gtk-4.0-dev \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
+
+ # add Rust to PATH
+ ENV PATH="/root/.cargo/bin:${PATH}"
+
+ COPY ./openbb_platform ./openbb_platform
+
+ # Install the Platform
+ RUN pip install /openbb/openbb_platform[all]
+ RUN pip install openbb-devtools
+
+ # ---- Copy Files ----
+ FROM base
+
+ COPY --from=builder /usr/local /usr/local
+
+ # Launch the API
+ CMD ["uvicorn", "openbb_core.api.rest_api:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]