Self-hosting
You can self-host Tegon on your own infrastructure.
Caveats
This guide outlines a quick way to start self-hosting Tegon. Scaling, security, and reliability concerns are not fully addressed here. It’s unlikely to result in a production-ready deployment on its own, but it’s a good starting point.
Should the burden ever get too much, we’d be happy to see you on Tegon.ai cloud where we deal with these concerns for you.
Requirements
- 4 CPU
- 8 GB RAM
- Debian or derivative
- Optional: A separate machine for the worker components
Important Notes
Storage
-
We support both Google Cloud Storage and Amazon S3 for file attachments
-
Default storage provider is Google Cloud Storage
-
To configure your preferred storage provider, set in
.env
:Google Cloud Storage Configuration
- Create a Google Cloud project if you haven’t already
- Create a storage bucket in Google Cloud
- Create a service account and download the JSON key file
- Place your service account JSON file in the
certs
directory - Add to your
.env
file:
Your service account needs Storage Object Admin (
roles/storage.objectAdmin
) permissions.Amazon S3 Configuration
- Create an S3 bucket in your AWS account
- Create an IAM user with the following policy:
- Add to your
.env
file:
Your bucket needs the following CORS configuration:
- SMTP configuration is required for user authentication
- Compatible with most SMTP providers (Gmail, Amazon SES, SendGrid, etc.)
- Used for sending magic links during login and email notifications
Background Jobs
- We use trigger.dev for notifications and automation
- Core features work without trigger.dev, but you’ll miss:
- User notifications
- Automated cycle transitions
- Scheduled tasks
- Note: trigger.dev has some scaling limitations in self-hosted environments
AI Features
OpenAI Integration
- Used for enhanced AI features:
- Auto-generating issue titles
- Elaborating descriptions
- Breaking issues into sub-issues
- Smart filtering suggestions
- Optional: Will fallback to local models if not configured
- Configure by adding to
.env
:
Cohere Integration
- Used for semantic search and issue management:
- Finding duplicate issues
- Semantic search capabilities
- Re-ranking search results
- Optional: Will fallback to Typesense embeddings if not configured
- Configure by adding to
.env
:
Local AI Alternative
- Uses Ollama with open-source models as fallback
- Decent performance but may not match OpenAI/Cohere quality
- Configure preferred model in
.env
:
Instructions
-
Install Docker on your workstation (see instructions). Make sure you’re on the latest version of docker-compose.
-
Run the following commands in your terminal:
- Create a
.env
file. This file contains configuration for all the services used to run Tegon. Please fill in or modify the configurations as needed.
-
Configure the required services:
Storage Configuration
You’ll need to set up Google Cloud Storage for file attachments:
- Create a Google Cloud project if you haven’t already
- Create a storage bucket in Google Cloud
- Create a service account and download the JSON key file
- Place your service account JSON file in the
certs
directory (this will be mounted to the server container) - Add the following to your
.env
file:
Email Configuration
Configure SMTP settings for authentication emails:
AI Services Configuration
Configure AI services for enhanced features:
Trigger.dev Configuration
- Open
init-trigger.sh
in your editor - Update the following lines with your information:
-
Run the start script and follow the prompts, We handle 2 major steps in start script setting up trigger.dev and setting up tegon for you.
- You can now check tegon at
http://localhost:8000
FAQ
Storage Configuration
Q: Can I use a different storage provider? A: Currently, we only support Google Cloud Storage. We’re working on adding support for other providers.
Q: What permissions does the service account need?
A: The service account needs Storage Object Admin (roles/storage.objectAdmin
) permissions on the bucket.
Email Configuration
Q: Which SMTP providers can I use? A: You can use any SMTP provider (Gmail, Amazon SES, SendGrid, etc.) that supports SMTP authentication.
Trigger.dev Configuration
Q: What is trigger.dev used for in Tegon? A: We use trigger.dev for managing background jobs, specifically:
- Sending notifications to users
- Automating cycle transitions and updates
- Running scheduled tasks
Q: Can I run Tegon without trigger.dev? A: While the core functionality of Tegon will work, features like notifications and automated cycle transitions will not be available without trigger.dev properly configured.
Q: Are there any limitations with trigger.dev? A: Yes, we are bound by trigger.dev’s open-source scaling limitations. You can review these in their documentation.
If there are any questions that we couldn’t answer here, we’d love to help you get started. Join our Slack and feel free to ask your questions in the #support channel.
Was this page helpful?