Getting started
This content is for v0.3.1. Switch to the latest version for up-to-date documentation.
Quick start
Section titled “Quick start”Prerequisites
Section titled “Prerequisites”- Docker & Docker Compose
- An API key for any OpenAI-compatible provider
1. Create the GitHub App
Section titled “1. Create the GitHub App”Follow the GitHub App setup section below (2 minutes). You’ll get an App ID, private key, webhook secret, and OAuth client ID/secret.
2. Clone and configure
Section titled “2. Clone and configure”git clone https://github.com/devops-thiago/ThrillhouseBot.git && cd ThrillhouseBotcp .env.example .envEdit .env with the credentials from step 1:
| Variable | Value |
|---|---|
GITHUB_APP_ID | From GitHub App settings → About |
GITHUB_PRIVATE_KEY | Downloaded when you generated a private key |
GITHUB_WEBHOOK_SECRET | The webhook secret you set |
GITHUB_CLIENT_ID | From app settings → Identifying and authorizing users |
GITHUB_CLIENT_SECRET | From app settings → Identifying and authorizing users |
AI_API_KEY | Your AI provider’s API key |
3. Start the bot
Section titled “3. Start the bot”docker compose up -dThe bot is running on http://localhost:8080. Point your reverse proxy at it and
you’re done.
GitHub App setup
Section titled “GitHub App setup”Create a GitHub App before starting the bot; you’ll need its credentials for .env.
Option A: manifest install (recommended)
Section titled “Option A: manifest install (recommended)”-
Edit
manifest.jsonin the repo root and replace every<your-host>with your public hostname (no trailing slash). For local dev with Smee.io, use your Smee channel URL host. -
Serve the repo root locally:
Terminal window java -m jdk.httpserver -p 8081 -
Open /ThrillhouseBot/install.html and click Create ThrillhouseBot GitHub App. GitHub creates the app from your manifest.
-
On the confirmation page, note the App ID, generate a private key, and create a webhook secret. Copy the Client ID and Client secret from the app’s Identifying and authorizing users settings (needed for dashboard login).
-
Install the app on your account or organization, then copy the values into
.env.Alternatively, generate
.envautomatically from the manifest conversion response:Terminal window gh api --method POST /app-manifests/<code>/conversions \| java scripts/GenEnv.java --host <your-host>
Once the bot is running,
http://<your-host>:8080/install.htmlauto-detects the URL and builds the manifest dynamically, with no file editing or local server needed.
Option B: manual registration
Section titled “Option B: manual registration”| Setting | Value |
|---|---|
| Webhook URL | https://<your-host>/api/webhook |
| Webhook Secret | Random string |
| Repository Permissions | Pull Requests: R/W, Checks: R/W, Contents: Read, Issues: R/W, Actions: Read, Commit Statuses: Read |
| Subscribe to Events | Pull Request, Issue comment, Pull request review comment |
| Identifying & authorizing users | Enabled (for dashboard login) |
| Callback URL | https://<your-host>/api/auth/callback |