Amplication 生成的服务如何配置 .env 并用 npm 与 Docker 本地运行 server 组件?

发布时间:2026/9/14 10:15:49
Amplication 生成的服务如何配置 .env 并用 npm 与 Docker 本地运行 server 组件?
Amplication 生成的服务如何配置 .env 并用 npm 与 Docker 本地运行 server 组件【免费下载链接】amplicationAmplication brings order to the chaos of large-scale software development by creating Golden Paths for developers - streamlined workflows that drive consistency, enable high-quality code practices, simplify onboarding, and accelerate standardized delivery across teams.项目地址: https://gitcode.com/GitHub_Trending/am/amplication当你用 Amplication 生成一个项目并下载代码后其中 server 组件提供了 REST API、GraphQL API、认证授权、日志、数据校验和数据库连接。要在本地把它跑起来需要两步先配置项目根目录下的.env文件再选择一条运行路径——用 npm 脚本启动数据库用 Docker 容器、或直接用 Docker Compose 以容器方式启动。配置 .env 文件server 组件的配置全部通过环境变量提供存放在生成服务的根目录下的.env文件中。Amplication 在生成时已经写入默认值你需要把它们改成实际想要的值使用插件时额外集成可能还需要新增变量。官方说明列出的默认变量如下变量说明默认值示例BCRYPT_SALT用于哈希的字符串[random-string]COMPOSE_PROJECT_NAME服务标识符加前缀amp_[service-identifier]PORTserver 运行的端口3000DB_URL数据库连接 URL[db-provider]://[username]:[password]localhost:[db-port]/[db-name]DB_PORT数据库实例使用的端口[db-provider-port]DB_USER连接数据库的用户名[username]DB_PASSWORD连接数据库的密码[password]DB_NAME数据库名称[service-name]/[project-name]JWT_SECRET_KEY签发 JSON Web Token 使用的密钥[secret]JWT_EXPIRATIONJSON Web Token 的过期时间2d其中DB_URL的值按[db-provider]://[username]:[password]localhost:[db-port]/[db-name]的格式填写方括号内容为需要替换的占位说明。官方同时提醒生产环境建议使用某种 secrets manager / vault 方案管理这些值而不是直接依赖.env文件。.env文件由生成器写入实现见 create-dotenv.ts它把环境变量去重、按字母排序后写成KEYVALUE形式并替换${name}形式的占位符。前置条件README 明确要求运行 server 前满足以下环境Node.js 16.xnpmDocker路径一npm 脚本 Docker 数据库本地开发适合在本地用 IDE 调试 server 代码的场景。第一步安装依赖并生成 Prisma client# 安装依赖 npm install # 生成 prisma client npm run prisma:generate然后依次启动数据库、初始化数据库、启动 server# 启动 server 组件要连接的数据库 npm run docker:dev # 初始化数据库 npm run db:init # 启动 server 组件 npm run start这些脚本在生成项目的package.json中有明确定义模板见 package.jsondocker:dev执行docker-compose -f docker-compose.dev.yml up -d即以守护方式启动数据库容器db:init执行run-s db:migrate-save -- --name initial version db:migrate-up seed即依次运行prisma migrate dev --name initial version、prisma migrate deploy最后执行ts-node scripts/seed.ts写入种子数据start执行nest start。路径二Docker Compose 容器化运行不想在本地装 Node 运行环境时可以把 server 直接打成容器运行# 以 docker 容器方式启动 server 组件 npm run compose:up该命令执行docker-compose up -d对应的 compose 文件模板见 docker-compose.template.yml其中包含三个服务migrate构建同一镜像后执行npm run db:init并等待db服务健康后再运行负责初始化数据库server构建当前目录的镜像构建过程使用 Dockerfile基于node:22.13.0多阶段构建先npm install、生成 Prisma client、构建产物最终运行node ./dist/main.js端口映射为${PORT}:3000即宿主机.env中PORT变量的值映射到容器内的 3000 端口两个服务都从.env注入BCRYPT_SALT环境变量。如果需要停止并清理package.json中定义了compose:down执行docker-compose down --volumes。注意--volumes会删除数据卷数据库数据将一并被移除只在确定要重置数据时执行。验证与默认账号server 监听端口由PORT变量决定默认3000容器路径下宿主机访问端口即.env中PORT的值容器内部固定为 3000。数据库经过db:init的 seed 步骤后应用默认自带一个用户用户名admin、密码admin。该账号仅适合本地验证上线前应更换。如果某条命令报错先核对两点.env中的DB_URL、DB_USER、DB_PASSWORD是否与docker:dev启动的数据库实例匹配以及是否先执行过npm run prisma:generate再生成/运行依赖 Prisma client 的步骤。参考server 组件 README.env 变量表与运行脚本server package.json 模板脚本定义Docker Compose 模板server Dockerfile【免费下载链接】amplicationAmplication brings order to the chaos of large-scale software development by creating Golden Paths for developers - streamlined workflows that drive consistency, enable high-quality code practices, simplify onboarding, and accelerate standardized delivery across teams.项目地址: https://gitcode.com/GitHub_Trending/am/amplication创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考