3个版本

0.0.3 2023年2月24日
0.0.2 2023年2月24日
0.0.1 2023年2月24日

#922数据库接口

MIT/Apache

5KB
148

机器人挑战

本地运行

1. 克隆仓库

git clone [email protected]:undrfined/robotchallenge.git --recursive
cd robotchallenge

2. 安装依赖

你需要

  • NodeJS
  • Rust
rustup target add wasm32-wasi
npm run build:vendor
npm run build:core
npm install

3. 配置.env文件

有关如何操作的说明 这里

4. 运行开发前端服务器

npm run start

5. 安装后端依赖

启动本地Postgres & Redis服务器或使用Docker Compose

docker compose up postgres redis

别忘了更新 /etc/hosts 文件

127.0.0.1       redis
127.0.0.1       postgres

如果你运行的是本地(非Docker)Postgres服务器,你还需要运行 postgres /init.sql 脚本。

6. 运行后端服务器

cd backend && cargo run

使用Docker Compose部署

1. 克隆仓库

git clone [email protected]:undrfined/robotchallenge.git --recursive
cd robotchallenge

2. 配置.env文件

有关如何操作的说明 这里

cp .env.example .env

# edit .env file

3. 运行docker-compose

docker compose up -d

配置.env文件

1. 端点

对于本地设置,你需要在.env文件中设置以下字段,如下所示

APP_API_ENDPOINT="localhost:8080/"
APP_UI_ENDPOINT="https://127.0.0.1:3000/"

对于Docker设置,你需要在.env文件中设置以下字段,如下所示

APP_API_ENDPOINT="example.com/api"
APP_UI_ENDPOINT="https://example.com/"

2. Github OAuth

首先,你需要在GitHub上创建一个新的OAuth应用程序。你可以在这里完成此操作。

如果你在Docker Compose中运行,则回调URL应为https://YOUR_DOMAIN/api/callback;如果本地运行,则为https://127.0.0.1:8080/callback

将客户端ID、客户端密钥和重定向URL复制到.env文件中(字段分别为GH_CLIENT_IDGH_CLIENT_SECRETGH_REDIRECT_URI)。

3. Postgres

你需要在.env文件中指定以下字段

  • POSTGRES_USER - 用户的用户名
  • POSTGRES_PASSWORD - 用户的密码

如果是在Docker容器中运行,可以指定以下字段

  • PGADMIN_DEFAULT_EMAIL - pgadmin用户的电子邮件地址
  • PGADMIN_DEFAULT_PASSWORD - pgadmin用户的密码

4. Let's Encrypt 配置(仅用于docker)

如果您使用docker compose进行部署,您需要设置Let's Encrypt。您可以通过在.env文件中设置以下字段来完成此操作

  • DOMAINS - 您想用于应用程序的域名。例如,DOMAINS="example.com"
  • CERTBOT_EMAILS - 用于Let's Encrypt通知的电子邮件地址。例如,CERTBOT_EMAILS="[email protected]"

运行测试

创建一个.env.test文件,并填充与.env文件相同的值。

然后运行

cargo test

无运行时依赖