-
-
Notifications
You must be signed in to change notification settings - Fork 6.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1161 from k1lgor/hotfix/docker-image
Hotfix/docker image
- Loading branch information
Showing
6 changed files
with
5,099 additions
and
4,966 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,3 @@ | ||
version: "3" | ||
|
||
services: | ||
gpt-engineer: | ||
build: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,69 @@ | ||
# Getting Started using Docker | ||
# Getting Started Using Docker | ||
|
||
**Running using docker cli**: | ||
This guide provides step-by-step instructions on how to set up and run the Docker environment for your GPT-Engineer project. | ||
|
||
Building the image: | ||
- `git clone https://github.com/gpt-engineer-org/gpt-engineer.git` | ||
- `cd gpt-engineer` | ||
- `docker build --rm -t gpt-engineer -f docker/Dockerfile .` | ||
## Prerequisites | ||
|
||
Running the container: | ||
- `docker run -it --rm -e OPENAI_API_KEY="YOUR OPENAI KEY" -v ./your-project:/project gpt-engineer` | ||
- Docker installed on your machine. | ||
- Git (for cloning the repository). | ||
|
||
The `-v` flag mounts the `your-project` folder into the container. Make sure to have a `prompt` file in there. | ||
## Setup Instructions | ||
|
||
**Running using docker-compose cli**: | ||
### Using Docker CLI | ||
|
||
Building the image: | ||
- `git clone https://github.com/gpt-engineer-org/gpt-engineer.git` | ||
- `cd gpt-engineer` | ||
- `docker-compose -f docker-compose.yml build` | ||
- `docker-compose run --rm gpt-engineer` | ||
1. **Clone the Repository** | ||
|
||
```bash | ||
git clone https://github.com/gpt-engineer-org/gpt-engineer.git | ||
cd gpt-engineer | ||
``` | ||
|
||
Set the OPENAI_API_KEY in docker/docker-compose.yml using .env file or environment variable, and mount your project folder into the container using volumes. for example "./projects/example:/project" ./projects/example is the path to your project folder. | ||
2. **Build the Docker Image** | ||
|
||
```bash | ||
docker build --rm -t gpt-engineer -f docker/Dockerfile . | ||
``` | ||
|
||
3. **Run the Docker Container** | ||
|
||
```bash | ||
docker run -it --rm -e OPENAI_API_KEY="YOUR_OPENAI_KEY" -v ./your-project:/project gpt-engineer | ||
``` | ||
|
||
Replace `YOUR_OPENAI_KEY` with your actual OpenAI API key. The `-v` flag mounts your local `your-project` directory inside the container. Replace this with your actual project directory. Ensure this directory contains all necessary files, including the `prompt` file. | ||
|
||
### Using Docker Compose | ||
|
||
1. **Clone the Repository** (if not already done) | ||
|
||
```bash | ||
git clone https://github.com/gpt-engineer-org/gpt-engineer.git | ||
cd gpt-engineer | ||
``` | ||
|
||
2. **Build and Run using Docker Compose** | ||
|
||
```bash | ||
docker-compose -f docker-compose.yml build | ||
docker-compose run --rm gpt-engineer | ||
``` | ||
|
||
Set the `OPENAI_API_KEY` in the `docker/docker-compose.yml` using an `.env` file or as an environment variable. Mount your project directory to the container using volumes, e.g., `"./projects/example:/project"` where `./projects/example` is the path to your project directory. | ||
|
||
3. **Another alternative using Docker Compose** | ||
|
||
Since there is only one `docker-compose.yml` file, you could run it without the -f option. | ||
- `docker compose up -d --build` - To build and start the containers defined in your `docker-compose.yml` file in detached mode | ||
- `docker compose up -d` - To start the containers defined in your `docker-compose.yml` file in detached mode | ||
- `docker compose down` - To stop and remove all containers, networks, and volumes associated with the `docker-compose.yml` | ||
- `docker compose restart` - To restart the containers defined in the `docker-compose.yml` file | ||
|
||
## Debugging | ||
|
||
To facilitate debugging, you can run a shell inside the built Docker image: | ||
|
||
```bash | ||
docker run -it --entrypoint /bin/bash gpt-engineer | ||
``` | ||
|
||
This opens a shell inside the Docker container, allowing you to execute commands and inspect the environment manually. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
#!/usr/bin/env sh | ||
#!/usr/bin/env bash | ||
# -*- coding: utf-8 -*- | ||
|
||
project_dir="/project" | ||
|
Oops, something went wrong.