@h-ai/cli 0.1.0-alpha.65 → 0.1.0-alpha.67
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +66 -251
- package/README.ja.md +67 -252
- package/README.md +66 -251
- package/dist/{chunk-47V5OT22.js → chunk-7DSURTJ4.js} +32 -115
- package/dist/chunk-7DSURTJ4.js.map +1 -0
- package/dist/{chunk-IPG3QNYK.js → chunk-AOQ4N657.js} +212 -8
- package/dist/chunk-AOQ4N657.js.map +1 -0
- package/dist/cli-config-templates-6AHNUGBN.js +5 -0
- package/dist/{cli-config-templates-SJ2MBIR7.js.map → cli-config-templates-6AHNUGBN.js.map} +1 -1
- package/dist/{cli-skill-templates-A5VIR5J6.js → cli-skill-templates-FC3QRKDO.js} +3 -3
- package/dist/{cli-skill-templates-A5VIR5J6.js.map → cli-skill-templates-FC3QRKDO.js.map} +1 -1
- package/dist/index.js +644 -391
- package/dist/index.js.map +1 -1
- package/dist/{src-6PPBKQ6Q.js → src-2V6VP4I5.js} +972 -520
- package/dist/src-2V6VP4I5.js.map +1 -0
- package/package.json +8 -8
- package/templates/README.md +48 -145
- package/templates/apps/admin/src/routes/admin/+layout.svelte.hbs +1 -1
- package/templates/apps/api/.dockerignore.hbs +18 -12
- package/templates/apps/api/.gitignore.hbs +9 -1
- package/templates/apps/api/apps/{{projectName}}-contract/README.md.hbs +23 -2
- package/templates/apps/api/apps/{{projectName}}-service/README.md.hbs +28 -7
- package/templates/apps/api/apps/{{projectName}}-service/package.json.hbs +1 -3
- package/templates/apps/api/hai.build.json.hbs +1 -0
- package/templates/apps/api/images/app.Dockerfile.hbs +35 -0
- package/templates/apps/api/package.json.hbs +10 -8
- package/templates/apps/fullstack/.dockerignore.hbs +18 -14
- package/templates/apps/fullstack/.gitignore.hbs +9 -1
- package/templates/apps/fullstack/apps/{{projectName}}-app/README.md.hbs +23 -8
- package/templates/apps/fullstack/apps/{{projectName}}-app/index.html.hbs +1 -0
- package/templates/apps/fullstack/apps/{{projectName}}-app/package.json.hbs +0 -2
- package/templates/apps/fullstack/apps/{{projectName}}-app/public/runtime-config.js.hbs +4 -0
- package/templates/apps/fullstack/apps/{{projectName}}-app/vite.config.ts.hbs +3 -3
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/README.md.hbs +25 -10
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/package.json.hbs +2 -3
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/src-tauri/src/lib.rs.hbs +73 -2
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/src-tauri/tauri.conf.json.hbs +2 -2
- package/templates/apps/fullstack/apps/{{projectName}}-desktop/vite.config.ts.hbs +2 -2
- package/templates/apps/fullstack/apps/{{projectName}}-miniapp/README.md.hbs +16 -6
- package/templates/apps/fullstack/apps/{{projectName}}-web/README.md.hbs +24 -10
- package/templates/apps/fullstack/apps/{{projectName}}-web/package.json.hbs +0 -2
- package/templates/apps/fullstack/apps/{{projectName}}-web/vite.config.ts.hbs +3 -3
- package/templates/apps/fullstack/e2e/fullstack.spec.ts.hbs +12 -1
- package/templates/apps/fullstack/hai.build.json.hbs +7 -0
- package/templates/apps/fullstack/images/app.Dockerfile.hbs +36 -0
- package/templates/apps/fullstack/images/web.Dockerfile.hbs +34 -0
- package/templates/apps/fullstack/package.json.hbs +7 -12
- package/templates/apps/fullstack/packages/{{projectName}}-contract/README.md.hbs +23 -2
- package/templates/apps/fullstack/packages/{{projectName}}-serv/README.md.hbs +28 -7
- package/templates/apps/fullstack/packages/{{projectName}}-serv/package.json.hbs +0 -1
- package/templates/apps/fullstack/packages/{{projectName}}-shared/.gitignore.hbs +7 -0
- package/templates/apps/fullstack/packages/{{projectName}}-shared/README.md.hbs +33 -12
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/components/AppShell.svelte.hbs +2 -2
- package/templates/apps/fullstack/packages/{{projectName}}-shared/src/lib/pages/settings.svelte.hbs +3 -3
- package/templates/apps/fullstack/packages/{{projectName}}-shared/tests/api-client.test.ts.hbs +2 -2
- package/templates/apps/h5/src/routes/+layout.svelte.hbs +2 -2
- package/templates/apps/mobile-app/index.html.hbs +1 -0
- package/templates/apps/mobile-app/public/runtime-config.js +1 -0
- package/templates/apps/mobile-app/src/App.svelte.hbs +2 -2
- package/templates/apps/mobile-app/src/lib/api.ts.hbs +2 -1
- package/templates/apps/mobile-app/src/lib/app-config.ts.hbs +3 -2
- package/templates/apps/mobile-app/src/lib/pages/home.svelte.hbs +2 -2
- package/templates/apps/website/src/routes/+layout.svelte.hbs +3 -3
- package/templates/apps/website/src/routes/services/+page.svelte.hbs +1 -1
- package/templates/base/.dockerignore.hbs +18 -13
- package/templates/base/.gitignore.hbs +9 -1
- package/templates/base/e2e/app.spec.ts.hbs +10 -0
- package/templates/base/hai.build.json.hbs +1 -0
- package/templates/base/images/app.Dockerfile.hbs +64 -0
- package/templates/base/{docker → images/web}/nginx.conf.hbs +6 -0
- package/templates/base/package.json.hbs +20 -19
- package/templates/base/svelte.config.js.hbs +2 -0
- package/templates/base/vite.config.ts.hbs +9 -3
- package/templates/shared/.gitattributes +11 -0
- package/templates/shared/container-runtime-config.sh +30 -0
- package/templates/shared/run-e2e.mjs +65 -0
- package/templates/shared/vite-runtime-config.ts +54 -0
- package/templates/skills/AGENTS.md +3 -3
- package/templates/skills/bridges/admin/AGENTS.md +1 -1
- package/templates/skills/bridges/api/AGENTS.md +1 -1
- package/templates/skills/bridges/fullstack/AGENTS.md.hbs +1 -1
- package/templates/skills/bridges/h5/AGENTS.md +1 -1
- package/templates/skills/bridges/mobile-app/AGENTS.md +1 -1
- package/templates/skills/bridges/website/AGENTS.md +1 -1
- package/templates/skills/hai-api-client/SKILL.md +14 -161
- package/templates/skills/hai-api-client/reference.md +166 -0
- package/templates/skills/hai-api-contract/SKILL.md +15 -273
- package/templates/skills/hai-api-contract/reference.md +278 -0
- package/templates/skills/hai-app-create/SKILL.md +2 -2
- package/templates/skills/hai-app-create/development.md +6 -4
- package/templates/skills/hai-app-create/reference.md +5 -4
- package/templates/skills/hai-app-review/SKILL.md +1 -1
- package/templates/skills/hai-app-tests/SKILL.md +4 -3
- package/templates/skills/hai-app-tests/reference.md +2 -2
- package/templates/skills/hai-app-tests/validation.md +31 -0
- package/templates/skills/hai-audit/SKILL.md +17 -142
- package/templates/skills/hai-audit/reference.md +145 -0
- package/templates/skills/hai-build/SKILL.md +24 -3
- package/templates/skills/hai-build/reference.md +10 -9
- package/templates/skills/hai-cache/SKILL.md +15 -182
- package/templates/skills/hai-cache/reference.md +187 -0
- package/templates/skills/hai-capacitor/SKILL.md +4 -3
- package/templates/skills/hai-capacitor/reference.md +6 -4
- package/templates/skills/hai-ci/SKILL.md +2 -0
- package/templates/skills/hai-core/SKILL.md +3 -3
- package/templates/skills/hai-crypto/SKILL.md +16 -252
- package/templates/skills/hai-crypto/reference.md +256 -0
- package/templates/skills/hai-datapipe/SKILL.md +15 -196
- package/templates/skills/hai-datapipe/reference.md +202 -0
- package/templates/skills/hai-deploy/SKILL.md +28 -271
- package/templates/skills/hai-deploy/middleware.md +6 -18
- package/templates/skills/hai-framework-sync/SKILL.md +2 -2
- package/templates/skills/hai-framework-sync/sync.md +1 -1
- package/templates/skills/hai-iam/SKILL.md +1 -3
- package/templates/skills/hai-kit/SKILL.md +12 -167
- package/templates/skills/hai-kit/reference.md +172 -0
- package/templates/skills/hai-payment/SKILL.md +19 -251
- package/templates/skills/hai-payment/reference.md +256 -0
- package/templates/skills/hai-pr-review/SKILL.md +4 -4
- package/templates/skills/hai-reach/SKILL.md +2 -2
- package/templates/skills/hai-reldb/SKILL.md +1 -1
- package/templates/skills/hai-scheduler/SKILL.md +15 -195
- package/templates/skills/hai-scheduler/reference.md +202 -0
- package/templates/skills/hai-serv/SKILL.md +2 -2
- package/templates/skills/hai-spec-implement/SKILL.md +1 -1
- package/templates/skills/hai-spec-implement/workflow.md +3 -3
- package/templates/skills/hai-storage/SKILL.md +17 -238
- package/templates/skills/hai-storage/reference.md +243 -0
- package/templates/skills/hai-ui/SKILL.md +1 -1
- package/templates/skills/hai-ui/reference.md +11 -5
- package/templates/skills/hai-vecdb/SKILL.md +2 -2
- package/dist/chunk-47V5OT22.js.map +0 -1
- package/dist/chunk-IPG3QNYK.js.map +0 -1
- package/dist/cli-config-templates-SJ2MBIR7.js +0 -5
- package/dist/src-6PPBKQ6Q.js.map +0 -1
- package/templates/apps/api/Dockerfile.hbs +0 -48
- package/templates/apps/fullstack/Dockerfile.hbs +0 -69
- package/templates/base/Dockerfile.hbs +0 -79
- /package/templates/apps/fullstack/{docker → images/web}/19-runtime-config.envsh.hbs +0 -0
- /package/templates/apps/fullstack/{docker → images/web}/nginx.conf.hbs +0 -0
- /package/templates/apps/fullstack/{docker → images/web}/runtime-config.js.template.hbs +0 -0
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.7
|
|
2
|
-
FROM node:24-bookworm-slim AS build
|
|
3
|
-
ARG SQLITE_PREBUILD_MIRROR
|
|
4
|
-
ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
|
|
5
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
6
|
-
ARG HAI_CORE_ENV=production
|
|
7
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
8
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
9
|
-
|
|
10
|
-
ENV PNPM_HOME=/pnpm
|
|
11
|
-
ENV PATH=$PNPM_HOME:$PATH
|
|
12
|
-
ENV CI=true
|
|
13
|
-
WORKDIR /workspace
|
|
14
|
-
|
|
15
|
-
RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
|
|
16
|
-
COPY pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
17
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
|
|
18
|
-
COPY . .
|
|
19
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
|
|
20
|
-
RUN pnpm build
|
|
21
|
-
RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
|
|
22
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{api.servicePackageName}} --prod /prod/app
|
|
23
|
-
|
|
24
|
-
FROM node:24-bookworm-slim AS runtime-base
|
|
25
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
26
|
-
ARG HAI_CORE_ENV=production
|
|
27
|
-
|
|
28
|
-
ENV NODE_ENV=production
|
|
29
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
30
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
31
|
-
ENV HOST=0.0.0.0
|
|
32
|
-
ENV PORT=3000
|
|
33
|
-
WORKDIR /app
|
|
34
|
-
|
|
35
|
-
COPY --from=build --chown=node:node /prod/app ./
|
|
36
|
-
RUN mkdir -p /app/data && chown node:node /app/data
|
|
37
|
-
|
|
38
|
-
USER node
|
|
39
|
-
EXPOSE 3000
|
|
40
|
-
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
|
41
|
-
CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
|
42
|
-
CMD ["node", "dist/index.js"]
|
|
43
|
-
|
|
44
|
-
FROM runtime-base AS runtime-with-data
|
|
45
|
-
|
|
46
|
-
COPY --from=embedded-data --chown=node:node / /app/data/
|
|
47
|
-
|
|
48
|
-
FROM runtime-base AS runtime
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.7
|
|
2
|
-
FROM node:24-bookworm-slim AS build
|
|
3
|
-
ARG SQLITE_PREBUILD_MIRROR
|
|
4
|
-
ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
|
|
5
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
6
|
-
ARG HAI_CORE_ENV=production
|
|
7
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
8
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
9
|
-
|
|
10
|
-
ENV PNPM_HOME=/pnpm
|
|
11
|
-
ENV PATH=$PNPM_HOME:$PATH
|
|
12
|
-
ENV CI=true
|
|
13
|
-
WORKDIR /workspace
|
|
14
|
-
|
|
15
|
-
RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
|
|
16
|
-
COPY pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
17
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
|
|
18
|
-
COPY . .
|
|
19
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
|
|
20
|
-
RUN pnpm build
|
|
21
|
-
|
|
22
|
-
FROM build AS service-build
|
|
23
|
-
|
|
24
|
-
RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
|
|
25
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{fullstack.servPackageName}} --prod /prod/service
|
|
26
|
-
|
|
27
|
-
FROM node:24-bookworm-slim AS service
|
|
28
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
29
|
-
ARG HAI_CORE_ENV=production
|
|
30
|
-
|
|
31
|
-
ENV NODE_ENV=production
|
|
32
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
33
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
34
|
-
ENV HOST=0.0.0.0
|
|
35
|
-
ENV PORT=3000
|
|
36
|
-
WORKDIR /app
|
|
37
|
-
|
|
38
|
-
COPY --from=service-build --chown=node:node /prod/service ./
|
|
39
|
-
RUN mkdir -p /app/data && chown node:node /app/data
|
|
40
|
-
|
|
41
|
-
USER node
|
|
42
|
-
EXPOSE 3000
|
|
43
|
-
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
|
44
|
-
CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
|
45
|
-
CMD ["node", "dist/index.js"]
|
|
46
|
-
|
|
47
|
-
FROM service AS runtime-with-data
|
|
48
|
-
|
|
49
|
-
COPY --from=embedded-data --chown=node:node / /app/data/
|
|
50
|
-
|
|
51
|
-
FROM service AS runtime
|
|
52
|
-
|
|
53
|
-
{{#if fullstack.frontends.web}}
|
|
54
|
-
FROM nginxinc/nginx-unprivileged:1.29-alpine AS web
|
|
55
|
-
|
|
56
|
-
ENV PUBLIC_API_BASE=
|
|
57
|
-
ENV NGINX_ENVSUBST_FILTER=PUBLIC_API_BASE_BASE64
|
|
58
|
-
ENV NGINX_ENVSUBST_OUTPUT_DIR=/tmp/hai-runtime-config
|
|
59
|
-
|
|
60
|
-
RUN mkdir -p /tmp/hai-runtime-config
|
|
61
|
-
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
|
|
62
|
-
COPY --chmod=755 docker/19-runtime-config.envsh /docker-entrypoint.d/19-runtime-config.envsh
|
|
63
|
-
COPY docker/runtime-config.js.template /etc/nginx/templates/runtime-config.js.template
|
|
64
|
-
COPY --from=build /workspace/apps/{{projectName}}-web/dist /usr/share/nginx/html
|
|
65
|
-
|
|
66
|
-
EXPOSE 8080
|
|
67
|
-
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
|
68
|
-
CMD wget -Y off -q -O /dev/null http://127.0.0.1:8080/health || exit 1
|
|
69
|
-
{{/if}}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
# syntax=docker/dockerfile:1.7
|
|
2
|
-
{{#if isSvelteOnlyApp}}
|
|
3
|
-
FROM node:24-bookworm-slim AS build
|
|
4
|
-
ARG SQLITE_PREBUILD_MIRROR
|
|
5
|
-
ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
|
|
6
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
7
|
-
ARG HAI_CORE_ENV=production
|
|
8
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
9
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
10
|
-
|
|
11
|
-
ENV PNPM_HOME=/pnpm
|
|
12
|
-
ENV PATH=$PNPM_HOME:$PATH
|
|
13
|
-
ENV CI=true
|
|
14
|
-
WORKDIR /workspace
|
|
15
|
-
|
|
16
|
-
RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
|
|
17
|
-
COPY pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
18
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
|
|
19
|
-
COPY . .
|
|
20
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
|
|
21
|
-
RUN pnpm build
|
|
22
|
-
|
|
23
|
-
FROM nginxinc/nginx-unprivileged:1.29-alpine AS runtime
|
|
24
|
-
|
|
25
|
-
COPY docker/nginx.conf /etc/nginx/conf.d/default.conf
|
|
26
|
-
COPY --from=build /workspace/dist /usr/share/nginx/html
|
|
27
|
-
|
|
28
|
-
EXPOSE 8080
|
|
29
|
-
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
|
30
|
-
CMD wget -q -O /dev/null http://127.0.0.1:8080/health || exit 1
|
|
31
|
-
{{else}}
|
|
32
|
-
FROM node:24-bookworm-slim AS build
|
|
33
|
-
ARG SQLITE_PREBUILD_MIRROR
|
|
34
|
-
ENV npm_config_better_sqlite3_binary_host_mirror=$SQLITE_PREBUILD_MIRROR
|
|
35
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
36
|
-
ARG HAI_CORE_ENV=production
|
|
37
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
38
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
39
|
-
|
|
40
|
-
ENV PNPM_HOME=/pnpm
|
|
41
|
-
ENV PATH=$PNPM_HOME:$PATH
|
|
42
|
-
ENV CI=true
|
|
43
|
-
WORKDIR /workspace
|
|
44
|
-
|
|
45
|
-
RUN corepack enable && corepack prepare pnpm@12.11.2 --activate
|
|
46
|
-
COPY pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
47
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm fetch
|
|
48
|
-
COPY . .
|
|
49
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm install --offline --frozen-lockfile --ignore-scripts
|
|
50
|
-
RUN pnpm build
|
|
51
|
-
RUN if [ -d node_modules/better-sqlite3 ]; then cd node_modules/better-sqlite3; for attempt in 1 2 3; do node -e "require('node:child_process').execFileSync(process.execPath,[require.resolve('prebuild-install/bin.js'),'--verbose'],{stdio:'inherit'})" && break; [ "$attempt" = 3 ] && exit 1; sleep 3; done; fi
|
|
52
|
-
RUN --mount=type=cache,id={{projectName}}-pnpm,target=/pnpm/store pnpm pm deploy --filter {{projectName}} --prod /prod/app
|
|
53
|
-
|
|
54
|
-
FROM node:24-bookworm-slim AS runtime-base
|
|
55
|
-
ARG HAI_DEPLOY_ENVIRONMENT=prod
|
|
56
|
-
ARG HAI_CORE_ENV=production
|
|
57
|
-
|
|
58
|
-
ENV NODE_ENV=production
|
|
59
|
-
ENV HAI_DEPLOY_ENVIRONMENT=$HAI_DEPLOY_ENVIRONMENT
|
|
60
|
-
ENV HAI_CORE_ENV=$HAI_CORE_ENV
|
|
61
|
-
ENV HOST=0.0.0.0
|
|
62
|
-
ENV PORT=3000
|
|
63
|
-
WORKDIR /app
|
|
64
|
-
|
|
65
|
-
COPY --from=build --chown=node:node /prod/app ./
|
|
66
|
-
RUN mkdir -p /app/data && chown node:node /app/data
|
|
67
|
-
|
|
68
|
-
USER node
|
|
69
|
-
EXPOSE 3000
|
|
70
|
-
HEALTHCHECK --interval=30s --timeout=5s --start-period=15s --retries=3 \
|
|
71
|
-
CMD node -e "fetch('http://127.0.0.1:'+process.env.PORT+'/').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
|
72
|
-
CMD ["node", "build"]
|
|
73
|
-
|
|
74
|
-
FROM runtime-base AS runtime-with-data
|
|
75
|
-
|
|
76
|
-
COPY --from=embedded-data --chown=node:node / /app/data/
|
|
77
|
-
|
|
78
|
-
FROM runtime-base AS runtime
|
|
79
|
-
{{/if}}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|