Documentation Index
Fetch the complete documentation index at: https://docs.athina.ai/llms.txt
Use this file to discover all available pages before exploring further.
Athina Self Hosting Guide
The example below is for AWS, but similar steps can be followed for other cloud providers.Prerequisites
- Create an EC2 Instance with at least 64GB of free disk space, 16GB of RAM, and 4 CPUs. Assign a public DNS to the instance as well.
- SSH into the instance and set up the following:
- Install git
- Install Docker
- Install Docker Compose
- Install nvm and Node.js
- Install Python 3.9 and pip
- Install AWS CLI
- Obtain Athina GitHub access credentials.
- Obtain Athina ECR access credentials (AWS CLI is required).
Core Services Setup
- Clone the
athina-deployrepository (ensure all Athina project folders are at the same directory level): - Copy
.example.envto.env. - Populate the respective values. Some default values and keys are provided. You can change them if needed. The DB Name can remain as it is.
- Create a Google OAuth client for Google login (Google Sign-In Documentation). Ensure you set the correct redirect URI and authorized domain (
:9000/auth/google/redirect). - Create a bucket for data import:
- Use the bucket name specified in
.env. Edit CORS setting of this bucket to allow the frontend to upload files:
- Use the bucket name specified in
Transactional Emails (Optional)
- We use Loops for transactional emails like user invitations, OTP sending, and downloading exported data.
- Create a free account and obtain the API key from the Loops dashboard.
- Create three transactional email templates:
- User invitation email:
- Data variables:
inviterNameandinvitedEmail
- Data variables:
- OTP email:
- Data variable:
otp
- Data variable:
- Data export email:
- Data variable:
s3_link
- Data variable:
- User invitation email:
Services Creation
- Log in to ECR using credentials:
- Pull the required images:
- Ensure that the
.envfile inathina-deployis updated with the right values. - For worker services, ensure the following environment variables are set correctly:
- Run the following command to start services:
- Wait for all services to start.
Dashboard
- Install Node.js 20+
- Clone the
athina-dashboardrepository and switch to the main branch:
- Ensure you are on the main branch of the
athina-dashboardrepository. - Copy the following to
.env:
- Set them to the correct values.
- You can build either by installing yarn or by using a pre-built nodejs docker image (Recommended):
Using node and npm directly
Using pre-built nodejs docker image
- Navigate to
http://<IP/DOMAIN>:3000/login.