Koyeb
将 Nitro 应用部署到 Koyeb。
预设: koyeb
使用控制面板
在 Koyeb 控制面板 中,点击 创建应用。
选择 GitHub 作为您的部署方法。
选择包含应用程序代码的 GitHub 仓库 和 分支。
为您的服务命名。
如果您没有在 package.json
文件中添加 start
命令,请在 构建和部署设置 下,切换与运行命令字段相关的覆盖开关。在 运行命令 字段中输入:node .output/server/index.mjs
node .output/server/index.mjs
在 高级 部分,点击 添加变量 并添加一个 NITRO_PRESET
变量,值设置为 koyeb
。
命名应用。
点击 部署 按钮。
使用 Koyeb CLI
根据您的操作系统,遵循说明以 安装 Koyeb CLI 客户端,您可以使用安装程序。或者,访问 GitHub 上的发布页面 直接下载所需文件。
通过访问 Koyeb 控制面板中的 您组织的 API 设置 创建一个 Koyeb API 访问令牌。
使用 Koyeb CLI 登录到您的账户,输入:koyeb login
当提示时粘贴您的 API 凭证。
koyeb login
使用以下命令从 GitHub 仓库部署您的 Nitro 应用程序。务必将 <APPLICATION_NAME>
、<YOUR_GITHUB_USERNAME>
和 <YOUR_REPOSITORY_NAME>
替换为您自己的值:koyeb app init <APPLICATION_NAME> \
--git github.com/<YOUR_GITHUB_USERNAME>/<YOUR_REPOSITORY_NAME> \
--git-branch main \
--git-run-command "node .output/server/index.mjs" \
--ports 3000:http \
--routes /:3000 \
--env PORT=3000 \
--env NITRO_PRESET=koyeb
koyeb app init <APPLICATION_NAME> \
--git github.com/<YOUR_GITHUB_USERNAME>/<YOUR_REPOSITORY_NAME> \
--git-branch main \
--git-run-command "node .output/server/index.mjs" \
--ports 3000:http \
--routes /:3000 \
--env PORT=3000 \
--env NITRO_PRESET=koyeb
使用 Docker 容器
在项目的根目录中创建一个 .dockerignore
文件,并添加以下行:Dockerfile
.dockerignore
node_modules
npm-debug.log
.nitro
.output
.git
dist
README.md
Dockerfile
.dockerignore
node_modules
npm-debug.log
.nitro
.output
.git
dist
README.md
在项目的根目录中添加一个 Dockerfile
:FROM node:18-alpine AS base
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build && npm cache clean --force
FROM base AS runner
WORKDIR /app
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nitro
COPY --from=builder /app .
USER nitro
EXPOSE 3000
ENV PORT 3000
CMD ["npm", "run", "start"]
FROM node:18-alpine AS base
FROM base AS deps
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json package-lock.json ./
RUN npm ci
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN npm run build && npm cache clean --force
FROM base AS runner
WORKDIR /app
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nitro
COPY --from=builder /app .
USER nitro
EXPOSE 3000
ENV PORT 3000
CMD ["npm", "run", "start"]
上面的 Dockerfile 提供了运行 Nitro 应用程序的最低要求。您可以根据您的需求轻松扩展它。 然后,您需要将 Docker 镜像推送到一个注册表。您可以使用 Docker Hub 或 GitHub Container Registry 等。 在 Koyeb 控制面板中,使用镜像和标签字段指定您要部署的镜像。 您还可以使用 Koyeb CLI。 有关更多信息,请参考 Koyeb Docker 文档。