Compare commits

...

76 commits
1.2.2 ... main

Author SHA1 Message Date
53f02b054b Aggiorna README.md 2025-01-22 22:33:04 +08:00
05589ace02 Cari file su "/" 2025-01-22 22:30:50 +08:00
334571dfda Aggiorna README.md 2025-01-22 22:25:01 +08:00
82112b21af Aggiorna README.md 2025-01-22 22:23:56 +08:00
04b37541f6 Aggiorna README.md 2025-01-22 22:23:13 +08:00
77371e0157 Aggiorna README.md 2025-01-22 22:19:55 +08:00
ebf3df4952 Aggiorna README.md 2025-01-22 22:14:55 +08:00
c3b850ec4a Aggiorna README.md 2025-01-22 22:14:36 +08:00
cc2e332953 Aggiorna README.md 2025-01-22 22:10:22 +08:00
dependabot[bot]
4ce4bad3fa
Bump actions/checkout from 4.2.1 to 4.2.2 (#386) 2024-10-28 15:20:44 +01:00
dependabot[bot]
c714207423
Bump actions/checkout from 4.2.0 to 4.2.1 (#385)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 09:17:44 +02:00
Matheson Steplock
f52ff8259e
Drop Debian Bullseye (#382) 2024-10-09 09:29:37 +02:00
Darren Griffin
1292ab7372
Add OHF logo to README (#380) 2024-09-30 18:37:51 +02:00
dependabot[bot]
f9375b5593
Bump actions/checkout from 4.1.7 to 4.2.0 (#379)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 09:06:24 +02:00
Stefan Agner
05592309e6
Add note about NetworkManager managed interface (#375) 2024-08-12 21:55:31 +02:00
Viacheslav Bocharov
a140122c6c
Fix check online in DEBIAN/postinst from ping to curl (#370)
* Fix check online in DEBIAN/postinst from ping to curl

In some virtual machines ping sockets may be disabled, but curl works good.

Signed-off-by: Viacheslav Bocharov <adeep@lexina.in>

* Update URL_CHECK_ONLINE to https://checkonline.home-assistant.io/online.txt

---------

Signed-off-by: Viacheslav Bocharov <adeep@lexina.in>
2024-06-21 14:15:46 +02:00
dependabot[bot]
6669bf6aca
Bump actions/checkout from 4.1.6 to 4.1.7 (#371)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.6...v4.1.7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-17 09:07:17 +02:00
Matheson Steplock
c7848eec49
Reorganize dependencies (#368) 2024-05-23 10:43:43 +02:00
dependabot[bot]
ec41ff48be
Bump actions/checkout from 4.1.5 to 4.1.6 (#367) 2024-05-20 09:05:34 +02:00
dependabot[bot]
8b1d7a3656
Bump actions/checkout from 4.1.4 to 4.1.5 (#365)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 09:10:59 +02:00
dependabot[bot]
9afc7a625e
Bump actions/checkout from 4.1.3 to 4.1.4 (#362)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.3...v4.1.4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 09:04:01 +02:00
dependabot[bot]
f1ee897da5
Bump actions/checkout from 4.1.2 to 4.1.3 (#361)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 08:56:12 +02:00
dependabot[bot]
c787aa7bc0
Bump actions/checkout from 4.1.1 to 4.1.2 (#359) 2024-03-18 08:01:54 +01:00
dependabot[bot]
d531539877
Bump softprops/action-gh-release from 1 to 2 (#358)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 10:58:45 +01:00
Matheson Steplock
b345d3ee65
Bump Version 2024-02-12 16:55:07 -05:00
sdotter
c255defe1e
Added raspberrypi5-64 support... (#345) 2024-02-12 16:52:53 -05:00
Matheson Steplock
c99ffd00fc
Bump Version to 1.6.0 2024-02-01 16:54:55 -05:00
Matheson Steplock
77d549776c
Cleanup container and stop services before installing (#343) 2024-01-17 12:15:34 +01:00
Matheson Steplock
13ffd23c36
Add support for containerd.sock in supervisor (#344) 2024-01-17 12:14:27 +01:00
dependabot[bot]
5b8fd2b0f4
Bump actions/upload-artifact from 3 to 4 (#341)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-19 21:28:50 -05:00
dependabot[bot]
8f0a7f3808
Bump actions/stale from 8.0.0 to 9.0.0 (#340) 2023-12-11 07:23:30 +01:00
Matheson Steplock
3dde6e9e90
Workaround to allow installation on Debian 11 (#337) 2023-11-07 23:56:37 +01:00
Stefan Agner
d7290e4a19
Pull latest stable Supervisor if image is missing (#336)
Similar to Home Assistant OS if the Supervisor is missing, make sure to
pull the latest stable image.

See also https://github.com/home-assistant/operating-system/pull/2765
2023-11-02 20:01:56 -04:00
Marcel de Vries
8dbfda2221
Only attach TTY for hassio_cli wrapper when not completing command (#334) 2023-10-23 15:39:36 +02:00
Marcel de Vries
21a9d0b3f3
Attach TTY for hassio_cli wrapper to make spinner work (#332) 2023-10-23 12:24:25 +02:00
dependabot[bot]
4bc6a478a5
Bump actions/checkout from 4.1.0 to 4.1.1 (#333)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 08:58:22 +02:00
Matheson Steplock
724cbf2dfb
Support Network Storage (#325) 2023-10-16 09:29:49 +02:00
Matheson Steplock
ba6a9d341c
Update resolved.conf (#328) 2023-10-16 09:29:15 +02:00
Matheson Steplock
5256c521f0
Add tasks.json to make testing easier (#330) 2023-10-08 16:22:10 -04:00
Matheson Steplock
2e5c669723
Fix redirects on errors (#327) 2023-10-05 08:22:39 +02:00
dependabot[bot]
aaed7d4370
Bump actions/checkout from 4.0.0 to 4.1.0 (#324)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-25 11:01:40 +02:00
Andrea
8b004cc97a
Update README.md (#319) 2023-09-12 10:42:20 +02:00
dependabot[bot]
0b5838b847
Bump actions/checkout from 3 to 4 (#320)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-09-12 10:41:48 +02:00
Matheson Steplock
06671c39bd
Bump version 2023-06-19 01:08:46 -04:00
Matheson Steplock
15f4ab16c2
Add Support For Debian Bookworm (#297) 2023-06-14 15:04:04 -04:00
Matheson Steplock
9c6a021760
Bump Version 2023-06-03 14:52:53 -04:00
Sergio Conde Gómez
923437fa7f
Set bind propagation for supervisor data (#293) 2023-06-02 20:18:01 -04:00
dependabot[bot]
be8508f7ef
Bump actions/stale from 7.0.0 to 8.0.0 (#283)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 09:30:12 +02:00
Daniel Lo Nigro
048a4dd86b
Modernize apt commands (#280) 2023-03-05 22:12:56 +01:00
Matheson Steplock
9eb7b0348b
Bump Version 2023-03-02 15:25:59 -05:00
p0wer
d8af25272d
Issue #247 Ensure systemd-journal-gatewayd socket is correct (#277)
* Create systemd socket override for systemd-journal-gatewayd

As stated in https://github.com/home-assistant/supervised-installer/issues/247 the default action for systemd-journal-gatewayd is to listen on HTTP port while Supervisor needs Unix socket file that's bind mounted in Docker container. This override changes socket location.

* Check and fix systemd socket file

As stated in #247 with the default setup the path /run/systemd-journal-gatewayd.sock may be a directory, not a file, we have to fix that

* Remove unnecessary unit file

Socket location change has been moved to systemd override which is the suggested way of changing original packaged unit behavior

* Rename hassio-supervisor.conf to 10-hassio-supervisor.conf
2023-02-27 17:25:12 -05:00
p0wer
d135a92f6d
Fix for missing apparmor profile directory (#278)
Fixes https://github.com/home-assistant/supervised-installer/issues/270
2023-02-15 18:18:04 -05:00
dependabot[bot]
77ba930b84
Bump actions/stale from 6.0.1 to 7.0.0 (#269)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-27 08:17:52 +01:00
Paul Sütterlin
d5e5550703
Add lsb-release dependency (#264)
Not all Debian Installations come with lsb-release, therefore installation may fail in select cases. Adding the dependency to the list resolves possible complications.
2022-12-18 21:29:09 -05:00
Matheson Steplock
730bf01008
Solve Compression Error - Build Debian Package in Docker (#263)
* Build Debian Package in Docker

* Fix docker run

* Fix Formatting

* Fix YAML Errors

* Test Formatting Fix

* Pin to bullseye-slim

* Build Debian Package in Docker

* Bump Version Number
2022-12-11 15:33:29 -05:00
Matheson Steplock
becd4e691a
Simplify Example Path 2022-12-10 15:51:10 -05:00
Matheson Steplock
586b0a8554
Bump Version to 1.4.0 2022-12-10 15:46:38 -05:00
Matheson Steplock
928b3abc34
Block Unsupported OS (#262)
* Check Support

* fix wording

* Add Bypass OS Check
2022-12-10 15:45:58 -05:00
Andy Grunwald
10b1819f05
docs: Add documentation about how to reconfigure "$DATA_SHARE" (#251)
This was mainly used by https://github.com/home-assistant/supervised-installer/issues/187
2022-12-08 22:16:19 -05:00
Tony2k
51a506a494
Add Odroid C4 (#257) 2022-11-25 12:40:59 +01:00
Tony2k
3f64b3ff34
Add Odroid C4 (#258) 2022-11-25 12:40:44 +01:00
Tony2k
2de4f4b6d0
Add Odroid C4 machine (#250)
https://hub.docker.com/r/homeassistant/odroid-c4-homeassistant
2022-11-16 15:51:36 -05:00
Lucas Mindêllo de Andrade
a3d1502f51
feat(PREINSTALL): check if CPU arch is supported (#243) 2022-10-26 21:37:34 -04:00
dependabot[bot]
3e8f78ff38
Bump actions/stale from 6.0.0 to 6.0.1 (#245)
Bumps [actions/stale](https://github.com/actions/stale) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v6.0.0...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 10:08:48 +02:00
dependabot[bot]
76187a3e60
Bump actions/stale from 5.2.0 to 6.0.0 (#242)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 12:07:15 +02:00
Matheson Steplock
c0cfcb3806
Bump version 2022-09-25 17:39:14 -04:00
Tomas Klouda
0779e8d745
Fix switch to cgroup v1 for Debian 11 on Raspberry Pi (#240)
There was wrong path used, as `/boot/cmdline.txt` is only used on Rapbian or RaspiOS which are not supported .
2022-09-25 17:25:07 -04:00
Matheson Steplock
46ec13fd49
Bump version 2022-09-22 21:15:45 -04:00
dependabot[bot]
da2d4945de
Bump actions/stale from 5.1.1 to 5.2.0 (#236)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 09:22:28 +02:00
Nikolay Shcheglov
120705a944
Add apparmor to required deps (#192) 2022-09-15 21:59:30 -04:00
Matheson Steplock
a4c446282f
Switch to stale workflow (#233) 2022-09-15 10:53:37 +02:00
Matheson Steplock
8b0cfe7a53
Expose systemd-journal-gatewayd (#235)
* Expose systemd-journal-gatewayd

* Enable and start systemd-journal-gatewayd.socket

* add systemd-journal-remote to requirements

* add systemd-journal-remote to requirements
2022-09-15 09:00:29 +02:00
Matheson Steplock
87c4f98a86
add log-opts (#234) 2022-09-15 08:59:38 +02:00
Nick Nothom
00d765fcd9
Fix typos (#232) 2022-08-29 22:28:17 +02:00
Pascal Vizeli
45a38d1fc4
Add IPv6 support for upcoming supervisor (#229) 2022-08-11 16:09:34 -04:00
Foxler2010
7ffcc23818
fixed typo (#228)
assisisisisisistant
2022-08-07 01:22:44 -04:00
19 changed files with 389 additions and 73 deletions

View file

@ -13,7 +13,7 @@ body:
attributes:
label: OS Version
description: Please Insert the output of `lsb_release -d`
placeholder: Debian GNU/Linux 11 (bullseye)
placeholder: Debian GNU/Linux 12 (bookworm)
validations:
required: true
- type: input
@ -21,7 +21,7 @@ body:
attributes:
label: System Information
description: Please Insert the output of `uname -a`
placeholder: 'Linux ha-su-deb 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 GNU/Linux'
placeholder: 'Linux ha 6.1.0-26-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.112-1 (2024-09-30) x86_64 GNU/Linux'
validations:
required: true
- type: textarea
@ -46,6 +46,7 @@ body:
- generic-x86-64
- khadas-vim3
- odroid-c2
- odroid-c4
- odroid-n2
- odroid-xu
- qemuarm
@ -58,6 +59,7 @@ body:
- raspberrypi3-64
- raspberrypi4
- raspberrypi4-64
- raspberrypi5-64
- tinker
validations:
required: true

17
.github/stale.yml vendored
View file

@ -1,17 +0,0 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

View file

@ -9,11 +9,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- run: chmod 555 homeassistant-supervised/DEBIAN/p*
- run: dpkg-deb --build --root-owner-group homeassistant-supervised
uses: actions/checkout@v4.2.2
- name: Build Debian Package in Docker
run: |
docker run --rm -v $(pwd):/tmp debian:bookworm-slim bash -c \
"cd /tmp \
&& chmod 555 homeassistant-supervised/DEBIAN/p* \
&& dpkg-deb --build --root-owner-group homeassistant-supervised"
- name: Upload
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: homeassistant-supervised.deb
path: homeassistant-supervised.deb

View file

@ -11,11 +11,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- run: chmod 555 homeassistant-supervised/DEBIAN/p*
- run: dpkg-deb --build --root-owner-group homeassistant-supervised
uses: actions/checkout@v4.2.2
- name: Build Debian Package in Docker
run: |
docker run --rm -v $(pwd):/tmp debian:bookworm-slim bash -c \
"cd /tmp \
&& chmod 555 homeassistant-supervised/DEBIAN/p* \
&& dpkg-deb --build --root-owner-group homeassistant-supervised"
- name: Release
uses: softprops/action-gh-release@v1
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: homeassistant-supervised.deb

39
.github/workflows/stale.yml vendored Normal file
View file

@ -0,0 +1,39 @@
name: Stale
# yamllint disable-line rule:truthy
on:
schedule:
- cron: "0 * * * *"
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 60
days-before-close: 7
stale-issue-label: "stale"
exempt-issue-labels: "no-stale,Help%20wanted,help-wanted,pinned,rfc,security"
stale-issue-message: >
There hasn't been any activity on this issue recently. Due to the
high number of incoming GitHub notifications, we have to clean some
of the old issues, as many of them have already been resolved with
the latest updates.
Please make sure to update to the latest version and check if that
solves the issue. Let us know if that works for you by
adding a comment 👍
This issue has now been marked as stale and will be closed if no
further activity occurs. Thank you for your contributions.
stale-pr-label: "stale"
exempt-pr-labels: "no-stale,pinned,rfc,security"
stale-pr-message: >
There hasn't been any activity on this pull request recently. This
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.

17
.vscode/tasks.json vendored Normal file
View file

@ -0,0 +1,17 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Build Debian Package",
"type": "shell",
"command": "chmod 555 homeassistant-supervised/DEBIAN/p* && dpkg-deb --build --root-owner-group homeassistant-supervised",
"problemMatcher": [],
"group": {
"kind": "test",
"isDefault": true
}
}
]
}

62
Hassio installer.txt Normal file
View file

@ -0,0 +1,62 @@
INSTALLAZIONE HOME ASSISTEANT SUPERVISED
seguire il github https://github.com/home-assistant/supervised-installer
andare come utente root
su -
poi
apt install \
apparmor \
bluez \
cifs-utils \
curl \
dbus \
jq \
libglib2.0-bin \
lsb-release \
network-manager \
nfs-common \
systemd-journal-remote \
systemd-resolved \
udisks2 \
wget -y
e probabilmente vi verrà chiesto di riavviare per far funzionare NetworkManager al posto del normale programma di manager di debian
controllare che funzioni come scritto in https://wiki.debian.org/NetworkManager
nel file /etc/NetworkManager/NetworkManager.conf ci dovrà essere
[ifupdown]
managed=false
altrimenti settare come definito nel sito
il precedente file di configurazione si trova
/etc/network/interfaces
verificare se Docker-ce è installato con
docker -v
altrimenti installarlo con
curl -fsSL get.docker.com | sh
installare OS-Agent usando l'ultima versione da https://github.com/home-assistant/os-agent/releases/latest
wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
sudo dpkg -i os-agent_1.6.0_linux_aarch64.deb
wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
BYPASS_OS_CHECK=true apt install ./homeassistant-supervised.deb
NOTE
verificare i servizi in systemd di Home assistant
haos-agent.service Home Assistant OS Agent
hassio-apparmor.service Hass.io AppArmor
hassio-supervisor.service Hass.io supervisor
es
systemctl status hassio-supervisor.service

102
README.md
View file

@ -1,6 +1,8 @@
# This installation method is for advanced users only
## Make sure you understand [the requirements](https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md)
### Make sure you understand [the requirements](https://github.com/home-assistant/architecture/blob/master/adr/0014-home-assistant-supervised.md)
qui il file semplificato [Hassio installer.txt](Hassio%20installer.txt)
# Install Home Assistant Supervised
@ -14,40 +16,85 @@ This method is considered advanced and should only be used if one is an expert i
Run the following commands as root (`su -` or `sudo su -` on machines with sudo installed):
Step 1: Install the following dependacy's with this command:
Step 1: Install the following dependencies with this command:
```bash
apt-get install \
jq \
wget \
apt install \
apparmor \
bluez \
cifs-utils \
curl \
udisks2 \
dbus \
jq \
libglib2.0-bin \
lsb-release \
network-manager \
dbus -y
nfs-common \
systemd-journal-remote \
systemd-resolved \
udisks2 \
wget -y
```
Step 2: Install Docker-CE with the following command:
If you haven't been using NetworkManager before, you might see instructions on how to let NetworkManager manage the current network interface.
### NetworkManager
probabilmente vi verrà chiesto di riavviare per far funzionare NetworkManager al posto del normale programma di manager di debian
controllare che funzioni come scritto in https://wiki.debian.org/NetworkManager
nel file ```/etc/NetworkManager/NetworkManager.conf``` ci dovrà essere
```
[ifupdown]
managed=false
```
altrimenti settare come definito nel sito
il precedente file di configurazione si trova
```
/etc/network/interfaces
```
### Step 2: Docker-CE:
verificare se è installato Docker-CE
```bash
docker -v
```
altrimenti va installato
```bash
curl -fsSL get.docker.com | sh
```
Step 3: Install the OS-Agent:
### Step 3: Install the OS-Agent:
Instructions for installing the OS-Agent can be found [here](https://github.com/home-assistant/os-agent/tree/main#using-home-assistant-supervised-on-debian)
Step 4: Install the Home Assisistant Supervised Debian Package:
Step 4: Install the Home Assistant Supervised Debian Package:
```bash
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb
wget -O homeassistant-supervised.deb https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
apt install ./homeassistant-supervised.deb
```
Orange Pi5 Plus is not supported so you must use
```bash
BYPASS_OS_CHECK=true apt install ./homeassistant-supervised.deb
```
## Supported Machine types
- generic-x86-64
- odroid-c2
- odroid-c4
- odroid-n2
- odroid-xu
- qemuarm
@ -60,9 +107,38 @@ dpkg -i homeassistant-supervised.deb
- raspberrypi4
- raspberrypi3-64
- raspberrypi4-64
- raspberrypi5-64
- tinker
- khadas-vim3
## Configuration
The default path for our `$DATA_SHARE` is `/usr/share/hassio`.
This path is used to store all home assistant related things.
You can reconfigure this path during installation with
```bash
DATA_SHARE=/my/own/homeassistant dpkg --force-confdef --force-confold -i homeassistant-supervised.deb
```
## Troubleshooting
If somethings going wrong, use `journalctl -f` to get your system logs. If you are not familiar with Linux and how you can fix issues, we recommend to use our Home Assistant OS.
If something's going wrong, use `journalctl -f` to get your system logs. If you are not familiar with Linux and how you can fix issues, we recommend to use our Home Assistant OS.
[![Home Assistant - A project from the Open Home Foundation](https://www.openhomefoundation.org/badges/home-assistant.png)](https://www.openhomefoundation.org/)
## NOTE
verificare i servizi in systemd di Home assistant
```haos-agent.service``` Home Assistant OS Agent
```hassio-apparmor.service``` Hass.io AppArmor
```hassio-supervisor.service``` Hass.io supervisor
es
```
systemctl status hassio-supervisor.service
```

View file

@ -1,9 +1,10 @@
Package: homeassistant-supervised
Section: base
Version: 1.2.2
Version: 2.0.0
Priority: optional
Architecture: all
Depends: curl, bash, docker-ce, dbus, network-manager, apparmor, jq, systemd, os-agent
Pre-Depends: curl, bash, docker-ce, dbus, network-manager, apparmor, jq, systemd, os-agent, systemd-journal-remote, systemd-resolved
Depends: bluez, cifs-utils, nfs-common
Maintainer: Matheson Steplock <https://mathesonsteplock.ca/>
Homepage: https://www.home-assistant.io/
Description: Home Assistant Supervised

View file

@ -14,21 +14,50 @@ SERVICE_DOCKER="docker.service"
SERVICE_NM="NetworkManager.service"
# Read infos from web
URL_CHECK_ONLINE="checkonline.home-assistant.io"
URL_CHECK_ONLINE="https://checkonline.home-assistant.io/online.txt"
URL_VERSION="https://version.home-assistant.io/stable.json"
HASSIO_VERSION=$(curl -s ${URL_VERSION} | jq -e -r '.supervisor')
URL_APPARMOR_PROFILE="https://version.home-assistant.io/apparmor.txt"
# reload systemd
info "Reload systemd"
systemctl daemon-reload
# Restart NetworkManager
info "Restarting NetworkManager"
systemctl restart "${SERVICE_NM}"
# Enable and start systemd-resolved
if [ "$(systemctl is-active systemd-resolved)" = 'inactive' ]; then
# Set permissions of /etc/systemd/resolved.conf
# check if file has correct permissions
if [ "$(stat -c %a /etc/systemd/resolved.conf)" != "644" ]; then
info "Setting permissions of /etc/systemd/resolved.conf"
chmod 644 /etc/systemd/resolved.conf
fi
# Enable and restart systemd-resolved
info "Enable systemd-resolved"
systemctl enable systemd-resolved.service> /dev/null 2>&1;
systemctl start systemd-resolved.service> /dev/null 2>&1;
info "Restarting systemd-resolved"
systemctl restart systemd-resolved.service
# Check and fix systemd-journal-gatewayd socket location
if [ ! -S "/run/systemd-journal-gatewayd.sock" ]; then
info "Set up systemd-journal-gatewayd socket file"
if [ "$(systemctl is-active systemd-journal-gatewayd.socket)" = 'active' ]; then
systemctl stop systemd-journal-gatewayd.socket
fi
rm -rf "/run/systemd-journal-gatewayd.sock";
fi
# Enable and start systemd-journal-gatewayd
if [ "$(systemctl is-active systemd-journal-gatewayd.socket)" = 'inactive' ]; then
info "Enable systemd-journal-gatewayd"
systemctl enable systemd-journal-gatewayd.socket> /dev/null 2>&1;
systemctl start systemd-journal-gatewayd.socket
fi
# Start nfs-utils.service for nfs mounts
if [ "$(systemctl is-active nfs-utils.service)" = 'inactive' ]; then
info "Start nfs-utils.service"
systemctl start nfs-utils.service
fi
# Restart Docker service
@ -36,7 +65,7 @@ info "Restarting docker service"
systemctl restart "${SERVICE_DOCKER}"
# Check network connection
while ! ping -c 1 -W 1 ${URL_CHECK_ONLINE}; do
while ! curl -q ${URL_CHECK_ONLINE} >/dev/null 2>&1 ; do
info "Waiting for ${URL_CHECK_ONLINE} - network interface might be down..."
sleep 2
done
@ -115,6 +144,7 @@ systemctl enable hassio-supervisor.service > /dev/null 2>&1;
# Install AppArmor
info "Install AppArmor scripts"
mkdir -p "${DATA_SHARE}/apparmor"
curl -sL ${URL_APPARMOR_PROFILE} > "${DATA_SHARE}/apparmor/hassio-supervisor"
sed -i "s,%%HASSIO_CONFIG%%,${CONFIG},g" "${PREFIX}/sbin/hassio-apparmor"
sed -i -e "s,%%SERVICE_DOCKER%%,${SERVICE_DOCKER},g" \
@ -143,16 +173,15 @@ then
update-grub
touch /var/run/reboot-required
fi
elif [ -f /boot/cmdline.txt ]
elif [ -f /boot/firmware/cmdline.txt ]
then
if ! grep -q "systemd.unified_cgroup_hierarchy=false" /boot/cmdline.txt; then
if ! grep -q "systemd.unified_cgroup_hierarchy=false" /boot/firmware/cmdline.txt; then
info "Switching to cgroup v1"
cp /boot/cmdline.txt /boot/cmdline.txt.bak
sed -i 's/$/ systemd.unified_cgroup_hierarchy=false/' /boot/cmdline.txt
sed -i.bak 's/$/ systemd.unified_cgroup_hierarchy=false/' /boot/firmware/cmdline.txt
touch /var/run/reboot-required
fi
else
warn "Could not find /etc/default/grub or /boot/cmdline.txt failed to switch to cgroup v1"
warn "Could not find /etc/default/grub or /boot/firmware/cmdline.txt failed to switch to cgroup v1"
fi
info "Within a few minutes you will be able to reach Home Assistant at:"
info "http://homeassistant.local:8123 or using the IP address of your"

View file

@ -10,6 +10,35 @@ warn "Home Assistant as a VM or run Home Assistant Core"
warn "via a Docker container."
warn ""
# Check if we are running on a supported OS
BYPASS_OS_CHECK=${BYPASS_OS_CHECK:-false}
supported_os=("Debian GNU/Linux 12 (bookworm)")
CURRENT_OS=$(lsb_release -d | awk -F"\t" '{print $2}')
os_supported=false
for os in "${supported_os[@]}"; do
if [[ $os == "$CURRENT_OS" ]]; then
os_supported=true
break
fi
done
if [[ $os_supported == false ]]; then
if [[ $BYPASS_OS_CHECK != "true" ]]; then
error "${CURRENT_OS} is not supported!"
fi
warn "Bypassing OS check..."
warn "${CURRENT_OS} is not supported!"
warn "Please DO NOT report issues regarding this OS!"
fi
# Check if we are running on a supported architecture
ARCH=$(uname -m)
if [[ ! "i386|i686|x86_64|arm|armv6l|armv7l|aarch64" == *"$ARCH"* ]]; then
error "${ARCH} is not supported!"
fi
# Check if Modem Manager is enabled
if systemctl is-enabled ModemManager.service &> /dev/null; then
warn "ModemManager service is enabled. This might cause issue when using serial devices."
@ -22,6 +51,24 @@ if [[ "$(sysctl --values kernel.dmesg_restrict)" != "0" ]]; then
echo "kernel.dmesg_restrict=0" >> /etc/sysctl.conf
fi
# If the hassio_supervisor service is running or exists, stop it
if [[ "$(systemctl is-active hassio-supervisor.service)" == "active" ]]; then
info "Stopping hassio_supervisor service"
systemctl stop hassio-supervisor.service
fi
# If the hassio_apparmor service is running or exists, stop it
if [[ "$(systemctl is-active hassio-apparmor.service)" == "active" ]]; then
info "Stopping hassio_apparmor service"
systemctl stop hassio-apparmor.service
fi
# Check for existing hassio_supervisor container and destroy it
if [[ "$(docker ps -aq -f name=hassio_supervisor)" ]]; then
# ensure the hassio_supervisor service is stopped
info "Removing existing hassio_supervisor container"
docker container rm --force hassio_supervisor > /dev/null
fi
dpkg-divert --package homeassistant-supervised --add --rename \
--divert /etc/NetworkManager/NetworkManager.conf.real /etc/NetworkManager/NetworkManager.conf
@ -34,3 +81,6 @@ dpkg-divert --package homeassistant-supervised --add --rename \
dpkg-divert --package homeassistant-supervised --add --rename \
--divert /etc/network/interfaces.real /etc/network/interfaces
dpkg-divert --package homeassistant-supervised --add --rename \
--divert /etc/systemd/resolved.conf.real /etc/systemd/resolved.conf

View file

@ -1,4 +1,4 @@
Template: ha/machine-type
Type: Select
Choices: generic-x86-64, odroid-c2, odroid-n2, odroid-xu, qemuarm, qemuarm-64, qemux86, qemux86-64, raspberrypi, raspberrypi2, raspberrypi3, raspberrypi4, raspberrypi3-64, raspberrypi4-64, tinker, khadas-vim3
Choices: generic-x86-64, odroid-c2, odroid-c4, odroid-n2, odroid-xu, qemuarm, qemuarm-64, qemux86, qemux86-64, raspberrypi, raspberrypi2, raspberrypi3, raspberrypi4, raspberrypi3-64, raspberrypi4-64, raspberrypi5-64, tinker, khadas-vim3
Description: Select machine type

View file

@ -16,6 +16,7 @@ connection.llmnr=2
[connectivity]
uri=http://checkonline.home-assistant.io/online.txt
interval=600
[device]
wifi.scan-rand-mac-address=no

View file

@ -1,4 +1,9 @@
{
"log-driver": "journald",
"storage-driver": "overlay2"
"storage-driver": "overlay2",
"ip6tables": true,
"experimental": true,
"log-opts": {
"tag": "{{.Name}}"
}
}

View file

@ -0,0 +1,25 @@
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
#DNS=
#FallbackDNS=1.1.1.1 8.8.8.8 1.0.0.1 8.8.4.4 2606:4700:4700::1111 2001:4860:4860::8888 2606:4700:4700::1001 2001:4860:4860::8844
#Domains=
DNSSEC=no
DNSOverTLS=no
#MulticastDNS=yes
#LLMNR=yes
#Cache=yes
DNSStubListener=no
#ReadEtcHosts=yes
#ResolveUnicastSingleLabel=no

View file

@ -1,8 +1,8 @@
[Unit]
Description=Hass.io supervisor
Requires=docker.service dbus.service
Wants=network-online.target hassio-apparmor.service time-sync.target
After=docker.service dbus.service network-online.target hassio-apparmor.service time-sync.target
Wants=network-online.target hassio-apparmor.service time-sync.target systemd-journal-gatewayd.socket systemd-resolved.service
After=docker.service dbus.service network-online.target hassio-apparmor.service time-sync.target systemd-journal-gatewayd.socket systemd-resolved.service
StartLimitIntervalSec=60
StartLimitBurst=5
ConditionPathExists=/run/dbus/system_bus_socket

View file

@ -0,0 +1,3 @@
[Socket]
ListenStream=
ListenStream=/run/systemd-journal-gatewayd.sock

View file

@ -1,4 +1,10 @@
#!/usr/bin/env bash
# shellcheck disable=SC2048,SC2086
docker exec hassio_cli ha $*
if [ "$1" != "__complete" ]; then
use_tty="-t"
else
use_tty=""
fi
docker exec ${use_tty} hassio_cli ha $*

View file

@ -37,21 +37,28 @@ touch ${SUPERVISOR_STARTUP_MARKER}
if [ -z "${SUPERVISOR_IMAGE_ID}" ]; then
# Get the latest from update information
# Using updater information instead of config. If the config version is
# broken, this creates a way (e.g., bad release).
SUPERVISOR_VERSION=$(jq -r '.supervisor // "latest"' "${SUPERVISOR_DATA}/updater.json" || echo "latest")
# broken, this creates a way back (e.g., bad release).
SUPERVISOR_VERSION=$(jq -r '.supervisor // "stable"' "${SUPERVISOR_DATA}/updater.json" || echo "stable")
# Get version from stable channel in case we have no local version
# information.
if [ "${SUPERVISOR_VERSION}" = "stable" ]; then
SUPERVISOR_VERSION="$(curl -s --location https://version.home-assistant.io/stable.json | jq -e -r '.supervisor')"
fi
echo "[WARNING] Supervisor image missing, downloading a fresh one: ${SUPERVISOR_VERSION}"
# Pull in the Supervisor
if docker pull "${SUPERVISOR_IMAGE}:${SUPERVISOR_VERSION}"; then
# Tag as latest if versioned
if [ "${SUPERVISOR_VERSION}" != "latest" ]; then
# Tag as latest
docker tag "${SUPERVISOR_IMAGE}:${SUPERVISOR_VERSION}" "${SUPERVISOR_IMAGE}:latest"
fi
else
# Pull failed, updater info might be corrupted, re-trying with latest
echo "[WARNING] Supervisor downloading failed trying: latest"
docker pull "${SUPERVISOR_IMAGE}:latest"
# Pull failed, updater info might be corrupted or the release might have
# been removed from the container registry, delete the updater info
# to start from scratch on next try.
echo "[ERROR] Supervisor downloading failed."
rm -f "${SUPERVISOR_DATA}/updater.json"
exit 1
fi
SUPERVISOR_IMAGE_ID=$(docker inspect --format='{{.Id}}' "${SUPERVISOR_IMAGE}" || echo "")
@ -82,11 +89,13 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then
--name hassio_supervisor \
--privileged --security-opt apparmor="hassio-supervisor" \
-v /run/docker.sock:/run/docker.sock:rw \
-v /run/containerd/containerd.sock:/run/containerd/containerd.sock:rw \
-v /run/systemd-journal-gatewayd.sock:/run/systemd-journal-gatewayd.sock:rw \
-v /run/dbus:/run/dbus:ro \
-v /run/supervisor:/run/os:rw \
-v /run/udev:/run/udev:ro \
-v /etc/machine-id:/etc/machine-id:ro \
-v ${SUPERVISOR_DATA}:/data:rw \
-v ${SUPERVISOR_DATA}:/data:rw,slave \
-e SUPERVISOR_SHARE=${SUPERVISOR_DATA} \
-e SUPERVISOR_NAME=hassio_supervisor \
-e SUPERVISOR_MACHINE=${SUPERVISOR_MACHINE} \