File size: 1,272 Bytes
013b837
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# ---- 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"]