Skip to main content
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:
ResourceRequirement
vCPU8
RAM16 GB
Storage200 GB SSD
Architecturex86_64
Operating SystemUbuntu 24.04.2 LTS

Networking

ItemRequirement
Static IPA dedicated static IP assigned to the instance
DNSgarth.<domain> resolving to the instance’s static IP
Replace <domain> with your organization’s domain. This DNS host is the <dns-host> referenced throughout the OAuth App setup pages.

Docker setup

The Garth Team will provide the Docker Compose file and required artifacts, along with a GCP service-account-key.json for pulling container images from the private registry.
1

Install Docker

Install Docker Engine on the Ubuntu host per the official Docker documentation.
2

Authenticate to the registry

Log in to the Garth container registry using the shared service-account-key.json:
cat service-account-key.json | docker login -u _json_key --password-stdin https://asia-south1-docker.pkg.dev
Store service-account-key.json securely and restrict its file permissions. It grants pull access to the Garth private registry.

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
ServicePort
PostgreSQL — 18-alpine5432
RabbitMQ — 3.13.75672 / 15672
Redis6379
Neo4j7474 / 7687
OpenBao8200 / 8201
Garth services Open the following ports: 4000, 4060, 4200, 4220, 4250, 5173, 6001, 6010, 6020, 6030, 6040, 6050, 8018