Licking Dog API | 舔狗API 🍭 - Made ❤ by james yang & Powered by FastAPI
敬我暗恋的人
$ git clone https://github.com/llxlr/LickingDogAPI.git
$ cd LickingDogAPI
$ pip3 install --upgrade pip poetry==1.2.0a1
$ poetry install
$ cp app/conf/.env.example app/.env
$ poetry run uvicorn app.main:app --host 127.0.0.1 --port 8001
$ sudo cp conf/ldapi.service /etc/systemd/system/ldapi.service
$ sudo nano /etc/systemd/system/ldapi.service # 项目路径改成自己的
或者使用gunicorn
:
将
uvicorn main:app --host 127.0.0.1 --port 8001
替换为
gunicorn main:app -b 127.0.0.1:8001 -w 4 -k uvicorn.workers.UvicornWorker
有以下命令:
$ sudo systemctl daemon-reload #重载所有修改过的配置文件
$ sudo systemctl enable ldapi #设置自动启动
$ sudo systemctl start ldapi #启动服务
$ sudo systemctl stop ldapi #停止服务
$ sudo systemctl restart ldapi #重启服务
$ sudo systemctl status ldapi #查看服务状态
还没搞明白雾
$ sudo docker run -d -p 4444:4444 --shm-size=2g -e TZ=Asia/Shanghai selenium/standalone-chrome
$ sudo mkdir /etc/api/ && sudo cp .env.example /etc/api/.env
$ sudo docker build . -f ./Dockerfile -t ldapi:latest
$ sudo docker run --rm -p 8001:8001 -v /etc/api/.env:/.env -v ./cache:/cache -t llxlr/ldapi:latest #临时调试
$ sudo docker run -d -p 8001:8001 -v /etc/api/.env:/.env -v ./cache:/cache -t llxlr/ldapi:latest #或直接部署
$ sudo docker save -o ./ldapi-v0.0.1.tar llxlr/ldapi:latest #导出镜像
$ sudo docker load --input ./ldapi-latest.tar #导入镜像
$ sudo docker export ldapi-latest > ./ldapi-latest.tar #导出容器
$ sudo docker import ./ldapi-latest.tar ldapi-latest #导入容器
$ sudo docker-compose up -d
$ sudo docker pull llxlr/ldapi:latest
配置文件是.github/workflows/docker.yml
,文件里设置了默认打包main
分支,在项目设置Secrets
里添加GH_TOKEN
$ sudo docker pull docker.pkg.github.com/llxlr/lickingdogapi/ldapi:latest
$ sudo docker pull docker.pkg.github.com/llxlr/lickingdogapi/ldapi:dev
配置文件是.github/workflows/deploy.yml
,部署脚本是deploy.sh
,在项目设置Secrets
里添加DEPLOY_KEY
,SSH_PORT
,SSH_HOST
和SSH_USERNAME
,分别代表与部署服务器公钥对应的私钥,SSH登录端口(默认22),主机IP和主机用户名。部署需要自行修改.env
配置文件,改成自己的信息。
交互文档: http://127.0.0.1:8001/v1/docs
POST: 发送数据
GET: 请求数据
PUT: 更新数据
DELETE: 删除数据
PyCharm 是一个在各个方面都最大程度地提高开发人员的生产力的 IDE,适合专业 Python 全栈开发。