From cab383fc9cce4828442be561facbe077ec16153a Mon Sep 17 00:00:00 2001 From: Zac Clifton <43915749+Cliftonz@users.noreply.github.com> Date: Fri, 1 Mar 2024 08:44:30 -0500 Subject: [PATCH] Add AWS EC2 deployment information to Novu documentation The commit includes a step-by-step process of deploying Novu on AWS EC2 using Docker Compose. Aside from the steps, it also contains a warning about known issues in volume persistence when using Docker Compose on EC2 and advises users to refer to proper documentation and follow good deployment practices for security, scalability, and maintainability. --- mint.json | 3 ++- self-hosting-novu/aws.mdx | 37 ++++++++++++++++++++++++++++++++++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/mint.json b/mint.json index 7d329cfd..3b9ede03 100644 --- a/mint.json +++ b/mint.json @@ -319,7 +319,8 @@ "self-hosting-novu/deploy-with-docker", "self-hosting-novu/object-storage", "self-hosting-novu/commerical-self-host", - "self-hosting-novu/kubernetes" + "self-hosting-novu/kubernetes", + "self-hosting-novu/aws" ] }, { diff --git a/self-hosting-novu/aws.mdx b/self-hosting-novu/aws.mdx index a3ad6dc9..5d271eca 100644 --- a/self-hosting-novu/aws.mdx +++ b/self-hosting-novu/aws.mdx @@ -3,11 +3,42 @@ title: 'AWS' description: 'Learn how to deploy Novu to AWS' icon: 'amazon' --- -Amazon Web Services (AWS) is a cloud computing platform by Amazon, providing a wide range of on-demand services like computing power, storage, and databases over the internet. -It enables businesses and individuals to avoid managing physical infrastructure and offers features for computing, storage, databases, analytics, machine learning, and more. +Amazon Web Services (AWS) is a cloud computing platform by Amazon, providing a wide range of on-demand services like computing power, storage, and databases over the internet. +It enables businesses and individuals to avoid managing physical infrastructure and offers features for computing, storage, databases, analytics, machine learning, and more. AWS is known for its scalability, flexibility, and global network of data centers. Learn more about [AWS](https://docs.aws.amazon.com/) +## Deploying on EC2 with the Docker Compose File +Deploying Novu on EC2 with Docker Compose involves several steps. + +In general, the steps are as follows: +1. **Set up an EC2 Instance**: Create an instance on AWS EC2. We reccomend a bare minimum of 4 CPU Cores and 16GB of RAM. +2. **Install Docker**: Once you have your instance up and running, SSH into it and install Docker. You can do this by running the following commands: +``` bash +sudo yum update -y sudo amazon-linux-extras install docker; +sudo service docker start sudo usermod -a -G docker +ec2-user +``` +3. **Install Docker Compose**: Docker Compose will allow you to easily manage your application which will consist of multiple Docker containers. +Install it by running: +``` bash +sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose; +sudo chmod +x /usr/local/bin/docker-compose +``` +4. **Deploy Novu**: Now, clone the Novu repository and navigate to the directory containing the docker-compose.yml file. +To start your Novu instance, simply run: +``` bash +docker-compose up -d +``` + +Please note, there are user reports indicating an issue with volume persistence when deploying Novu on EC2 with Docker Compose. +You can see the discussions about this problem [here](https://github.com/novuhq/novu/issues/3339) as we do not provide official support for these types of deployments. +This is something to be aware of when deploying in this manner, and you may need to adopt additional strategies for data persistence. +Be sure to consult the Novu documentation as well as any relevant EC2 and Docker documentation for any necessary details related to your specific deployment needs. +Additionally, keep in mind that these general steps may not cover all nuances or requirements of your particular use case or the specific configuration of the Novu application. +Always ensure any deployment follows best practices for security, scalability, and maintainability. + + # 🏗️ This page is still in creation process We believe in the power of collaboration. If you have insights to share or would like to contribute to the development of this page, we welcome your input. To get involved, follow these steps: @@ -20,5 +51,5 @@ By following these steps, you're helping us enhance the quality and depth of our Your contributions drive progress. Let's build together! -If you require guidance on setting up a production-scale configuration, official IaaS recommendations, please don't hesitate to [contact our team](https://notify.novu.co/meetings/novuhq/notifications-45min?utm_campaign=novuDocs&utm_content=deploy-to-AWS). +If you require guidance on setting up a production-scale configuration, official IaaS recommendations, please don't hesitate to [contact our team](https://notify.novu.co/meetings/novuhq/notifications-45min?utm_campaign=novuDocs&utm_content=deploy-to-AWS). They can provide assistance regarding enterprise edition licenses or cloud-prem deployment to meet your specific needs.