Prerequisites
Before beginning the deployment process, ensure you have the following:
- An AWS account with appropriate permissions
- AWS CLI installed and configured
- Git installed
- Node.js and npm (for Pulumi)
- Pulumi CLI installed
Instructions
Follow these steps to deploy Pontus on AWS:
Clone the repository
Visit our GitHub repository (opens in a new tab) and clone the repository. This repository contains the Pulumi code for deploying Pontus on AWS.
git clone https://github.com/PontusLabs/Aws-Infra-Example.git
Install Pulumi
Follow the official guide (opens in a new tab) to install Pulumi. Pulumi is a tool for creating, deploying, and managing infrastructure on AWS and is open source. The underlying code compiles into Terraform.
brew install pulumi
Set up required configuration
Configuration is required in two places: Pulumi config and a .env
file.
Pulumi Configuration
Use pulumi config set
to configure these values:
pulumi config set aws:region us-east-1
pulumi config set aws:accessKey <your-access-key>
pulumi config set aws:secretKey <your-secret-key>
POSTGRES_USER="your_postgres_username"
POSTGRES_PASSWORD="your_postgres_password"
POSTGRES_DB="your_database_name"
MQ_USER="your_mq_username"
MQ_PASSWORD="your_mq_password"
DEEPINFRA_API_KEY="your_deepinfra_api_key" # OPTIONAL
JWT_SECRET_KEY=your_jwt_secret_key
LICENSE="your_license_key"
DOMAIN="your_domain.com"
PULUMI_CONFIG_PASSPHRASE=your_pulumi_config_passphrase
Replace all "your_*" placeholders with your actual values. Note that the DEEPINFRA_API_KEY is optional and often used for testing. We use AWS Bedrock for production.
Set up AWS Bedrock in AWS Console
- Open the AWS Management Console and navigate to the AWS Bedrock service.
- Please create access to the following models:
- Llama 3.1 70B Instruct (meta.llama3-1-70b-instruct-v1:0)
- Claude 3.5 Sonnet (anthropic.claude-3-5-sonnet-20240620-v1:0) optional
- In certain cases, we will need to create a custom model. Please contact our team for assistance.
Deploy
Once you've set up the required configuration, you can deploy using:
pulumi up
Additional Notes
- Keep your LICENSE key secure. This is required for using Pontus.
- The DOMAIN value should be the domain where you plan to host your Pontus instance.
- The PULUMI_CONFIG_PASSPHRASE is used to encrypt sensitive config values. Keep this secure and don't lose it, as you'll need it for future Pulumi operations.
- For information about BEDROCK setup, please contact our support team.
If you need any clarification on these configuration values or assistance with the deployment process, please don't hesitate to reach out to our support team.