添加 docker 镜像打包部署脚本 (#27)

* 删除env

* 修改生产依赖安装缺失。

* 添加docker镜像构建

* no message

* 修改超时时间。

* 修复镜像构建错误。

* 修改环境变量获取baseapi

* 修改前端链接获取位置。

* 删除默认env

* 添加会 .env 文件,但是注释掉。

* 使用默认 api。

* 添加前端调试和部署路由兼容。

* 删除key

* Update .env

* Delete build_docker.yml

暂时不做 `git hooks` 处理

* Delete .gitignore

* Delete Dockerfile

工作路径好像有点错误,先不合并

* Delete build.sh

工作路径好像有点错误,先不合并

---------

Co-authored-by: 王金海(haha.wang) <wanghaha@huolala.cn>
Co-authored-by: haha.wang <haha.wang@huolala.cn>
Co-authored-by: Redon <790348264@qq.com>
main
wang ha ha 2 years ago committed by GitHub
parent c8518b7789
commit bbd8ff773b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

29
.gitignore vendored

@ -1,29 +0,0 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
node_modules
.DS_Store
dist
dist-ssr
coverage
*.local
/cypress/videos/
/cypress/screenshots/
# Editor directories and files
.vscode/*
!.vscode/settings.json
!.vscode/extensions.json
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?

@ -24,6 +24,8 @@
}, },
"dependencies": { "dependencies": {
"chatgpt": "^4.3.2", "chatgpt": "^4.3.2",
"dotenv": "^16.0.3",
"esno": "^0.16.3",
"express": "^4.18.2", "express": "^4.18.2",
"isomorphic-fetch": "^3.0.0" "isomorphic-fetch": "^3.0.0"
}, },
@ -31,9 +33,7 @@
"@antfu/eslint-config": "^0.35.2", "@antfu/eslint-config": "^0.35.2",
"@types/express": "^4.17.17", "@types/express": "^4.17.17",
"@types/node": "^18.13.0", "@types/node": "^18.13.0",
"dotenv": "^16.0.3",
"eslint": "^8.34.0", "eslint": "^8.34.0",
"esno": "^0.16.3",
"rimraf": "^4.1.2", "rimraf": "^4.1.2",
"tsup": "^6.6.2", "tsup": "^6.6.2",
"typescript": "^4.9.5" "typescript": "^4.9.5"

@ -16,6 +16,8 @@ specifiers:
dependencies: dependencies:
chatgpt: 4.4.0 chatgpt: 4.4.0
dotenv: 16.0.3
esno: 0.16.3
express: 4.18.2 express: 4.18.2
isomorphic-fetch: 3.0.0 isomorphic-fetch: 3.0.0
@ -23,9 +25,7 @@ devDependencies:
'@antfu/eslint-config': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm '@antfu/eslint-config': 0.35.2_7kw3g6rralp5ps6mg3uyzz6azm
'@types/express': 4.17.17 '@types/express': 4.17.17
'@types/node': 18.13.0 '@types/node': 18.13.0
dotenv: 16.0.3
eslint: 8.34.0 eslint: 8.34.0
esno: 0.16.3
rimraf: 4.1.2 rimraf: 4.1.2
tsup: 6.6.3_typescript@4.9.5 tsup: 6.6.3_typescript@4.9.5
typescript: 4.9.5 typescript: 4.9.5
@ -154,21 +154,21 @@ packages:
dependencies: dependencies:
'@esbuild-kit/core-utils': 3.1.0 '@esbuild-kit/core-utils': 3.1.0
get-tsconfig: 4.4.0 get-tsconfig: 4.4.0
dev: true dev: false
/@esbuild-kit/core-utils/3.1.0: /@esbuild-kit/core-utils/3.1.0:
resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==}
dependencies: dependencies:
esbuild: 0.17.8 esbuild: 0.17.8
source-map-support: 0.5.21 source-map-support: 0.5.21
dev: true dev: false
/@esbuild-kit/esm-loader/2.5.5: /@esbuild-kit/esm-loader/2.5.5:
resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==}
dependencies: dependencies:
'@esbuild-kit/core-utils': 3.1.0 '@esbuild-kit/core-utils': 3.1.0
get-tsconfig: 4.4.0 get-tsconfig: 4.4.0
dev: true dev: false
/@esbuild/android-arm/0.17.8: /@esbuild/android-arm/0.17.8:
resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==} resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==}
@ -176,7 +176,6 @@ packages:
cpu: [arm] cpu: [arm]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/android-arm64/0.17.8: /@esbuild/android-arm64/0.17.8:
@ -185,7 +184,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/android-x64/0.17.8: /@esbuild/android-x64/0.17.8:
@ -194,7 +192,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [android] os: [android]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/darwin-arm64/0.17.8: /@esbuild/darwin-arm64/0.17.8:
@ -203,7 +200,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/darwin-x64/0.17.8: /@esbuild/darwin-x64/0.17.8:
@ -212,7 +208,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/freebsd-arm64/0.17.8: /@esbuild/freebsd-arm64/0.17.8:
@ -221,7 +216,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [freebsd] os: [freebsd]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/freebsd-x64/0.17.8: /@esbuild/freebsd-x64/0.17.8:
@ -230,7 +224,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [freebsd] os: [freebsd]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-arm/0.17.8: /@esbuild/linux-arm/0.17.8:
@ -239,7 +232,6 @@ packages:
cpu: [arm] cpu: [arm]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-arm64/0.17.8: /@esbuild/linux-arm64/0.17.8:
@ -248,7 +240,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-ia32/0.17.8: /@esbuild/linux-ia32/0.17.8:
@ -257,7 +248,6 @@ packages:
cpu: [ia32] cpu: [ia32]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-loong64/0.17.8: /@esbuild/linux-loong64/0.17.8:
@ -266,7 +256,6 @@ packages:
cpu: [loong64] cpu: [loong64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-mips64el/0.17.8: /@esbuild/linux-mips64el/0.17.8:
@ -275,7 +264,6 @@ packages:
cpu: [mips64el] cpu: [mips64el]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-ppc64/0.17.8: /@esbuild/linux-ppc64/0.17.8:
@ -284,7 +272,6 @@ packages:
cpu: [ppc64] cpu: [ppc64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-riscv64/0.17.8: /@esbuild/linux-riscv64/0.17.8:
@ -293,7 +280,6 @@ packages:
cpu: [riscv64] cpu: [riscv64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-s390x/0.17.8: /@esbuild/linux-s390x/0.17.8:
@ -302,7 +288,6 @@ packages:
cpu: [s390x] cpu: [s390x]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/linux-x64/0.17.8: /@esbuild/linux-x64/0.17.8:
@ -311,7 +296,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [linux] os: [linux]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/netbsd-x64/0.17.8: /@esbuild/netbsd-x64/0.17.8:
@ -320,7 +304,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [netbsd] os: [netbsd]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/openbsd-x64/0.17.8: /@esbuild/openbsd-x64/0.17.8:
@ -329,7 +312,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [openbsd] os: [openbsd]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/sunos-x64/0.17.8: /@esbuild/sunos-x64/0.17.8:
@ -338,7 +320,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [sunos] os: [sunos]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/win32-arm64/0.17.8: /@esbuild/win32-arm64/0.17.8:
@ -347,7 +328,6 @@ packages:
cpu: [arm64] cpu: [arm64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/win32-ia32/0.17.8: /@esbuild/win32-ia32/0.17.8:
@ -356,7 +336,6 @@ packages:
cpu: [ia32] cpu: [ia32]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@esbuild/win32-x64/0.17.8: /@esbuild/win32-x64/0.17.8:
@ -365,7 +344,6 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/@eslint-community/eslint-utils/4.1.2_eslint@8.34.0: /@eslint-community/eslint-utils/4.1.2_eslint@8.34.0:
@ -805,7 +783,7 @@ packages:
/buffer-from/1.1.2: /buffer-from/1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
dev: true dev: false
/builtin-modules/3.3.0: /builtin-modules/3.3.0:
resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
@ -1090,7 +1068,7 @@ packages:
/dotenv/16.0.3: /dotenv/16.0.3:
resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
engines: {node: '>=12'} engines: {node: '>=12'}
dev: true dev: false
/ee-first/1.1.1: /ee-first/1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
@ -1203,7 +1181,6 @@ packages:
'@esbuild/win32-arm64': 0.17.8 '@esbuild/win32-arm64': 0.17.8
'@esbuild/win32-ia32': 0.17.8 '@esbuild/win32-ia32': 0.17.8
'@esbuild/win32-x64': 0.17.8 '@esbuild/win32-x64': 0.17.8
dev: true
/escape-html/1.0.3: /escape-html/1.0.3:
resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
@ -1584,7 +1561,7 @@ packages:
hasBin: true hasBin: true
dependencies: dependencies:
tsx: 3.12.3 tsx: 3.12.3
dev: true dev: false
/espree/9.4.1: /espree/9.4.1:
resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==}
@ -1799,7 +1776,6 @@ packages:
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin] os: [darwin]
requiresBuild: true requiresBuild: true
dev: true
optional: true optional: true
/function-bind/1.1.1: /function-bind/1.1.1:
@ -1841,7 +1817,7 @@ packages:
/get-tsconfig/4.4.0: /get-tsconfig/4.4.0:
resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==} resolution: {integrity: sha512-0Gdjo/9+FzsYhXCEFueo2aY1z1tpXrxWZzP7k8ul9qt1U5o8rYJwTJYmaeHdrVosYIVYkOy2iwCJ9FdpocJhPQ==}
dev: true dev: false
/glob-parent/5.1.2: /glob-parent/5.1.2:
resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
@ -2977,12 +2953,12 @@ packages:
dependencies: dependencies:
buffer-from: 1.1.2 buffer-from: 1.1.2
source-map: 0.6.1 source-map: 0.6.1
dev: true dev: false
/source-map/0.6.1: /source-map/0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
dev: true dev: false
/source-map/0.8.0-beta.0: /source-map/0.8.0-beta.0:
resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
@ -3211,7 +3187,7 @@ packages:
'@esbuild-kit/esm-loader': 2.5.5 '@esbuild-kit/esm-loader': 2.5.5
optionalDependencies: optionalDependencies:
fsevents: 2.3.2 fsevents: 2.3.2
dev: true dev: false
/type-check/0.4.0: /type-check/0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}

@ -3,7 +3,9 @@ import type { ChatContext } from './chatgpt'
import { chatReply } from './chatgpt' import { chatReply } from './chatgpt'
const app = express() const app = express()
const router = express.Router()
app.use(express.static('public'))
app.use(express.json()) app.use(express.json())
app.all('*', (_, res, next) => { app.all('*', (_, res, next) => {
@ -13,7 +15,7 @@ app.all('*', (_, res, next) => {
next() next()
}) })
app.post('/chat', async (req, res) => { router.post('/chat', async (req, res) => {
try { try {
const { prompt, options = {} } = req.body as { prompt: string; options?: ChatContext } const { prompt, options = {} } = req.body as { prompt: string; options?: ChatContext }
const response = await chatReply(prompt, options) const response = await chatReply(prompt, options)
@ -24,4 +26,7 @@ app.post('/chat', async (req, res) => {
} }
}) })
app.use('', router)
app.use('/api', router)
app.listen(3002, () => globalThis.console.log('Server is running on port 3002')) app.listen(3002, () => globalThis.console.log('Server is running on port 3002'))

Loading…
Cancel
Save