专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

mbround18/foundryvtt-docker Docker 镜像 - 轩辕镜像

foundryvtt-docker
mbround18/foundryvtt-docker
FoundryVTT的Docker镜像,需激活许可证,用于部署虚拟桌面游戏平台,支持本地运行与Kubernetes部署,提供数据持久化方案,方便快速搭建和管理FoundryVTT实例。
0 次下载activembround18镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

FoundryVTT Docker镜像文档

镜像概述和主要用途

本Docker镜像用于部署FoundryVTT虚拟桌面游戏平台。使用前需获取并激活FoundryVTT许可证,可通过官方购买页面获取。该镜像支持本地环境快速部署和Kubernetes集群部署,提供数据持久化存储方案,适用于个人或团队搭建虚拟桌面游戏环境。

核心功能和特性

  • 多环境支持:兼容本地Docker运行和Kubernetes集群部署
  • 数据持久化:通过卷挂载实现游戏数据持久化存储
  • 灵活配置:支持环境变量自定义主机名、端口、SSL代理等参数
  • 扩展能力:Kubernetes部署中集成SFTP服务,便于文件系统管理
  • 安全支持:Kubernetes部署可配置TLS加密,保障数据传输安全

使用场景和适用范围

  • 个人用户本地搭建FoundryVTT游戏服务器
  • 小型团队通过Kubernetes集群部署高可用的FoundryVTT服务
  • 需要持久化存储游戏数据和配置的场景
  • 希望通过域名和SSL安全访问的生产环境部署

使用方法和配置说明

本地部署
基本本地运行

通过以下命令快速启动临时实例(容器停止后数据不保留):

sh
docker run --rm -p 4444:4444 -e HOSTNAME="127.0.0.1" -e SSL_PROXY="false" mbround18/foundryvtt-docker:latest
带数据持久化的本地运行

使用卷挂载实现数据持久化(如需后台运行,将--rm替换为-d):

sh
docker run --rm \
    -p 4444:4444 \
    -e HOSTNAME="127.0.0.1" \
    -e SSL_PROXY="false" \
    -v ${PWD}/data:/foundrydata \
    mbround18/foundryvtt-docker:latest

启动后访问 [***] 即可进入平台。

本地部署后配置步骤
  1. 访问 http://localhost:4444/uploader
  2. 在新标签页打开FoundryVTT官网的已购许可证页面
  3. 点击许可证旁的链接图标获取临时下载链接
  4. 返回上传页面,粘贴临时链接并点击提交
  5. 完成后访问 http://localhost:4444/ 进入FoundryVTT设置界面
Kubernetes部署
前提条件
  • 已部署Kubernetes集群(推荐k3s,参考k3s.io)
  • 已安装kubectl并配置集群访问权限
  • 拥有FoundryVTT激活许可证
  • (可选)域名和DNS管理权限(用于HTTPS访问)
部署步骤
  1. 创建命名空间

    创建foundryvtt命名空间,用于隔离资源:

    ${PWD}/00-namespace.yml

    yaml
    ---
    apiVersion: v1
    kind: Namespace
    metadata:
      name: foundryvtt
      labels:
        name: foundryvtt
    
  2. 创建持久卷声明

    申请持久化存储(示例配置适用于k3s默认的local-path存储类):

    ${PWD}/01-persisted-volume-claim.yml

    yaml
    ---
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: foundryvtt-data-pv-claim
      namespace: foundryvtt
    spec:
      storageClassName: local-path
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 40G
    
  3. 部署配置

    部署文件包含FoundryVTT主服务和SFTP服务(用于文件管理):

    ${PWD}/02-deployment.yml

    yaml
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      namespace: foundryvtt
      name: foundryvtt
      labels:
        app: foundryvtt
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: foundryvtt
      template:
        metadata:
          labels:
            app: foundryvtt
        spec:
          containers:
            - name: foundryvtt-web
              image: mbround18/foundryvtt-docker:latest
              env:
                - name: APPLICATION_HOST
                  valueFrom:
                    secretKeyRef:
                      name: foundryvtt-env
                      key: APPLICATION_HOST
                - name: APPLICATION_PORT
                  value: "4444"
                - name: SSL_PROXY
                  value: "true"
              ports:
                - name: web
                  containerPort: 4444
              volumeMounts:
                - name: foundryvtt-data-persistent-storage
                  mountPath: /foundrydata
            - name: foundryvtt-ftp
              image: atmoz/sftp
              env:
                - name: FTP_USER
                  value: gm
                - name: FTP_PASS
                  valueFrom:
                    secretKeyRef:
                      name: foundryvtt-env
                      key: FTP_PASS
              args: ["$(FTP_USER):$(FTP_PASS):1001:95687:foundryvtt-data"]
              ports:
                - name: sftp
                  containerPort: 22
              volumeMounts:
                - name: foundryvtt-data-persistent-storage
                  mountPath: /home/gm/foundryvtt-data
          volumes:
            - name: foundryvtt-data-persistent-storage
              persistentVolumeClaim:
                claimName: foundryvtt-data-pv-claim
    

    注意:

    • SFTP服务首次登录后可能需要调整文件权限以支持读写
    • 当前SFTP配置需要节点独立IP,暂不支持通过ingress和域名访问
  4. 创建环境变量配置

    在secrets目录创建环境变量文件:

    ${PWD}/secrets/env.txt

    txt
    APPLICATION_HOST=your.domain  # 替换为你的域名
    FTP_PASS=changeme             # 替换为SFTP密码
    
  5. 创建服务

    定义Web服务和SFTP服务的访问方式:

    ${PWD}/03-web-service.yml

    yaml
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: foundryvtt-web
      labels:
        name: foundryvtt-web
      namespace: foundryvtt
    spec:
      selector:
        app: foundryvtt
      ports:
        - name: web
          port: 80
          targetPort: 4444
    ---
    apiVersion: v1
    kind: Service
    metadata:
      name: foundryvtt-ftp
      labels:
        name: foundryvtt-ftp
      namespace: foundryvtt
    spec:
      type: NodePort
      selector:
        app: foundryvtt
      externalIPs:
        - xx.xx.xx.xx  # 替换为节点IP
      ports:
        - port: 2222
          targetPort: 22
    
  6. 配置Ingress

    (适用于k3s默认的traefik ingress控制器):

    ${PWD}/04-ingress.yml

    yaml
    ---
    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: foundryvtt
      namespace: foundryvtt
      annotations:
        kubernetes.io/ingress.class: traefik
    spec:
      rules:
        - host: your.domain  # 替换为你的域名
          http:
            paths:
              - backend:
                  serviceName: foundryvtt-web
                  servicePort: web
      tls:
        - secretName: foundryvtt-web-tls-cert
    
  7. 创建kustomization配置

    整合所有资源和密钥:

    ${PWD}/kustomization.yml

    yaml
    ---
    apiVersion: kustomize.config.k8s.io/v1beta1
    kind: Kustomization
    namespace: foundryvtt
    commonLabels:
      app: foundryvtt
    resources:
      - 00-namespace.yml
      - 01-persisted-volume-claim.yml
      - 02-deployment.yml
      - 03-web-service.yml
      - 04-ingress.yml
    secretGenerator:
      - name: foundryvtt-env
        env: secrets/env.txt
        type: Opaque
      - name: foundryvtt-web-tls-cert
        files:
          - secrets/tls.crt
          - secrets/tls.key
        type: "kubernetes.io/tls"
    
  8. 生成TLS证书

    在secrets目录生成自签名证书(生产环境建议使用Let's Encrypt):

    sh
    openssl req -new -newkey rsa:4096 -nodes -keyout secrets/tls.key -out secrets/tls.crt
    

    按提示填写信息,生成后会在secrets目录创建tls.key和tls.crt文件。

  9. 配置DNS

    在DNS提供商(如CloudFlare)将域名解析至集群节点IP,可使用CNAME指向根域名或A记录直接指向节点IP。

  10. 部署应用

    执行以下命令部署所有资源:

    sh
    kubectl apply -k .
    
  11. 等待部署完成

    部署过程需几分钟,可通过kubectl get pods -n foundryvtt查看状态,当Pod状态为Running时表示部署完成。

Kubernetes部署后配置步骤
  1. 访问 [***](替换为你的域名)
  2. 登录FoundryVTT官网,进入已购许可证页面
  3. 获取许可证临时下载链接并粘贴至上传页面
  4. 点击提交,显示"Completed!!"后访问 [***]
  5. 按常规流程完成FoundryVTT初始化设置

环境变量说明

环境变量说明默认值
HOSTNAME服务绑定的主机名无
APPLICATION_HOSTKubernetes部署中的域名无
APPLICATION_PORT服务端口4444
SSL_PROXY是否启用SSL代理false
FTP_USERSFTP服务用户名gm
FTP_PASSSFTP服务密码无(需通过secret配置)
查看更多 foundryvtt-docker 相关镜像 →
docker/dockerfile logo
docker/dockerfile
by Docker, Inc.
认证
这些是官方提供的Dockerfile前端镜像,主要功能是支持通过BuildKit构建Dockerfile,作为构建流程中的关键前端工具,能够有效配合BuildKit提升Dockerfile的构建效率、安全性与灵活性,为开发者提供官方认可的标准化构建方案,适用于各类基于Docker的应用开发与部署场景,确保构建过程的稳定可靠及操作便捷性。
123500M+ pulls
上次更新:2 个月前
docker/dockerfile-copy logo
docker/dockerfile-copy
by Docker, Inc.
认证
此Docker镜像已被弃用。
150M+ pulls
上次更新:7 年前
docker/docker-model-backend-llamacpp logo
docker/docker-model-backend-llamacpp
by Docker, Inc.
认证
暂无描述
110M+ pulls
上次更新:1 个月前
docker/welcome-to-docker logo
docker/welcome-to-docker
by Docker, Inc.
认证
供Docker新手入门使用的Docker镜像。
701M+ pulls
上次更新:5 个月前
docker/docker-mcp-cli-desktop-module logo
docker/docker-mcp-cli-desktop-module
by Docker, Inc.
认证
暂无描述
5M+ pulls
上次更新:6 天前
docker/desktop-docker-debug-service logo
docker/desktop-docker-debug-service
by Docker, Inc.
认证
暂无描述
5M+ pulls
上次更新:1 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
mbround18/foundryvtt-docker
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429