jafner/5etools-dockerThis is a simple image for hosting your own 5eTools instance. It is based on the Apache httpd image and uses components of the auto-updater script from the 5eTools wiki. This image is built from this GitHub repository.
Below we talk about how to install and configure the container.
You can quick-start this image by running:
mkdir -p ~/5etools-docker/htdocs && cd ~/5etools-docker curl -o docker-compose.yml [***] docker-compose up -d && docker logs -f 5etools-docker
Then give the container a few minutes to come online (it takes a while to pull the Github repository) and it will be accessible at localhost:8080.
When you stop the container, it will automatically delete itself. The downloaded files will remain in the ~/5etools-docker/htdocs directory, so you can always start the container back up by running docker-compose up -d.
By default, I assume you want to keep downloaded files, even if the container dies. And you want the downloaded files to be located at ~/5etools-docker/htdocs.
If you want the files to be located somewhere else on your system, change the left side of the volume mapping. For example, if I wanted to keep my files at ~/data/docker/5etools, the volume mapping would be:
volumes: - ~/data/docker/5etools:/usr/local/apache2/htdocs
Alternatively, you can have Docker or Compose manage your volume. (This makes adding homebrew practically impossible.)
Use a Compose-managed volume with:
... volumes: - 5etools-docker:/usr/local/apache2/htdocs ... volumes: 5etools-docker:
Or have the Docker engine manage the volume (as opposed to Compose). First, create the volume with docker volume create 5etools-docker, then add the following to your docker-compose.yml:
... volumes: - 5etools-docker:/usr/local/apache2/htdocs ... volumes: 5etools-docker: external: true
The image uses environment variables to figure out how you want it to run.
By default, I assume you want to automatically download the latest files from the Github mirror. Use the environment variables in the docker-compose.yml file to configure things.
Required unless OFFLINE_MODE=TRUE. Expects one of "TRUE", "FALSE" Where:
"TRUE" pulls from [] and adds [] as a submodule for image files. "FALSE" pulls from [***] without image files.
The get.5e.tools source has been down (redirecting to 5e.tools) during development. This method is not tested.
Optional. Expects "TRUE" to enable. Setting this to true tells the server to run from the local files if available, or exits if there is no local version.
During the image build process, we set the owner of the htdocs directory to 1000:1000 by default. If you need a different UID and GID to own the files, you can build the image from the source Dockerfile and pass the PUID and PGID variables as desired.
Supporting integration of a reverse proxy is beyond the scope of this guide.
However, any instructions which work for the base httpd (Apache) image, should also work for this, as it is minimally different.
To use auto-loading homebrew, you will need to use a host directory mapping as described above.
docker logs -f 5etools-docker.~/5etools-docker/htdocs:/usr/local/apache2/htdocs place your homebrew json files into the ~/5etools-docker/htdocs/homebrew/ folder, then add their filenames to the ~/5etools-docker/htdocs/homebrew/index.json file.
For example, if your homebrew folder contains:index.json 'Jafner; JafnerBrew Campaigns.json' 'Jafner; JafnerBrew Collection.json' 'Jafner; Legendary Tomes of Knowledge.json' 'KibblesTasty; Artificer (Revised).json'
Then your index.json should look like:
json{ "readme": [ "NOTE: This feature is designed for use in user-hosted copies of the site, and not for integrating \"official\" 5etools content.", "The \"production\" version of the site (i.e., not the development ZIP) has this feature disabled. You can re-enable it by replacing `IS_DEPLOYED = \"X.Y.Z\";` in the file `js/utils.js`, with `IS_DEPLOYED = undefined;`", "This file contains as an index for other homebrew files, which should be placed in the same directory.", "For example, add \"My Homebrew.json\" to the \"toImport\" array below, and have a valid JSON homebrew file in this (\"homebrew/\") directory." ], "toImport": [ "Jafner; JafnerBrew Collection.json", "Jafner; JafnerBrew Campaigns.json", "Jafner; Legendary Tomes of Knowledge.json", "KibblesTasty; Artificer (Revised).json" ] }
Note the commas after each entry except the last in each array. See the wiki page for more information.
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
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 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务