wired up dockr compose and ttyd

This commit is contained in:
Aaron Job
2023-09-10 02:26:55 +00:00
parent d233db45d9
commit fc063fde06
3 changed files with 45 additions and 23 deletions

View File

@@ -1,15 +1,22 @@
FROM python:3
# Download precompiled ttyd binary from GitHub releases
RUN apt-get update && \
apt-get install -y wget && \
wget https://github.com/tsl0922/ttyd/releases/download/1.6.3/ttyd.x86_64 -O /usr/bin/ttyd && \
chmod +x /usr/bin/ttyd && \
apt-get remove -y wget && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
RUN python -m venv pilot-env
RUN source pilot-env/bin/activate
RUN pip install -r requirements.txt
RUN python ./pilot/db_init.py
RUN /bin/bash -c "source pilot-env/bin/activate"
CMD [ "python", "./pilot/main.py" ]
WORKDIR /usr/src/app/pilot
RUN pip install -r requirements.txt
EXPOSE 7681
CMD ["ttyd", "bash"]

View File

@@ -64,6 +64,15 @@ All generated code will be stored in the folder `workspace` inside the folder na
**IMPORTANT: To run GPT Pilot, you need to have PostgreSQL set up on your machine**
<br>
# 🐳 How to start gpt-pilot in docker?
1. `git clone https://github.com/Pythagora-io/gpt-pilot.git` (clone the repo)
2. Update the `docker-compose.yml` environment variables
3. run `docker compose build`. this will build a gpt-pilot container for you.
4. run `docker compose up`.
5. access web terminal on `port 7681`
This will start two containers, one being a new image built by the `Dockerfile` and a postgres database. The new image also has (ttyd)[https://github.com/tsl0922/ttyd] installed so you can easily interact with gpt-pilot.
# 🧑‍💻️ Other arguments
- continue working on an existing app
```bash

View File

@@ -2,33 +2,39 @@ version: '3'
services:
gpt-pilot:
environment:
#OPENAI or AZURE
- ENDPOINT=OPENAI
- OPENAI_API_KEY=
# - AZURE_API_KEY=
# - AZURE_ENDPOINT=
#In case of Azure endpoint, change this to your deployed model name
- MODEL_NAME=gpt-4
- MAX_TOKENS=8192
- DB_NAME=gpt-pilot
- DATABASE_TYPE=postgres
- DB_NAME=pilot
- DB_HOST=postgres
- DB_PORT=5432
- DB_USER=gpt-pilot
- DB_PASSWORD=gpt-pilot
- DB_USER=pilot
- DB_PASSWORD=pilot
build:
context: .
dockerfile: Dockerfile
pgadmin:
container_name: pgadmin4_container
image: dpage/pgadmin4
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: admin@admin.com
PGADMIN_DEFAULT_PASSWORD: gpt-pilot
ports:
- "5050:80"
- "7681:7681"
depends_on:
postgres:
condition: service_healthy
postgres:
image: postgres
restart: always
environment:
POSTGRES_USER: gpt-pilot
POSTGRES_PASSWORD: gpt-pilot
POSTGRES_DB: gpt-pilot
POSTGRES_USER: pilot
POSTGRES_PASSWORD: pilot
POSTGRES_DB: pilot
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U user"]
interval: 30s
timeout: 10s
retries: 3