From 197a2d573b16ac585856448262ea3b635637e2fe Mon Sep 17 00:00:00 2001 From: rowellz Date: Sat, 8 Mar 2025 16:48:43 -0500 Subject: [PATCH 1/2] added docker compose --- Dockerfile | 15 +++++++++++++++ README.md | 16 ++++++++++++++++ docker-compose.yml | 14 ++++++++++++++ 3 files changed, 45 insertions(+) create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..40f605f8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,15 @@ +FROM python:3.12-slim + +RUN apt-get update && apt-get install -y \ + curl \ + && rm -rf /var/lib/apt/lists/* + +RUN curl -sSL https://install.python-poetry.org | python3 - + +ENV PATH="${PATH}:/root/.local/bin" + +WORKDIR /ai-hedge-fund + +COPY . . + +RUN poetry install diff --git a/README.md b/README.md index cae950db..fcb43c0e 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,22 @@ ai-hedge-fund/ ├── ... ``` +## Docker & docker-compose + +If you have docker installed on your system, you can easily run the project by running docker-compose. + +First: + +`cp .env.example .env` + +Then: + +`docker-compose up -d` + +Finally: + +`docker exec -it ai-hedge-fund poetry run python src/main.py --ticker AAPL` + ## Contributing 1. Fork the repository diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..fdb8aeed --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,14 @@ + +services: + ai-hedge-fund: + container_name: ai-hedge-fund + restart: always + build: + context: . + dockerfile: Dockerfile + volumes: + - ./:/ai-hedge-fund + env_file: + - .env + stdin_open: true + tty: true \ No newline at end of file From b0d05603809deb102e5ecf0ab7d0048d9f0b082b Mon Sep 17 00:00:00 2001 From: rowellz Date: Sat, 8 Mar 2025 18:34:57 -0500 Subject: [PATCH 2/2] refactors from feedback --- Dockerfile | 17 +++++++++-------- README.md | 8 ++++++++ docker-compose.yml | 3 ++- 3 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Dockerfile b/Dockerfile index 40f605f8..c21ecc5e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,4 @@ -FROM python:3.12-slim - -RUN apt-get update && apt-get install -y \ - curl \ - && rm -rf /var/lib/apt/lists/* - -RUN curl -sSL https://install.python-poetry.org | python3 - +FROM python:3.13-slim ENV PATH="${PATH}:/root/.local/bin" @@ -12,4 +6,11 @@ WORKDIR /ai-hedge-fund COPY . . -RUN poetry install +RUN apt update && apt install -y build-essential \ + && rm -rf /var/lib/apt/lists/* \ + && pip install poetry \ + && poetry install + +ENTRYPOINT ["poetry", "run", "python", "-u", "src/main.py"] + +CMD ["--ticker", "AAPL"] diff --git a/README.md b/README.md index fcb43c0e..219f445e 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,14 @@ First: Then: +`docker build -t ai-hedge-fund .` + +To run it directly with docker run: + +`docker run -it ai-hedge-fund` + +Or if you prefer docker-compose & docker exec: + `docker-compose up -d` Finally: diff --git a/docker-compose.yml b/docker-compose.yml index fdb8aeed..688467ef 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,4 +11,5 @@ services: env_file: - .env stdin_open: true - tty: true \ No newline at end of file + tty: true + \ No newline at end of file