侧边栏壁纸
博主头像
云BLOG 博主等级

行动起来,活在当下

  • 累计撰写 318 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

docker pull linuxserver/homeassistant

已删除用户
2023-10-06 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

docker pull linuxserver/homeassistant

LinuxServer.io团队为您带来了另一个容器版本,其中包含

  • 定期及时更新应用程序

  • 简单的用户映射(PGID、PUID)

  • 带有 s6 覆盖层的自定义基础镜像

  • 每周更新基础操作系统,并在整个 LinuxServer.io 生态系统中使用通用层,以最大程度地减少空间使用、停机时间和带宽

  • 定期安全更新

找到我们:

  • 博客- 您可以使用我们的容器做的所有事情,包括操作指南、意见等等!

  • Discord - 与社区和团队实时支持/聊天。

  • 话语- 在我们的社区论坛上发帖。

  • Fleet - 一个在线网络界面,显示我们维护的所有图像。

  • GitHub - 查看我们所有存储库的源代码。

  • 开放集体- 请考虑通过捐赠或贡献我们的预算来帮助我们

linux服务器/家庭助理

Home Assistant Core - 开源家庭自动化,将本地控制和隐私放在首位。由全球修补匠和 DIY 爱好者社区提供支持。非常适合在 Raspberry Pi 或本地服务器上运行。

支持的架构

我们利用 docker 清单来实现多平台感知。更多信息可从此处的docker 和此处的公告获得。

只需拉动lscr.io/linuxserver/homeassistant:latest即可检索拱门的正确图像,但您也可以通过标签拉动特定的拱门图像。

该镜像支持的架构有:

建筑学

可用的

标签

x86-64

amd64-<版本标签>

ARM64

arm64v8-<版本标签>

臂氢夫

应用程序设置

该图像基于 Home Assistant Core。

Webui 可以在 找到http://your-ip:8123。按照向导设置 Home Assistant。

用法

以下是一些示例片段,可帮助您开始创建容器。

docker-compose(推荐,点击此处了解更多信息

---
version: "2.1"
services:
  homeassistant:
    image: lscr.io/linuxserver/homeassistant:latest
    container_name: homeassistant
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
    volumes:
      - /path/to/data:/config
    ports:
      - 8123:8123 #optional
    devices:
      - /path/to/device:/path/to/device #optional
    restart: unless-stopped

docker cli(点击此处了解更多信息

docker run -d \
  --name=homeassistant \
  --net=host \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Etc/UTC \
  -p 8123:8123 `#optional` \
  -v /path/to/data:/config \
  --device /path/to/device:/path/to/device `#optional` \
  --restart unless-stopped \
  lscr.io/linuxserver/homeassistant:latest

主机与桥接器

Home Assistant 可以发现并自动配置 网络上的Zeroconf / mDNSUPnP设备。为了使其工作,您必须使用--net=host.

参数

容器镜像是使用运行时传递的参数(如上面的参数)进行配置的。这些参数用冒号分隔并<external>:<internal>分别表示。例如,-p 8080:80将公开容器内部的端口,以便可以从容器外部80端口上的主机 IP 进行访问。8080

范围

功能

--net=host

与容器共享主机网络。Home Assistant 发现某些设备所必需的。

-p 8123

应用程序 WebUI,仅当您不使用主机模式时才使用它。

-e PUID=1000

对于 UserID - 请参阅下面的说明

-e PGID=1000

对于 GroupID - 请参阅下面的说明

-e TZ=Etc/UTC

指定要使用的时区,请参阅此列表

-v /config

Home Assistant配置存储路径。

--device /path/to/device

用于通过 USB、串行或 gpio 设备。

文件中的环境变量(Docker 秘密)

您可以使用特殊的 prepend 从文件中设置任何环境变量FILE__

举个例子:

-e FILE__PASSWORD=/run/secrets/mysecretpassword

PASSWORD将根据文件的内容设置环境变量/run/secrets/mysecretpassword

用于运行应用程序的 Umask

对于我们的所有镜像,我们提供了使用可选设置覆盖容器内启动的服务的默认 umask 设置的功能-e UMASK=022。请记住,umask 不是 chmod,它根据它不添加的值从权限中减去。在寻求支持之前,请先阅读此处。

用户/组标识符

当使用卷(-v标志)时,主机操作系统和容器之间可能会出现权限问题,我们通过允许您指定用户PUID和组来避免此问题PGID

确保主机上的所有卷目录都属于您指定的同一用户,并且任何权限问题都会像魔术一样消失。

在这种情况PUID=1000PGID=1000,要找到您的使用方式,id user如下所示:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Docker 模组

我们发布了各种Docker Mod以在容器内启用附加功能。可通过上面的动态徽章访问该图像可用的 Mod 列表(如果有)以及可应用于我们任何一个图像的通用 Mod。

支持信息

  • 容器运行时的 shell 访问:docker exec -it homeassistant /bin/bash

  • 实时监控容器的日志:docker logs -f homeassistant

  • 容器版本号

    • docker inspect -f '{{ index .Config.Labels "build_version" }}' homeassistant

  • 镜像版本号

    • docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/homeassistant:latest

更新信息

我们的大多数图像都是静态的、版本化的,并且需要图像更新和容器重新创建来更新内部的应用程序。除了一些例外(即 nextcloud、plex),我们不建议或支持更新容器内的应用程序。请参阅上面的“应用程序设置”部分,了解是否建议将其用于图像。

以下是更新容器的说明:

通过 Docker 撰写

  • 更新所有图像:docker-compose pull

    • 或更新单个图像:docker-compose pull homeassistant

  • 让 compose 根据需要更新所有容器:docker-compose up -d

    • 或更新单个容器:docker-compose up -d homeassistant

  • 您还可以删除旧的悬空图像:docker image prune

通过 Docker 运行

  • 更新图像:docker pull lscr.io/linuxserver/homeassistant:latest

  • 停止正在运行的容器:docker stop homeassistant

  • 删除容器:docker rm homeassistant

  • 按照上面的说明,使用相同的 docker 运行参数重新创建一个新容器(如果正确映射到主机文件夹,您的/config文件夹和设置将被保留)

  • 您还可以删除旧的悬空图像:docker image prune

通过 Watchtower 自动更新程序(仅在您不记得原始参数时使用)

  • 在其标签处拉取最新镜像,并在一次运行中将其替换为相同的环境变量:

    docker run --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower \
    --run-once homeassistant
    
  • 您还可以删除旧的悬空图像:docker image prune

注意:我们不认可使用 Watchtower 作为现有 Docker 容器自动更新的解决方案。事实上,我们通常不鼓励自动更新。然而,这是一个有用的工具,可以在您忘记原始参数的情况下一次性手动更新容器。从长远来看,我们强烈建议使用Docker Compose

镜像更新通知 - Diun(Docker 镜像更新通知程序)

  • 我们推荐Diun来获取更新通知。不推荐也不支持其他在无人值守的情况下自动更新容器的工具。

本地建设

如果您想出于开发目的或只是为了自定义逻辑而对这些图像进行本地修改:

git clone https://github.com/linuxserver/docker-homeassistant.git
cd docker-homeassistant
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/homeassistant:latest .

ARM 变体可以使用以下命令在 x86_64 硬件上构建multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

注册后,您可以定义要与-f Dockerfile.aarch64.

版本

  • 05.07.23: - 弃用 armhf。正如此处宣布的

  • 23.06.21: - 固定 pycups 版本。

  • 14.06.23:/config -为 pip 安装创建辅助 venv 。

  • 07.06.23: - 重新调整基准至 alpine 3.18,切换至 cp311 轮子。

  • 23.05.03: - 弃用arm32v7。具有arm32v7版本的最新HA版本是2023.4.6.

  • 16.11.22: - 修复谷歌日历的 dep 冲突。

  • 22.09.23: - 迁移到 s6v3。

  • 22.07.29: - 改进 USB 设备权限修复。

  • 22 年 7 月 7 日: - 重新调整基准至 alpine 3.16,切换至 cp310 车轮。

  • 07.05.22: - 使用与 HA 要求相同的 Numpy 版本构建 matplotlib。

  • 22.03.31: - 安装 pycups。

  • 22 年 3 月 7 日: - 安装 PySwitchbot。

  • 02.03.22: - 更新 pip 并使用旧版解析器,清理临时 python 文件,减小图像大小。

  • 04.02.22: - 由于 pypi 只推动 glibc 轮子,因此始终在 arm32v7 上编译 grpcio。

  • 12.12.21: - 使用新的build.yaml确定 HA 基础版本。

  • 21.09.25: - 使用新的 lsio homeassistant 轮子存储库,而不是 HA 轮子。

  • 13.09.21: - 在本地构建 psycopg,因为 HA 提供的轮子似乎无法正常工作。

  • 21.09.21: - 修复了服务中的 setcap。在本地构建 CISO8601,因为 HA 提供的轮子似乎无法正常工作。

  • 12.09.21: - 重新设置为高山 3.14。基于本机 armhf 构建。

  • 09.08.21: -修复了由于缺少依赖项而导致的构建损坏。

  • 01.07.21: - 删除 HACS 依赖项,因为它导致 Home-assistant 崩溃。

  • 25.02.21: - 从 homeassistant 基础映像添加 python 依赖项。

  • 07.02.21: - 修复了从错误的需求文件构建的问题。添加 ssh 客户端和外部数据库库。

  • 06.02.21: - 添加 iputils,以便 ping 以非 root 用户身份运行。

  • 21.01.30: - 初始版本。

0

评论区