foundryvtt-docker配置终极指南:环境变量与 secrets 全解析
【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-docker
Foundry Virtual Tabletop 是一款功能强大的虚拟桌面角色扮演游戏平台,而foundryvtt-docker项目为它提供了容器化的部署方案。对于想要快速搭建自己游戏服务器的用户来说,掌握环境变量与 secrets 的正确配置是成功部署的关键。本指南将详细介绍如何通过环境变量和 Docker secrets 安全、高效地配置你的 Foundry VTT 容器服务器。
📋 为什么需要环境变量配置?
环境变量是配置 Docker 容器最灵活的方式。通过环境变量,你可以:
- 安全地传递敏感信息(如密码、API密钥)
- 动态调整容器行为而无需修改镜像
- 实现配置的版本控制(通过 docker-compose.yml)
- 简化部署流程,特别是云环境部署
🔑 核心环境变量配置
必需的环境变量组合
foundryvtt-docker 提供了三种认证方式,按优先级顺序如下:
- 临时下载 URL 方式:使用
FOUNDRY_RELEASE_URL - 账号密码认证:使用
FOUNDRY_USERNAME和FOUNDRY_PASSWORD - 本地缓存方式:使用
CONTAINER_CACHE
基础配置示例
最简单的 Docker 运行命令:
docker run \ --env FOUNDRY_USERNAME='你的用户名' \ --env FOUNDRY_PASSWORD='你的密码' \ --publish 30000:30000/tcp \ --volume ./data:/data \ ghcr.io/felddy/foundryvtt:14🛡️ 安全配置:使用 Docker Secrets
对于生产环境,强烈建议使用 Docker secrets 来保护敏感信息。Secrets 比环境变量更安全,因为它们:
- 不会出现在容器日志中
- 不会在
docker inspect中可见 - 可以单独管理访问权限
Secrets 配置文件
创建secrets.json文件:
{ "foundry_admin_key": "你的管理员密码", "foundry_password": "你的账号密码", "foundry_username": "你的用户名" }Docker Compose 集成
在compose.yml中配置 secrets:
services: foundry: image: ghcr.io/felddy/foundryvtt:release secrets: - source: config_json target: config.json secrets: config_json: file: secrets.json⚙️ 高级环境变量详解
性能优化配置
| 变量名 | 作用 | 默认值 |
|---|---|---|
CONTAINER_CACHE | 设置缓存路径,加速后续容器启动 | /data/container_cache |
CONTAINER_CACHE_SIZE | 缓存中保留的最大版本数 | 无限制 |
FOUNDRY_COMPRESS_WEBSOCKET | 启用 WebSocket 数据压缩 | false |
FOUNDRY_MINIFY_STATIC_FILES | 压缩静态文件减少网络流量 | false |
网络与安全配置
| 变量名 | 作用 | 默认值 |
|---|---|---|
FOUNDRY_PROXY_SSL | 启用反向代理 SSL 支持 | false |
FOUNDRY_PROXY_PORT | 反向代理端口配置 | 30000 |
FOUNDRY_SSL_CERT | SSL 证书路径 | 无 |
FOUNDRY_SSL_KEY | SSL 私钥路径 | 无 |
应用行为控制
| 变量名 | 作用 | 默认值 |
|---|---|---|
FOUNDRY_WORLD | 启动时自动加载的世界 | 无 |
FOUNDRY_LANGUAGE | 应用界面语言 | en.core |
FOUNDRY_TELEMETRY | 启用匿名使用数据收集 | 用户选择 |
FOUNDRY_ADMIN_KEY | 管理员密码 | 无 |
🔧 实用配置技巧
技巧1:使用临时下载URL
如果你不想在配置中存储账号密码,可以使用临时下载URL:
- 登录 Foundry VTT 官网
- 在"已购买软件许可"页面选择"Node.js"操作系统
- 点击"🔗 临时URL"按钮获取链接
- 使用
FOUNDRY_RELEASE_URL环境变量
技巧2:缓存管理优化
设置缓存大小限制,避免磁盘空间耗尽:
environment: - CONTAINER_CACHE=/data/container_cache - CONTAINER_CACHE_SIZE=3 # 只保留3个最新版本技巧3:自定义补丁系统
通过CONTAINER_PATCHES和CONTAINER_PATCH_URLS可以在安装后应用自定义补丁:
environment: - CONTAINER_PATCHES=/data/container_patches - CONTAINER_PATCH_URLS=https://example.com/patch1.sh https://example.com/patch2.sh🚀 最佳实践推荐
生产环境配置示例
version: '3.8' services: foundry: image: ghcr.io/felddy/foundryvtt:release hostname: foundry-server volumes: - ./data:/data - ./container_patches:/data/container_patches environment: - FOUNDRY_RELEASE_URL=${FOUNDRY_RELEASE_URL} - FOUNDRY_ADMIN_KEY=${ADMIN_PASSWORD} - FOUNDRY_TELEMETRY=true - CONTAINER_CACHE=/data/container_cache - CONTAINER_CACHE_SIZE=5 - FOUNDRY_COMPRESS_WEBSOCKET=true - FOUNDRY_MINIFY_STATIC_FILES=true - FOUNDRY_PROXY_SSL=true - FOUNDRY_PROXY_PORT=443 - TZ=Asia/Shanghai ports: - "30000:30000" restart: unless-stopped安全建议
- 永远不要在代码中硬编码密码
- 使用 .env 文件管理环境变量
- 定期轮换管理员密码
- 启用 SSL/TLS 加密
- 设置适当的文件权限
🐛 常见问题排查
问题1:容器启动失败
可能原因:缺少必需的环境变量解决方案:确保设置了以下组合之一:
FOUNDRY_USERNAME+FOUNDRY_PASSWORDFOUNDRY_RELEASE_URLCONTAINER_CACHE指向有效缓存目录
问题2:许可证无法应用
可能原因:许可证密钥格式错误或过期解决方案:
- 检查许可证密钥格式:
AAAA-BBBB-CCCC-DDDD-EEEE-FFFF - 确认账号有有效许可证
- 尝试使用临时URL方式
问题3:性能问题
可能原因:未启用性能优化选项解决方案:
- 启用
FOUNDRY_COMPRESS_WEBSOCKET=true - 启用
FOUNDRY_MINIFY_STATIC_FILES=true - 使用
CONTAINER_CACHE减少下载时间
📚 进一步学习资源
- 查看完整的 环境变量文档
- 学习 Docker Compose 最佳实践
- 探索 高级配置选项
💡 总结
掌握 foundryvtt-docker 的环境变量与 secrets 配置是成功部署虚拟桌面服务器的关键。通过合理使用环境变量,你可以实现灵活的配置管理;通过 Docker secrets,你可以确保敏感信息的安全性。记住,良好的配置不仅能提升服务器性能,还能增强系统安全性。
现在你已经掌握了 foundryvtt-docker 的完整配置知识,可以自信地部署和管理你自己的 Foundry Virtual Tabletop 服务器了!🎮
提示:始终在非生产环境测试配置变更,并定期备份重要数据。
【免费下载链接】foundryvtt-dockerAn easy-to-deploy containerized Foundry Virtual Tabletop server.项目地址: https://gitcode.com/gh_mirrors/fo/foundryvtt-docker
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考