
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
https://cloud.drone.io/dashi-dashboard/Dashi https://hub.docker.com/r/dashidashboard/dashi
Dashi is a config driven, application dashboard SPA (Single Page Application) built with a Go API backend and a Flutter frontend, bundled up into a docker container for good measure.
In order to run this container you'll need docker installed.
To build Dashi, simply run:
bashdocker build \ --tag dashi:latest \ -f packaging/Dockerfile \ .
To run Dashi with a config:
bashdocker run -d \ -p 8443:8443 \ -v "${PWD}/config.toml":/config.toml \ --name dashi \ dashidashboard/dashi:latest
To run Dashi with a config and Icons
bashdocker run -d \ -p 8443:8443 \ -v "${PWD}/images/":/app/frontend/assets/images/ \ -v "${PWD}/config.toml":/config.toml \ --name dashi \ dashidashboard/dashi:latest
Dashi is split over three docker images:
The frontend and backend images are built for the amd64 architecture and can be pulled with the following:
Frontend:
docker pull dashidashboard/dashi:frontend
Backend:
docker pull dashidashboard/dashi:backend
The full stack container is build for all officially supported docker architectures and can be retrieved with the following command
Full Stack:
docker pull dashidashboard/dashi:latest
When pulling you may specify a version down to each https://semver.org/. for example:
Major Verison:
docker pull dashidashboard/dashi:1
Minor Version:
docker pull dashidashboard/dashi:1.2
Patch Version:
docker pull dashidashboard/dashi:1.2.4
Config for Dashi is driven by https://github.com/toml-lang/toml
Apps are configured as a toml map. If you have apps that you want to only be accessible to certain users, you can assign one or more roles under the access_roles key. If set, only users who have their role set to one of the roles listed will be able to see the app in the dashboard. If you do not set access_roles the app will be viewable to everyone including anonymous users.
toml[Apps] [Apps."<APP NAME>"] url="<APP URL>" tag="<TAG>" enable_api=false icon="images/<ICON PATH>.png" color="#ffffff" access_roles=["<ROLE NAME 1>", "<ROLE NAME 2>"]
Global dashboard configuration is described under the Dashboard section. Here you can control overall looks of the dashboard such as background images.
toml[Dashboard] background="#D7D9CE" background_image="images/background.png"
Users can be added to Dashi by adding one or more user entries. The password should be a bcrypt hash of the password. This can be generated through the provided Dashi UI, third party sites, or any other method of generating bcrypt hashes. Adding a role to a user will allow them to see restricted apps which have their role listed.
toml[[Users]] name = "myusername" password = "$2y$12$IeDH28Rgta36lZ.JEhI.qeqky3OTxMM806jhmm4rI91Peg91OLqhi" # mypassword bcrypt'ed role = "myrole" [[Users]] name = "mysecondusername" role = "differentrole"
There are also some global configuration options. The most important of which for authentication is jwt_key which must be set. jwt_key should be set to a random 32 character string. This can be generated on linux with openssl rand -base64 22. On windows, or for those not comfortable with the command line, we recommend using the Lastpass password generator. Changing this value will log out all currently logged in users.
Below is a full example configuration file with any options not previously discussed commented.
tomljwt_key = "zTvGErBLHJ0lc3CbxmB7gPU8Vo1ihg==" # control the bcrypt cost factor used by UI hash generator. # https://wildlyinaccurate.com/bcrypt-choosing-a-work-factor/ # Defaults to 10. password_hash_cost = 10 # Time (in minutes) each login should be valid for. # Defaults to 60. login_timeout = 60 # Enables debug output in the console. Mostly useful for bug reports and developers. # Defaults to false. enable_debug = false [Apps] [Apps."My App Name"] url="http://127.0.0.1" tag="mytag" enable_api=false [Apps."My Restricted App Name"] url="http://127.0.0.1" tag="mytag" access_roles=["myrole"] enable_api=false [[Users]] name = "myusername" password = "$2y$12$IeDH28Rgta36lZ.JEhI.qeqky3OTxMM806jhmm4rI91Peg91OLqhi" # mypassword bcrypt'ed role = "myrole" [[Users]] name = "mysecondusername" role = "differentrole"
If you wish to add your own icon into the path inside the container to ***d is:
/app/frontend/assets/images/
You can then use the icon option in the toml config with image/<icon file>.
mounting with a sub directory would have the same effect such as:
/app/frontend/assets/images/extras
You would reference this in the config like
icon="images/extras/<ICON PATH>.png"
This project uses the following license:
https://choosealicense.com/licenses/mit/
See LICENSE.md for more information.
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务