linuxserver/heimdallLinuxServer.io 团队专注于提供高质量 Docker 容器,其容器具有以下特点:
Heimdall 是一款轻量工具,用于集中管理常用网站和 Web 应用链接。其核心设计理念是简洁,可作为浏览器起始页,还支持集成 Google、Bing 或 DuckDuckGo 搜索栏。
!heimdall
容器通过 Docker manifest 实现多平台支持,拉取 lscr.io/linuxserver/heimdall:latest 即可自动匹配对应架构,也可通过标签指定:
| 架构 | 支持状态 | 标签格式 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
容器提供以下标签,请注意开发版可能不稳定:
| 标签 | 支持状态 | 说明 |
|---|---|---|
| latest | ✅ | Heimdall 稳定版发行版 |
| development | ✅ | GitHub 2.x 分支的最新提交版本 |
通过 `[***] 访问 Web 界面。
容器支持通过 htpasswd 实现密码保护,步骤如下:
<username> 为自定义用户名,按提示输入密码):
bashdocker exec -it heimdall htpasswd -c /config/nginx/.htpasswd <username>
/config/nginx/site-confs/default.conf,取消 basic auth 相关行的注释。可通过 docker-compose(推荐)或 docker cli 启动容器。
[!NOTE]
除非标记为“可选”,否则所有参数均为必填项。
yaml--- services: heimdall: image: lscr.io/linuxserver/heimdall:latest container_name: heimdall environment: - PUID=1000 # 用户ID(见下方说明) - PGID=1000 # 组ID(见下方说明) - TZ=Etc/UTC # 时区(如 Asia/Shanghai) - ALLOW_INTERNAL_REQUESTS=false # 可选:是否允许内网IP请求(默认禁止) volumes: - /path/to/heimdall/config:/config # 主机配置文件路径映射 ports: - 80:80 # HTTP端口 - 443:443 # HTTPS端口 restart: unless-stopped
bashdocker run -d \ --name=heimdall \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -e ALLOW_INTERNAL_REQUESTS=false `# 可选` \ -p 80:80 \ -p 443:443 \ -v /path/to/heimdall/config:/config \ --restart unless-stopped \ lscr.io/linuxserver/heimdall:latest
| 参数 | 作用说明 |
|---|---|
-p 80:80 | HTTP 访问端口映射 |
-p 443:443 | HTTPS 访问端口映射 |
-e PUID=1000 | 用户ID,用于解决权限问题(通过 id your_user 命令获取) |
-e PGID=1000 | 组ID,同上 |
-e TZ=Etc/UTC | 时区,参考 时区列表 |
-e ALLOW_INTERNAL_REQUESTS=false | 是否允许访问内网IP(未暴露公网或已认证的实例可设为 true) |
-v /config | 配置文件持久化目录 |
支持通过文件传递环境变量,格式为 FILE__变量名=文件路径,例如:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable
变量值将从 /run/secrets/mysecretvariable 文件读取。
可通过 -e UMASK=022 覆盖默认 umask(权限掩码),请注意 umask 是权限减法而非加法,详情参考 umask 说明。
挂载卷时,主机与容器可能出现权限冲突。通过指定 PUID/PGID(与主机用户一致)可避免该问题。使用 id your_user 命令获取当前用户的 UID/GID:
bashid your_user # 示例输出:uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
可通过 Docker Mods 扩展容器功能,支持 Heimdall 专用 Mod 和通用 Mod。
bashdocker exec -it heimdall /bin/bash
bashdocker logs -f heimdall
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/heimdall:latest
容器需通过更新镜像并重建来升级应用,以下是具体步骤:
bash# 更新所有镜像 docker-compose pull # 仅更新 Heimdall docker-compose pull heimdall
bash# 重启所有容器 docker-compose up -d # 仅重启 Heimdall docker-compose up -d heimdall
bashdocker image prune
bashdocker pull lscr.io/linuxserver/heimdall:latest
bashdocker stop heimdall && docker rm heimdall
/config 中,会自动保留)bashdocker image prune
推荐使用 Diun 监控镜像更新,不建议使用自动更新工具。
如需修改镜像源码:
bashgit clone [***] cd docker-heimdall docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/heimdall:latest .
跨架构构建(如 x86_64 构建 ARM)需先注册 QEMU:
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
然后使用对应架构的 Dockerfile(如 -f Dockerfile.aarch64)。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务