#Self hosting 20 on AWS with external RDS instance

1 messages · Page 1 of 1 (latest)

honest pelican
#

I am looking into self hosting 20 crm on my company AWS account. We are choosing to NOT use the docker compose set up, since we need an external RDS instance. We plan on making a read replica of the RDS instance and having analytics set up on that through Tableau. Anyway, Is there any documentation on hosting 20 CRM on AWS and having our own RDS instance?

trail jayBOT
#
Searched self hosting AWS RDS database configuration
#
Searched self hosting external database PostgreSQL configuration
#

Thinking...

#

The documentation does not have a specific guide for deploying Twenty on AWS with an external RDS instance outside of Docker Compose. However, based on the available documentation, here is what you need to know:

Database Configuration

Twenty uses PostgreSQL and you can point it to an external database by setting the PG_DATABASE_URL environment variable. This is an infrastructure-level setting that can only be configured via the .env file (not through the admin panel).

PG_DATABASE_URL=postgres://username:password@your-rds-endpoint:5432/your-database-name

Key Requirements

  • PostgreSQL - Twenty requires PostgreSQL (your RDS instance)
  • Redis - Twenty also requires a Redis cache for best performance (you could use AWS ElastiCache)
  • Server and Worker containers - You will need to run both the Twenty server and worker processes

Deployment Approach

Since you are skipping Docker Compose, you would need to:

  1. Deploy the Twenty server and worker as separate services (e.g., on ECS, EKS, or EC2)
  2. Point PG_DATABASE_URL to your RDS instance
  3. Configure Redis connection via environment variables
  4. Set other required environment variables like APP_SECRET, SERVER_URL, etc.

For Production on AWS with Lambda (for logic functions):

SERVERLESS_TYPE=LAMBDA
SERVERLESS_LAMBDA_REGION=us-east-1
SERVERLESS_LAMBDA_ROLE=arn:aws:iam::123456789:role/your-lambda-role
SERVERLESS_LAMBDA_ACCESS_KEY_ID=your-access-key
SERVERLESS_LAMBDA_SECRET_ACCESS_KEY=your-secret-key

The documentation mentions a "Cloud Providers" section for deploying on AWS, GCP, or Azure, but the specific content for that page was not returned in my search. You may want to check the Cloud Providers page directly for more AWS-specific guidance.