Prerequisites
Server Requirements
Server Requirements
| Team Size | CPU | RAM | Storage |
|---|---|---|---|
| 5-10 devs | 4 cores | 16GB | 100GB |
| ~50 devs | 8 cores | 32GB | 200GB |
| 100 devs | 32 cores | 128GB | 500GB |
Software
Software
- Docker 23.x+ (install guide)
- Docker Compose v2.5+ (included with Docker Desktop, or install separately)
From Greptile
From Greptile
- Container registry credentials (
CONTAINER_REGISTRY,GREPTILE_TAG) - Contact [email protected]
Network
Network
Inbound ports:
3007β SCM webhooks (must be publicly accessible)3000β Web UI8080β Hatchet admin (optional)
- LLM provider APIs
- GitHub/GitLab APIs
- Container registry
Setup
1
Clone repository
2
Configure environment
.env with required values (see Configuration below).3
Generate secrets
.env.greptile-generated with JWT_SECRET, TOKEN_ENCRYPTION_KEY, LLM_PROXY_KEY.4
Login to registry
REGISTRY_PROVIDER in .env.5
Start Hatchet
6
Generate Hatchet token
.env.hatchet-generated with HATCHET_CLIENT_TOKEN.7
Start Greptile
8
Verify
running or healthy.Access
| Service | URL |
|---|---|
| Web UI | http://<IP_ADDRESS>:3000 |
| Hatchet Admin | http://<IP_ADDRESS>:8080 |
Configuration
Required Settings
LLM Provider
Anthropic
Anthropic
OpenAI
OpenAI
Azure OpenAI
Azure OpenAI
AWS Bedrock
AWS Bedrock
GitHub
GitHub Cloud
GitHub Cloud
GitHub Enterprise
GitHub Enterprise
External Database (Optional)
To use managed PostgreSQL (RDS, Cloud SQL) instead of the bundled container:PostgreSQL 15+ with pgvector extension required. Run
CREATE EXTENSION IF NOT EXISTS vector;Custom Domain & TLS
1
Point DNS to server IP
Create an A record for your domain pointing to the serverβs public IP.
2
Configure Caddy
Caddyfile:3
Update environment
4
Restart services
Auto-Start (Systemd)
Install systemd services for automatic startup on boot:| Service | Purpose |
|---|---|
greptile-hatchet.service | Starts Hatchet stack |
greptile-app.service | Starts Greptile services |
greptile-images.timer | Periodic image updates |
Operations
View logs
View logs
Restart a service
Restart a service
Update images
Update images
Check Hatchet workflows
Check Hatchet workflows
Access
http://<IP>:8080 to view workflow status, queue depth, and failures.Troubleshooting
Services won't start
Services won't start
Webhooks not receiving
Webhooks not receiving
- Verify
IP_ADDRESSis publicly accessible - Check firewall allows inbound on port 3007
- Confirm GitHub App webhook URL:
http://<IP>:3007/webhook
LLM errors
LLM errors
.env.Hatchet workers not registering
Hatchet workers not registering
Regenerate token and restart:
Database connection issues
Database connection issues