mirror of
https://github.com/rowboatlabs/rowboat.git
synced 2026-04-25 00:16:29 +02:00
3.2 KiB
3.2 KiB
RowBoat Monorepo
This guide will help you set up and run the RowBoat applications locally using Docker.
Prerequisites
Before running RowBoat, ensure you have:
-
Docker Desktop
-
OpenAI API Key
- Obtain from your OpenAI account.
-
MongoDB
- Option 1: Use an existing MongoDB deployment with your connection string.
- Option 2: Install MongoDB locally:
brew tap mongodb/brew brew install mongodb-community@8.0 brew services start mongodb-community@8.0
-
Auth0 Account and Application Setup
- Create an Auth0 Account: Sign up at Auth0.
- Create a New Application: Choose "Regular Web Application", select "Next.js" as the application type, and name it "RowBoat".
- Configure Application:
- Allowed Callback URLs: In the Auth0 Dashboard, go to your "RowBoat" application settings and set
http://localhost:3000/api/auth/callbackas an Allowed Callback URL.
- Allowed Callback URLs: In the Auth0 Dashboard, go to your "RowBoat" application settings and set
- Get Credentials: Collect the following from your Auth0 application settings:
- Domain: Copy your Auth0 domain (ensure it is prefixed with
https://) - Client ID: Your application's unique identifier
- Client Secret: Your application's secret key
- Domain: Copy your Auth0 domain (ensure it is prefixed with
- Generate secret: Generate a session encryption secret in your terminal and note the output for later:
openssl rand -hex 32
Local Development Setup
-
Clone the Repository
git clone git@github.com:rowboatlabs/rowboat.git cd rowboat git checkout dev -
Environment Configuration
-
Copy the
.env.examplefile and rename it to.env:cp .env.example .env -
Update your
.envfile with the following configurations:# OpenAI Configuration OPENAI_API_KEY=your-openai-api-key # Auth0 Configuration AUTH0_SECRET=your-generated-secret # Generated using openssl command AUTH0_BASE_URL=http://localhost:3000 # Your application's base URL AUTH0_ISSUER_BASE_URL=https://example.auth0.com # Your Auth0 domain (ensure it is prefixed with https://) AUTH0_CLIENT_ID=your-client-id AUTH0_CLIENT_SECRET=your-client-secret # MongoDB Configuration (choose one based on your setup) # For local MongoDB MONGODB_CONNECTION_STRING=mongodb://host.docker.internal:27017/rowboat # or, for remote MongoDB MONGODB_CONNECTION_STRING=mongodb+srv://<username>:<password>@<cluster>.mongodb.net/rowboat
-
-
Start the App
docker-compose up --build -
Access the App
- Visit http://localhost:3000.
Troubleshooting
-
MongoDB Connection Issues
- Ensure local MongoDB service is running:
brew services list - Verify connection string and network connectivity.
- Ensure local MongoDB service is running:
-
Container Start-up Issues
- Remove all containers:
docker-compose down - Rebuild:
docker-compose up --build
- Remove all containers:
-
Sign-in Button Not Appearing
- If the sign-in button does not appear in the UI, ensure the Auth0 domain in your
.envfile is prefixed withhttps://.
- If the sign-in button does not appear in the UI, ensure the Auth0 domain in your