add docker-compose and readme

This commit is contained in:
ramnique 2025-01-14 12:28:44 +05:30
parent 751e0371d8
commit 11e224eb4d
8 changed files with 94 additions and 7 deletions

11
.env.example Normal file
View file

@ -0,0 +1,11 @@
OPENAI_API_KEY=<OPENAI_API_KEY>
MONGODB_CONNECTION_STRING=<MONGODB_CONNECTION_STRING>
AUTH0_SECRET=<AUTH0_SECRET>
AUTH0_BASE_URL=<AUTH0_BASE_URL>
AUTH0_ISSUER_BASE_URL=<AUTH0_ISSUER_BASE_URL>
AUTH0_CLIENT_ID=<AUTH0_CLIENT_ID>
AUTH0_CLIENT_SECRET=<AUTH0_CLIENT_SECRET>
FIRECRAWL_API_KEY=<FIRECRAWL_API_KEY>
OXYLABS_USERNAME=<OXYLABS_USERNAME>
OXYLABS_PASSWORD=<OXYLABS_PASSWORD>
CHAT_WIDGET_SESSION_JWT_SECRET=<CHAT_WIDGET_SESSION_JWT_SECRET>

1
.gitignore vendored
View file

@ -1 +1,2 @@
.DS_Store .DS_Store
.env

View file

@ -1,3 +1,33 @@
# RowBoat monorepo # RowBoat monorepo
This is the monorepo for RowBoat. This is the monorepo for RowBoat.
## Setup and Run
To set up and run RowBoat, follow these steps:
1. **Create a `.env` File:**
First, create a `.env` file in the root directory of the project. You can use the `.env.example` file as a template. Copy the contents of `.env.example` and replace the placeholder values with your actual configuration values.
```bash
cp .env.example .env
```
Edit the `.env` file to include your specific API keys and secrets.
2. **Build and Run Service:**
Use Docker Compose to build and run the RowBoat service:
```bash
docker-compose up --build
```
This command will build the Docker image and start the service.
3. **Access the Application:**
Once the service is running, you can access RowBoat via:
- `http://localhost:3000`

View file

@ -24,4 +24,4 @@ ENV FLASK_APP=src.app.main
ENV PYTHONUNBUFFERED=1 ENV PYTHONUNBUFFERED=1
# Command to run Flask development server # Command to run Flask development server
CMD ["flask", "run", "--host=0.0.0.0", "--port=3002"] CMD ["flask", "run", "--host=0.0.0.0", "--port=3001"]

View file

@ -14,8 +14,8 @@ RUN pip install --no-cache-dir -r requirements.txt
COPY . . COPY . .
# Expose port if your app needs it (adjust as needed) # Expose port if your app needs it (adjust as needed)
ENV HOSTNAME="0.0.0.0" ENV FLASK_APP=app
ENV PORT=3001 ENV PYTHONUNBUFFERED=1
# Command to run the application # Command to run Flask development server
CMD ["python", "app.py"] CMD ["flask", "run", "--host=0.0.0.0", "--port=3002"]

View file

@ -77,4 +77,5 @@ def chat():
}), 500 }), 500
if __name__ == '__main__': if __name__ == '__main__':
app.run(host=os.getenv('HOST', '0.0.0.0'), port=int(os.getenv('PORT', 3001)), debug=True) print("Starting Flask server...")
app.run(port=5000, debug=True)

View file

@ -3,7 +3,7 @@
import { GripVertical } from "lucide-react" import { GripVertical } from "lucide-react"
import * as ResizablePrimitive from "react-resizable-panels" import * as ResizablePrimitive from "react-resizable-panels"
import { cn } from "@/lib/utils" import { cn } from "../../lib/utils"
const ResizablePanelGroup = ({ const ResizablePanelGroup = ({
className, className,

44
docker-compose.yml Normal file
View file

@ -0,0 +1,44 @@
version: '3.8'
services:
rowboat:
build:
context: ./apps/rowboat
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
- MONGODB_CONNECTION_STRING=${MONGODB_CONNECTION_STRING}
- FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}
- OXYLABS_USERNAME=${OXYLABS_USERNAME}
- OXYLABS_PASSWORD=${OXYLABS_PASSWORD}
- CHAT_WIDGET_SESSION_JWT_SECRET=${CHAT_WIDGET_SESSION_JWT_SECRET}
- AGENTIC_API_URL=http://agents:3001
- COPILOT_API_URL=http://copilot:3002
- AUTH0_SECRET=${AUTH0_SECRET}
- AUTH0_BASE_URL=${AUTH0_BASE_URL}
- AUTH0_ISSUER_BASE_URL=${AUTH0_ISSUER_BASE_URL}
- AUTH0_CLIENT_ID=${AUTH0_CLIENT_ID}
- AUTH0_CLIENT_SECRET=${AUTH0_CLIENT_SECRET}
restart: unless-stopped
agents:
build:
context: ./apps/agents
dockerfile: Dockerfile
ports:
- "3001:3001"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
restart: unless-stopped
copilot:
build:
context: ./apps/copilot
dockerfile: Dockerfile
ports:
- "3002:3002"
environment:
- OPENAI_API_KEY=${OPENAI_API_KEY}
restart: unless-stopped