foundryvtt-docker开发指南从源码构建自定义镜像【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-dockerfoundryvtt-docker是一个简单易用的容器化Foundry Virtual Tabletop服务器部署方案本文将详细介绍如何从源码构建自定义镜像帮助开发者根据自身需求定制专属的Foundry VTT服务器环境。准备工作环境与源码获取在开始构建自定义镜像前需要确保本地环境已安装Docker和Git工具。通过以下命令克隆项目源码git clone https://gitcode.com/gh_mirrors/fo/foundryvtt-docker cd foundryvtt-docker项目主要目录结构如下src/核心脚本和TypeScript源代码Dockerfile镜像构建配置文件compose.ymlDocker Compose配置示例patches/历史版本补丁文件tests/测试相关代码深入理解Dockerfile构建流程项目的Dockerfile采用多阶段构建策略主要包含三个阶段1. 基础构建阶段baseFROM public.ecr.aws/docker/library/node:${NODE_IMAGE_VERSION} AS base ARG NPM_VERSION RUN npm install -g npm${NPM_VERSION}该阶段基于Node.js官方镜像构建基础环境安装指定版本的npm包管理器。通过NODE_IMAGE_VERSION参数可灵活指定Node.js版本默认使用24-trixie-slim轻量级镜像。2. TypeScript编译阶段compile-typescript-stageFROM base AS compile-typescript-stage WORKDIR /root COPY package*.json tsconfig.json ./ RUN npm install npx tsc --version COPY /src/*.ts src/ RUN npx tsc此阶段负责编译TypeScript源代码将src/目录下的.ts文件转换为JavaScript。关键源代码文件包括authenticate.ts认证相关逻辑get_release_url.ts获取Foundry VTT发布URLlogging.ts日志处理功能3. 最终镜像构建阶段final-stage最终阶段整合所有必要文件设置运行环境暴露30000端口并配置健康检查FROM base AS final-stage WORKDIR $HOME COPY --fromoptional-release-stage /root/dist/ . COPY --fromcompile-typescript-stage /root/dist/ . COPY package*.json src/*.sh ./ RUN mkdir -p resources /data chmod arwx resources /data EXPOSE 30000/tcp USER node ENTRYPOINT [./entrypoint.sh] CMD [resources/app/main.mjs, --port30000, --headless, --noupdate, --dataPath/data] HEALTHCHECK --start-period3m --interval30s --timeout5s CMD ./check_health.sh自定义构建参数与环境变量构建镜像时可通过--build-arg参数自定义关键配置参数名称描述默认值CONTAINER_VERSION容器版本14.363.0FOUNDRY_VERSIONFoundry VTT版本14.363NODE_IMAGE_VERSIONNode.js镜像版本24-trixie-slimNPM_VERSIONnpm版本11.12.1运行容器时可通过环境变量调整行为核心环境变量包括FOUNDRY_USERNAME和FOUNDRY_PASSWORD用于自动下载Foundry VTTFOUNDRY_LICENSE_KEY授权密钥FOUNDRY_ADMIN_KEY管理员访问密钥CONTAINER_CACHE设置缓存目录路径构建自定义镜像的完整步骤1. 基础构建命令使用以下命令构建默认配置的镜像docker build -t my-foundryvtt .2. 指定Foundry VTT版本如需构建特定版本的Foundry VTT服务器docker build --build-arg FOUNDRY_VERSION14.363 -t my-foundryvtt:14.363 .3. 包含预下载的Foundry VTT如果已手动下载Foundry VTT压缩包可通过FOUNDRY_RELEASE_URL参数指定本地文件路径docker build --build-arg FOUNDRY_RELEASE_URLfile:///path/to/foundryvtt-14.363.zip -t my-foundryvtt:local .4. 测试自定义镜像构建完成后使用Docker Compose测试镜像docker-compose up -d默认配置下服务器将在30000端口运行数据存储在项目的data/目录中。可通过修改compose.yml文件调整端口映射和数据卷配置。高级定制修改入口脚本与配置自定义启动行为入口脚本src/entrypoint.sh控制容器启动流程可根据需求修改以下关键功能权限检查逻辑100-126行缓存管理策略216-350行补丁应用机制352-386行许可证处理流程393-426行修改后需重新构建镜像使更改生效docker build -t my-foundryvtt:custom .添加自定义补丁项目支持通过CONTAINER_PATCHES环境变量指定补丁目录或通过CONTAINER_PATCH_URLS指定远程补丁URL。补丁文件将在Foundry VTT安装后自动应用。故障排除与最佳实践常见构建问题解决权限错误确保当前用户对data/目录有读写权限或通过chmod arwx data命令调整权限下载失败检查网络连接或手动下载Foundry VTT并使用本地文件构建版本不匹配确保FOUNDRY_VERSION与容器版本兼容可参考image_version.txt文件构建优化建议使用缓存设置CONTAINER_CACHE环境变量保存下载的Foundry VTT安装包加速后续构建减小镜像体积通过--no-cache参数避免缓存不必要的构建层多阶段构建保持Dockerfile的多阶段结构确保最终镜像只包含必要文件总结通过本指南你已掌握从源码构建foundryvtt-docker自定义镜像的完整流程。无论是调整基础环境版本、定制启动行为还是应用个性化补丁都能帮助你打造更符合需求的Foundry VTT服务器环境。项目提供了完善的测试框架tests/目录建议在修改核心功能后运行测试确保稳定性。如需进一步了解高级配置选项可参考项目文档或查看compose.yml中的注释说明。【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-docker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
foundryvtt-docker开发指南:从源码构建自定义镜像
foundryvtt-docker开发指南从源码构建自定义镜像【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-dockerfoundryvtt-docker是一个简单易用的容器化Foundry Virtual Tabletop服务器部署方案本文将详细介绍如何从源码构建自定义镜像帮助开发者根据自身需求定制专属的Foundry VTT服务器环境。准备工作环境与源码获取在开始构建自定义镜像前需要确保本地环境已安装Docker和Git工具。通过以下命令克隆项目源码git clone https://gitcode.com/gh_mirrors/fo/foundryvtt-docker cd foundryvtt-docker项目主要目录结构如下src/核心脚本和TypeScript源代码Dockerfile镜像构建配置文件compose.ymlDocker Compose配置示例patches/历史版本补丁文件tests/测试相关代码深入理解Dockerfile构建流程项目的Dockerfile采用多阶段构建策略主要包含三个阶段1. 基础构建阶段baseFROM public.ecr.aws/docker/library/node:${NODE_IMAGE_VERSION} AS base ARG NPM_VERSION RUN npm install -g npm${NPM_VERSION}该阶段基于Node.js官方镜像构建基础环境安装指定版本的npm包管理器。通过NODE_IMAGE_VERSION参数可灵活指定Node.js版本默认使用24-trixie-slim轻量级镜像。2. TypeScript编译阶段compile-typescript-stageFROM base AS compile-typescript-stage WORKDIR /root COPY package*.json tsconfig.json ./ RUN npm install npx tsc --version COPY /src/*.ts src/ RUN npx tsc此阶段负责编译TypeScript源代码将src/目录下的.ts文件转换为JavaScript。关键源代码文件包括authenticate.ts认证相关逻辑get_release_url.ts获取Foundry VTT发布URLlogging.ts日志处理功能3. 最终镜像构建阶段final-stage最终阶段整合所有必要文件设置运行环境暴露30000端口并配置健康检查FROM base AS final-stage WORKDIR $HOME COPY --fromoptional-release-stage /root/dist/ . COPY --fromcompile-typescript-stage /root/dist/ . COPY package*.json src/*.sh ./ RUN mkdir -p resources /data chmod arwx resources /data EXPOSE 30000/tcp USER node ENTRYPOINT [./entrypoint.sh] CMD [resources/app/main.mjs, --port30000, --headless, --noupdate, --dataPath/data] HEALTHCHECK --start-period3m --interval30s --timeout5s CMD ./check_health.sh自定义构建参数与环境变量构建镜像时可通过--build-arg参数自定义关键配置参数名称描述默认值CONTAINER_VERSION容器版本14.363.0FOUNDRY_VERSIONFoundry VTT版本14.363NODE_IMAGE_VERSIONNode.js镜像版本24-trixie-slimNPM_VERSIONnpm版本11.12.1运行容器时可通过环境变量调整行为核心环境变量包括FOUNDRY_USERNAME和FOUNDRY_PASSWORD用于自动下载Foundry VTTFOUNDRY_LICENSE_KEY授权密钥FOUNDRY_ADMIN_KEY管理员访问密钥CONTAINER_CACHE设置缓存目录路径构建自定义镜像的完整步骤1. 基础构建命令使用以下命令构建默认配置的镜像docker build -t my-foundryvtt .2. 指定Foundry VTT版本如需构建特定版本的Foundry VTT服务器docker build --build-arg FOUNDRY_VERSION14.363 -t my-foundryvtt:14.363 .3. 包含预下载的Foundry VTT如果已手动下载Foundry VTT压缩包可通过FOUNDRY_RELEASE_URL参数指定本地文件路径docker build --build-arg FOUNDRY_RELEASE_URLfile:///path/to/foundryvtt-14.363.zip -t my-foundryvtt:local .4. 测试自定义镜像构建完成后使用Docker Compose测试镜像docker-compose up -d默认配置下服务器将在30000端口运行数据存储在项目的data/目录中。可通过修改compose.yml文件调整端口映射和数据卷配置。高级定制修改入口脚本与配置自定义启动行为入口脚本src/entrypoint.sh控制容器启动流程可根据需求修改以下关键功能权限检查逻辑100-126行缓存管理策略216-350行补丁应用机制352-386行许可证处理流程393-426行修改后需重新构建镜像使更改生效docker build -t my-foundryvtt:custom .添加自定义补丁项目支持通过CONTAINER_PATCHES环境变量指定补丁目录或通过CONTAINER_PATCH_URLS指定远程补丁URL。补丁文件将在Foundry VTT安装后自动应用。故障排除与最佳实践常见构建问题解决权限错误确保当前用户对data/目录有读写权限或通过chmod arwx data命令调整权限下载失败检查网络连接或手动下载Foundry VTT并使用本地文件构建版本不匹配确保FOUNDRY_VERSION与容器版本兼容可参考image_version.txt文件构建优化建议使用缓存设置CONTAINER_CACHE环境变量保存下载的Foundry VTT安装包加速后续构建减小镜像体积通过--no-cache参数避免缓存不必要的构建层多阶段构建保持Dockerfile的多阶段结构确保最终镜像只包含必要文件总结通过本指南你已掌握从源码构建foundryvtt-docker自定义镜像的完整流程。无论是调整基础环境版本、定制启动行为还是应用个性化补丁都能帮助你打造更符合需求的Foundry VTT服务器环境。项目提供了完善的测试框架tests/目录建议在修改核心功能后运行测试确保稳定性。如需进一步了解高级配置选项可参考项目文档或查看compose.yml中的注释说明。【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-docker创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考