Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker : image build + documentation #3666

Merged
merged 21 commits into from
Nov 30, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
399e898
Moving Docker folder into Build
Chavithra Nov 23, 2022
e3e3712
Workflows : update Docker
Chavithra Nov 23, 2022
7655afa
Docker : update compose image version
Chavithra Nov 23, 2022
7c4acc1
Docker : fix volumes path
Chavithra Nov 23, 2022
1305f13
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 23, 2022
606a8a3
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 27, 2022
cb09e40
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 27, 2022
69cb64d
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 28, 2022
a4fce79
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 28, 2022
80aa476
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 28, 2022
cb08bf0
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 29, 2022
b6300ab
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 29, 2022
1a78841
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 29, 2022
1d9ce6f
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 29, 2022
971c5eb
Merge branch 'main' of github.com:OpenBB-finance/OpenBBTerminal
Chavithra Nov 29, 2022
b271c5f
Docker : image build + doc
Chavithra Nov 30, 2022
51e84a9
Docker : update image name
Chavithra Nov 30, 2022
be7968f
Docker : update build
Chavithra Nov 30, 2022
ad05e2b
Docker : clean cache
Chavithra Nov 30, 2022
10c5bba
Docker : image name
Chavithra Nov 30, 2022
7eae30b
Merge branch 'main' into up_docker
Chavithra Nov 30, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions build/docker/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ echo "Building docker release"

# SET DEFAULT PARAMETERS IF EMPTY
OPENBBTERMINAL_DOCKER_REGISTRY="${OPENBBTERMINAL_DOCKER_REGISTRY:-ghcr.io}"
OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY="${OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY:-openbb-finance}"
OPENBBTERMINAL_DOCKER_RELEASE_VERSION="${OPENBBTERMINAL_DOCKER_RELEASE_VERSION:-0.0.1}"
OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY="${OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY:-openbb-finance/openbbterminal}"
OPENBBTERMINAL_DOCKER_RELEASE_VERSION="${OPENBBTERMINAL_DOCKER_RELEASE_VERSION:-0.0.0}"
# SET IMAGES NAMES
OPENBBTERMINAL_DOCKER_POETRY_IMAGE=${OPENBBTERMINAL_DOCKER_REGISTRY,,}/${OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY,,}/poetry:${OPENBBTERMINAL_DOCKER_RELEASE_VERSION,,}
OPENBBTERMINAL_DOCKER_POETRY_IMAGE=${OPENBBTERMINAL_DOCKER_REGISTRY,,}/${OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY,,}/openbb:${OPENBBTERMINAL_DOCKER_RELEASE_VERSION,,}
OPENBBTERMINAL_DOCKER_POETRY_IMAGE_LATEST=${OPENBBTERMINAL_DOCKER_REGISTRY,,}/${OPENBBTERMINAL_DOCKER_GITHUB_REPOSITORY,,}/openbb:latest

# DISPLAY PARAMETERS
echo "OPENBBTERMINAL_DOCKER_REGISTRY = $OPENBBTERMINAL_DOCKER_REGISTRY"
Expand All @@ -17,4 +18,4 @@ echo "OPENBBTERMINAL_DOCKER_RELEASE_VERSION = $OPENBBTERMINAL_DOCKER_RELEASE_VER
echo "OPENBBTERMINAL_DOCKER_POETRY_IMAGE = $OPENBBTERMINAL_DOCKER_POETRY_IMAGE"

# Docker command to build image
docker build -f build/docker/poetry.dockerfile -t "${OPENBBTERMINAL_DOCKER_POETRY_IMAGE}" .
docker build -f build/docker/openbb.dockerfile -t "${OPENBBTERMINAL_DOCKER_POETRY_IMAGE}" -t "${OPENBBTERMINAL_DOCKER_POETRY_IMAGE_LATEST}" .
8 changes: 4 additions & 4 deletions build/docker/docker-compose.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
version: '3.8'
services:
poetry:
openbb:
environment:
DISPLAY: host.docker.internal:0.0
volumes:
- ~/OpenBBUserData:/root/OpenBBUserData
- ~/.openbb_terminal:/root/.openbb_terminal
- ~/OpenBBUserData:/home/python/OpenBBUserData
- ~/.openbb_terminal:/home/python/.openbb_terminal
platform: linux/amd64
image: ghcr.io/openbb-finance/openbbterminal/poetry:2.0.0
image: ghcr.io/openbb-finance/openbbterminal/openbb:2.0.0
stdin_open: true # docker run -i
tty: true # docker run -t
64 changes: 64 additions & 0 deletions build/docker/openbb.dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# SETUP PYTHON IMAGE
FROM --platform=linux/amd64 python:3.10-slim-bullseye as python

LABEL org.opencontainers.image.source https://github.com/OpenBB-finance/OpenBBTerminal

# SETUP DEBIAN IMAGE
FROM python as debian

RUN apt-get update

RUN apt-get -y install --no-install-recommends \
gcc \
g++ \
make

RUN apt-get -y install --no-install-recommends \
git

RUN apt-get -y install --no-install-recommends \
curl \
wget

RUN apt-get -y install --no-install-recommends \
libsm6 \
libxt6 \
libgl1-mesa-glx \
libpng16-16 \
python3-tk

RUN apt-get clean

RUN useradd --create-home --shell /bin/bash python

USER python
WORKDIR /home/python

# SETUP POETRY IMAGE
FROM debian as poetry

ENV PATH="/home/python/.local/bin:${PATH}"

RUN pip install --upgrade pip wheel
RUN pip install poetry==1.1.15

# SETUP OPENBB IMAGE
FROM poetry as repository

COPY --chown=python:python pyproject.toml poetry.lock terminal.py ./

RUN mkdir openbb_terminal
COPY --chown=python:python openbb_terminal openbb_terminal

RUN mkdir -p website/content/sdk/quickstart
COPY --chown=python:python ./website/content/sdk/quickstart/installation.md ./website/content/sdk/quickstart

# SETUP OPENBB IMAGE
FROM repository as dependencies

RUN poetry install --no-root --no-dev --extras optimization --extras prediction

# SETUP OPENBB IMAGE
FROM dependencies as openbb

CMD ["poetry", "run", "python", "terminal.py"]
73 changes: 0 additions & 73 deletions build/docker/poetry.dockerfile

This file was deleted.

14 changes: 7 additions & 7 deletions website/content/terminal/quickstart/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ Here are the commands to use `Docker Compose` to pull and run the `OpenBBTermina
```bash
curl -o docker-compose.yaml https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml

docker compose run poetry
docker compose run openbb
```

The command line with `curl` is downloading this file : [`docker-compose.yaml`](https://raw.githubusercontent.com/OpenBB-finance/OpenBBTerminal/main/build/docker/docker-compose.yaml).
Expand All @@ -164,12 +164,12 @@ If you don't have `Docker Compose` you can also use `Docker` directly to run the
Here is the commands to run:

```bash
docker pull ghcr.io/openbb-finance/openbbterminal-poetry:X.Y.Z
docker pull ghcr.io/openbb-finance/openbbterminal/openbb:latest

docker run -v ~/.openbb_terminal/:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm ghcr.io/openbb-finance/openbbterminal-poetry:X.Y.Z
docker run -v ~/.openbb_terminal/:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm ghcr.io/openbb-finance/openbbterminal/openbb:latest
```

Be sure to replace `X.Y.Z` with the version you want to pull and run.
You can replace `latest` with the version you want to pull and run.

Note for windows:

Expand Down Expand Up @@ -200,7 +200,7 @@ docker compose run poetry
Or run `Docker` directly:

```bash
docker run -v ~/.openbb_terminal:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm --env DISPLAY=host.docker.internal:0.0 ghcr.io/openbb-finance/openbbterminal-poetry:X.Y.Z
docker run -v ~/.openbb_terminal:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm --env DISPLAY=host.docker.internal:0.0 ghcr.io/openbb-finance/openbbterminal/openbb:latest
```

### X-Server on macOS
Expand Down Expand Up @@ -229,7 +229,7 @@ xhost + $IP
Now we can run the docker container, adding the display to the environment:

```bash
docker run -v ~/.openbb_terminal/:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm --env-file=path/to/setenv --env DISPLAY=$IP:0 ghcr.io/openbb-finance/openbbterminal-poetry:X.Y.Z
docker run -v ~/.openbb_terminal/:/home/python/.openbb_terminal -v ~/OpenBBUserData:/home/python/OpenBBUserData -it --rm --env-file=path/to/setenv --env DISPLAY=$IP:0 ghcr.io/openbb-finance/openbbterminal/openbb:latest
```

This container will be able to display all the same plots as the terminal interface.
Expand All @@ -252,7 +252,7 @@ And run the following commands.

```bash
xhost +local:
docker run -it --rm --name openbb --env-file=./.env -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/openbb-finance/openbbterminal-poetry:X.Y.Z
docker run -it --rm --name openbb --env-file=./.env -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix ghcr.io/openbb-finance/openbbterminal/openbb:latest
xhost -local:
```

Expand Down