System Requirements
Before installing WhatDoc, ensure your system meets these requirements:Node.js 18 or Higher
WhatDoc requires Node.js version 18 or higher to run both the client and server.Install or update Node.js
If you need to install or update Node.js:
-
macOS/Linux: Use nvm
- Windows: Download from nodejs.org
MongoDB
WhatDoc uses MongoDB to store user accounts, projects, and generated documentation.Choose your MongoDB setup
You have two options:Option 1: Local MongoDB
- Install MongoDB Community Edition from mongodb.com/try/download/community
- Default connection string:
mongodb://localhost:27017/whatdoc
- Create a free account at mongodb.com/cloud/atlas
- Create a cluster and get your connection string
- Connection string format:
mongodb+srv://username:password@cluster.mongodb.net/whatdoc
Gemini API Key
WhatDoc uses Google’s Gemini API to generate documentation from your code.Get your free Gemini API key
- Visit Google AI Studio
- Sign in with your Google account
- Click “Create API Key”
- Copy your key - you’ll need it for configuration
Understand API limits
The free tier of Gemini API includes:
- 15 requests per minute
- 1 million tokens per minute
- 1,500 requests per day
GitHub OAuth App
WhatDoc uses GitHub OAuth for authentication and accessing repositories.Create a GitHub OAuth App
- Go to GitHub Developer Settings
- Click “New OAuth App”
- Fill in the application details:
- Application name:
WhatDoc Self-Hosted(or your preferred name) - Homepage URL:
http://localhost:5173(for development) - Authorization callback URL:
http://localhost:3000/api/auth/github/callback
- Application name:
- Click “Register application”
Get your credentials
After creating the app, you’ll see:
- Client ID - Copy this value
- Client Secret - Click “Generate a new client secret” and copy the value
Server Requirements
For production deployments, your server should have:- CPU: 1+ cores (2+ recommended)
- RAM: 2GB minimum (4GB recommended)
- Storage: 10GB minimum (for MongoDB, temporary clones, and application files)
- OS: Linux (Ubuntu 20.04+), macOS, or Windows Server
