Overview & Architecture
High-level overview of Relvy on-premises deployment architecture
Self-Hosting Guide - Deploy Relvy in your own cloud infrastructure with full control over data, security, and compliance requirements.
Self-Hosting Architecture
Relvy can be self-hosted in your own cloud infrastructure. This guide uses AWS as an example, but the core components are universal. The essential self-hosting setup consists of an application server and database, with optional components for enhanced functionality.
Core Components
-
EC2 Application Server Hosts the Relvy application using Docker containers on a t3.xlarge instance with 4 vCPU and 16 GB RAM.
-
RDS PostgreSQL Database Stores application data, user information, and investigation artifacts with encrypted storage and automated backups.
Optional Components
If you have a way to route a subdomain to your Relvy application, you can skip the load balancer setup. Otherwise, this guide covers the steps to deploy an Application Load Balancer and obtain an SSL certificate for secure access.
-
Application Load Balancer (ALB) Handles incoming traffic, SSL termination, and distributes requests to the application server with health checks and automatic scaling.
-
SSL Certificate Provides secure HTTPS communication and domain validation through AWS Certificate Manager with automatic renewal.
-
Slack App (Optional) Enables incident response workflows through slash commands, event subscriptions, and interactive messages in Slack channels.
Self-Hosting Phases
The self-hosting process is organized into logical phases to ensure a smooth and successful setup:
Create security groups, load balancer, SSL certificate, EC2 instance, and RDS database
Configure DNS records for SSL validation and domain routing to the load balancer
Create Slack app with proper manifest and configure OAuth endpoints
Install Docker, configure environment, and deploy Relvy using docker-compose
Set up user authentication, SSO integration, and create initial user accounts
Connect observability data sources, create runbooks, and configure investigation workflows
Begin using Relvy for incident response and automated investigation workflows
System Requirements
AWS Resources
Component | Specification | Purpose |
---|---|---|
EC2 Instance | t3.xlarge (4 vCPU, 16 GB RAM) | Self-hosted application |
RDS Database | db.t3.medium (2 vCPU, 4 GB RAM) | PostgreSQL database |
Storage | 100 GB (EC2) + 50 GB (RDS) | Application and data storage |
Load Balancer | Application Load Balancer | Traffic distribution and SSL termination |
Software Requirements
- Docker: Container runtime for self-hosted deployment
- Docker Compose: Multi-container orchestration
- PostgreSQL Client: For database connectivity testing
- SSH Access: For EC2 instance management
Network Requirements
- Public Domain: A domain name for SSL certificate and application access
- DNS Management: Access to configure DNS records
- Internet Connectivity: For package downloads and Docker image pulls
Security Groups
The self-hosting setup uses three security groups to control network access:
Security Group | Purpose | Inbound Rules | Outbound Rules |
---|---|---|---|
ALB Security Group | Load balancer access | HTTP (80), HTTPS (443) from internet | HTTP (80) to app instances |
App Security Group | Application server access | HTTP (80) from ALB, SSH (22) from your IP | HTTPS (443), HTTP (80), DNS (53), PostgreSQL (5432) to DB |
Database Security Group | Database access | PostgreSQL (5432) from app instances | None |
Next Steps
Before proceeding with the self-hosting setup, ensure you have:
- ✅ Domain Management Access - Control over your domain’s DNS settings
- ✅ AWS Account - Access to create and manage AWS resources
- ✅ Docker Knowledge - Basic understanding of containers and docker-compose
- ✅ Repository Access - Ability to clone the Relvy repository
Ready to get started? Proceed to Prerequisites to review all requirements in detail.