mirror of
https://github.com/Mintplex-Labs/anything-llm.git
synced 2024-11-05 06:20:10 +01:00
update AWS launch to use public AMI
This commit is contained in:
parent
6b6007f9ad
commit
5eed8b66f5
@ -2,16 +2,16 @@
|
||||
|
||||
With an AWS account you can easily deploy a private AnythingLLM instance on AWS. This will create a url that you can access from any browser over HTTP (HTTPS not supported). This single instance will run on your own keys and they will not be exposed - however if you want your instance to be protected it is highly recommend that you set the `AUTH_TOKEN` and `JWT_SECRET` variables in the `docker/` ENV.
|
||||
|
||||
**Quick Launch**
|
||||
**Quick Launch (EASY)**
|
||||
2. Log in to your AWS account
|
||||
3. Open [CloudFormation](https://us-west-1.console.aws.amazon.com/cloudformation/home)
|
||||
4. Ensure you are deploying in a geographic zone that is nearest to your physical location to reduce latency.
|
||||
5. Click `Create Stack`
|
||||
6. Use the file `aws_no_creds.json` as your JSON template.
|
||||
7. Launch. On first boot fill out your ENV keys and you are fully live.
|
||||
6. Use the file `create_anythinng_llm_instance.json` as your JSON template.
|
||||
7. Launch. On first boot fill out your ENV keys and you are fully live. Time to boot is approximately 60 seconds.
|
||||
Done.
|
||||
|
||||
**Custom Launch**
|
||||
**Custom Launch and Build From Source**
|
||||
[Refer to .env.example](../../../docker/HOW_TO_USE_DOCKER.md) for data format.
|
||||
|
||||
The output of this cloudformation stack will be:
|
||||
|
@ -0,0 +1,201 @@
|
||||
{
|
||||
"AWSTemplateFormatVersion": "2010-09-09",
|
||||
"Description": "Create a stack that runs AnythingLLM on a single instance from the Mintplex Labs Inc maintained AWS AMI image..",
|
||||
"Parameters": {
|
||||
"InstanceType": {
|
||||
"Description": "EC2 instance type",
|
||||
"Type": "String",
|
||||
"Default": "t2.small"
|
||||
},
|
||||
"AMIImageTemplate": {
|
||||
"Description": "AMI Image ID to clone to a new instance. Currently the AMI is for anythingllm@0.0.1-beta",
|
||||
"Type": "String",
|
||||
"Default": "ami-0158d2dc27fba7922"
|
||||
}
|
||||
},
|
||||
"Resources": {
|
||||
"AnythingLLMInstance": {
|
||||
"Type": "AWS::EC2::Instance",
|
||||
"Properties": {
|
||||
"ImageId": {
|
||||
"Ref": "AMIImageTemplate"
|
||||
},
|
||||
"InstanceType": {
|
||||
"Ref": "InstanceType"
|
||||
},
|
||||
"SecurityGroupIds": [
|
||||
{
|
||||
"Ref": "AnythingLLMInstanceSecurityGroup"
|
||||
}
|
||||
],
|
||||
"UserData": {
|
||||
"Fn::Base64": {
|
||||
"Fn::Join": [
|
||||
"",
|
||||
[
|
||||
"Content-Type: multipart/mixed; boundary=\"//\"\n",
|
||||
"MIME-Version: 1.0\n",
|
||||
"\n",
|
||||
"--//\n",
|
||||
"Content-Type: text/cloud-config; charset=\"us-ascii\"\n",
|
||||
"MIME-Version: 1.0\n",
|
||||
"Content-Transfer-Encoding: 7bit\n",
|
||||
"Content-Disposition: attachment; filename=\"cloud-config.txt\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"#cloud-config\n",
|
||||
"cloud_final_modules:\n",
|
||||
"- [scripts-user, always]\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"--//\n",
|
||||
"Content-Type: text/x-shellscript; charset=\"us-ascii\"\n",
|
||||
"MIME-Version: 1.0\n",
|
||||
"Content-Transfer-Encoding: 7bit\n",
|
||||
"Content-Disposition: attachment; filename=\"userdata.txt\"\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"#!/bin/bash\n",
|
||||
"# check output of userdata script with sudo tail -f /var/log/cloud-init-output.log\n",
|
||||
"sudo docker-compose -f /home/ec2-user/anything-llm/docker/docker-compose.yml up -d\n",
|
||||
"export ONLINE=$(curl -Is http://localhost:3001/api/ping | head -n 1|cut -d$' ' -f2)\n",
|
||||
"echo \"Health check: $ONLINE\"\n",
|
||||
"if [ \"$ONLINE\" = 200 ] ; then echo \"Running migrations...\" && curl -Is http://localhost:3001/api/migrate | head -n 1|cut -d$' ' -f2; fi\n",
|
||||
"echo \"Setup complete! AnythingLLM instance is now online!\"\n",
|
||||
"\n",
|
||||
"--//--\n"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"AnythingLLMInstanceSecurityGroup": {
|
||||
"Type": "AWS::EC2::SecurityGroup",
|
||||
"Properties": {
|
||||
"GroupDescription": "AnythingLLm Instance Security Group",
|
||||
"SecurityGroupIngress": [
|
||||
{
|
||||
"IpProtocol": "tcp",
|
||||
"FromPort": "22",
|
||||
"ToPort": "22",
|
||||
"CidrIp": "0.0.0.0/0"
|
||||
},
|
||||
{
|
||||
"IpProtocol": "tcp",
|
||||
"FromPort": "3001",
|
||||
"ToPort": "3001",
|
||||
"CidrIp": "0.0.0.0/0"
|
||||
},
|
||||
{
|
||||
"IpProtocol": "tcp",
|
||||
"FromPort": "3001",
|
||||
"ToPort": "3001",
|
||||
"CidrIpv6": "::/0"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Outputs": {
|
||||
"ServerIp": {
|
||||
"Description": "IP address of the AnythingLLM instance",
|
||||
"Value": {
|
||||
"Fn::GetAtt": [
|
||||
"AnythingLLMInstance",
|
||||
"PublicIp"
|
||||
]
|
||||
}
|
||||
},
|
||||
"ServerURL": {
|
||||
"Description": "URL of the AnythingLLM server",
|
||||
"Value": {
|
||||
"Fn::Join": [
|
||||
"",
|
||||
[
|
||||
"http://",
|
||||
{
|
||||
"Fn::GetAtt": [
|
||||
"AnythingLLMInstance",
|
||||
"PublicIp"
|
||||
]
|
||||
},
|
||||
":3001"
|
||||
]
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"Mappings": {
|
||||
"Region2AMI": {
|
||||
"ap-south-1": {
|
||||
"AMI": "ami-0e6329e222e662a52",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"eu-north-1": {
|
||||
"AMI": "ami-08c308b1bb265e927",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"eu-west-3": {
|
||||
"AMI": "ami-069d1ea6bc64443f0",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"eu-west-2": {
|
||||
"AMI": "ami-06a566ca43e14780d",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"eu-west-1": {
|
||||
"AMI": "ami-0a8dc52684ee2fee2",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ap-northeast-3": {
|
||||
"AMI": "ami-0c8a89b455fae8513",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ap-northeast-2": {
|
||||
"AMI": "ami-0ff56409a6e8ea2a0",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ap-northeast-1": {
|
||||
"AMI": "ami-0ab0bbbd329f565e6",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ca-central-1": {
|
||||
"AMI": "ami-033c256a10931f206",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"sa-east-1": {
|
||||
"AMI": "ami-0dabf4dab6b183eef",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ap-southeast-1": {
|
||||
"AMI": "ami-0dc5785603ad4ff54",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"ap-southeast-2": {
|
||||
"AMI": "ami-0c5d61202c3b9c33e",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"eu-central-1": {
|
||||
"AMI": "ami-004359656ecac6a95",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"us-east-1": {
|
||||
"AMI": "ami-0cff7528ff583bf9a",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"us-east-2": {
|
||||
"AMI": "ami-02238ac43d6385ab3",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"us-west-1": {
|
||||
"AMI": "ami-01163e76c844a2129",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
},
|
||||
"us-west-2": {
|
||||
"AMI": "ami-0ceecbb0f30a902a6",
|
||||
"RootDeviceName": "/dev/xvda"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user