Architecture

- Greptile API Server: Core application service
- PostgreSQL Database: Primary data storage with pgvector for embeddings
- Redis Cache: Session and temporary data storage
- Nginx Proxy: Reverse proxy and SSL termination
- Supporting Services: Health checks, monitoring, and utilities
Prerequisites
System Requirements
- Operating System: Linux (Ubuntu 20.04+ or CentOS 8+ recommended)
- CPU: Minimum 4 cores, 8+ cores recommended
- Memory: Minimum 8GB RAM, 16GB+ recommended
- Storage: 100GB+ available disk space
- Network: Open ports 80, 443, and any custom ports needed
Software Requirements
- Docker: Version 20.10 or later
- Docker Compose: Version 2.0 or later
- Git: For cloning the repository
- SSL Certificates: Valid certificates for HTTPS
Dependencies
- PostgreSQL Database: AWS RDS or self-hosted
- Redis Cache: AWS ElastiCache or self-hosted
- LLM Provider: OpenAI API, Anthropic, AWS Bedrock, or compatible API
Installation Steps
1. Download the Repository
2. Navigate to Docker Directory
3. Configure Environment Variables
Copy the example environment file and configure it:.env
file with your configuration:
4. Set Up SSL Certificates
Place your SSL certificates in the appropriate directory:5. Deploy with Docker Compose
6. Verify Deployment
Check that all services are running:Configuration
Database Setup
Ensure your PostgreSQL database has the pgvector extension:LLM Provider Configuration
Configure your preferred LLM provider in the.env
file:
OpenAI Configuration
Anthropic Configuration
AWS Bedrock Configuration
GitHub Integration
Set up GitHub App integration:- Create a GitHub App in your organization
- Generate a private key
- Configure the app settings in your
.env
file
AWS Infrastructure (Optional)
If you want to deploy the supporting infrastructure on AWS, use the Terraform configuration:- VPC and networking components
- EC2 instance for Docker Compose
- RDS PostgreSQL database
- ElastiCache Redis cluster
- Application Load Balancer
- Security groups and IAM roles
Maintenance
Updating Greptile
To update to a new version:Backup and Recovery
Regular backups are essential:Monitoring
Monitor your deployment:Troubleshooting
Common Issues
Services won’t startPerformance Tuning
Optimize for your environment:Support
For deployment issues:- Check the akupara repository issues
- Review the application logs
- Contact support with your deployment configuration
Keep your
.env
file secure and never commit sensitive credentials to version control.