This page covers the infrastructure prerequisites for an on-prem
(self-hosted) Garth deployment. Complete these steps before configuring your
git provider under OAuth App.
Instance requirements
Provision a single host that meets the following minimum specification:| Resource | Requirement |
|---|---|
| vCPU | 8 |
| RAM | 16 GB |
| Storage | 200 GB SSD |
| Architecture | x86_64 |
| Operating System | Ubuntu 24.04.2 LTS |
Networking
| Item | Requirement |
|---|---|
| Static IP | A dedicated static IP assigned to the instance |
| DNS | garth.<domain> resolving to the instance’s static IP |
Docker setup
The Garth Team will provide the Docker Compose file and required artifacts, along with a GCPservice-account-key.json for pulling container
images from the private registry.
Install Docker
Install Docker Engine on the Ubuntu host per the
official Docker documentation.
Ingress
Configure ingress to the instance to allow:- Git traffic as per your provider configuration — GitHub, Bitbucket, Azure DevOps, or GitLab.
- LLM traffic as per your chosen LLM provider.
Ports
Only Garth Service Gateway (4000) and Garth Universe (5173) are
exposed externally via DNS. All other ports listen internally and must not be
reachable from outside the instance.
External services
| Service | Port |
|---|---|
| PostgreSQL — 18-alpine | 5432 |
| RabbitMQ — 3.13.7 | 5672 / 15672 |
| Redis | 6379 |
| Neo4j | 7474 / 7687 |
| OpenBao | 8200 / 8201 |
4000, 4060, 4200, 4220, 4250, 5173, 6001, 6010, 6020, 6030, 6040, 6050, 8018
