- 硬件需求:一台ec2 Instance, m5.xlarge, 200GB EBS storage
- os需求:ubuntu 22.04
- 配置权限:
- 在IAM中创建一个ec2 role :adminrole-for-ec2.
- select trust type: AWS service, service: EC2,
- 添加以下2个服务的权限,AmazonSageMakerFullAccess, CloudWatchLogsFullAccess
- 把ec2 instance attach到role
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::sagemaker*"
]
}
]
}
- ssh 到ec2 instance 注意使用--recurse-submodule下载代码
git clone --recurse-submodule https://github.com/xiehust/model_hub_v2.git
- 安装nodejs 18
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install --global yarn
- 配置环境变量
- 修改model_hub_v2/env.sample 文件中,ip改成对应的ec2的ip,随机给一个api key,这个key需要与下一部分后端配置backend/.env中的apikey保持一致
REACT_APP_API_ENDPOINT=http://{ip}:8000/v1
REACT_APP_API_KEY=随机给一个key
- 启动web page
- 安装yarn
yarn install
#install pm2
sudo yarn global add pm2
pm2 start pm2run.config.js
- 以下是其他的管理命令(作为参考,不用执行):
pm2 list
pm2 stop modelhub
pm2 restart modelhub
pm2 delete modelhub
请见后端配置
- 以上都部署完成后,前端启动之后,可以通过浏览器访问http://{ip}:3000访问前端
- 如果需要做端口转发,则参考后端配置中的nginx配置部分