From bbd876be99c5d7565fd99e32056cd4d3af8852af Mon Sep 17 00:00:00 2001 From: ewilly Date: Sat, 8 Jan 2022 10:04:57 +0100 Subject: [PATCH] Upgrade --- .github/ISSUE_TEMPLATE.md | 55 +++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++ .github/workflows/package_linter.yml | 23 ++ .github/workflows/updater.sh | 59 +++++ .github/workflows/updater.yml | 49 ++++ LICENSE | 201 ++++++++++++++++ README.md | 56 +++++ README_fr.md | 52 +++++ check_process | 23 ++ .../.storage/onboarding | 12 + .../homeassistant_conf_files/automations.yaml | 0 .../bin/upgrade_homeassistant.sh | 62 +++++ .../bin/ynh_ldap-auth.sh | 148 ++++++++++++ .../configuration.yaml | 31 +++ conf/homeassistant_conf_files/scenes.yaml | 0 conf/homeassistant_conf_files/scripts.yaml | 0 conf/nginx.conf | 14 ++ conf/sudoers | 5 + conf/systemd.service | 44 ++++ doc/.gitkeep | 0 doc/DISCLAIMER.md | 7 + doc/screenshots/.gitkeep | 0 doc/screenshots/screenshot1 | Bin 0 -> 231797 bytes manifest.json | 47 ++++ scripts/_common.sh | 183 +++++++++++++++ scripts/backup | 92 ++++++++ scripts/change_url | 96 ++++++++ scripts/install | 195 ++++++++++++++++ scripts/remove | 130 +++++++++++ scripts/restore | 158 +++++++++++++ scripts/upgrade | 219 ++++++++++++++++++ 31 files changed, 1977 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/package_linter.yml create mode 100644 .github/workflows/updater.sh create mode 100644 .github/workflows/updater.yml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README_fr.md create mode 100644 check_process create mode 100644 conf/homeassistant_conf_files/.storage/onboarding create mode 100644 conf/homeassistant_conf_files/automations.yaml create mode 100755 conf/homeassistant_conf_files/bin/upgrade_homeassistant.sh create mode 100755 conf/homeassistant_conf_files/bin/ynh_ldap-auth.sh create mode 100644 conf/homeassistant_conf_files/configuration.yaml create mode 100644 conf/homeassistant_conf_files/scenes.yaml create mode 100644 conf/homeassistant_conf_files/scripts.yaml create mode 100644 conf/nginx.conf create mode 100644 conf/sudoers create mode 100644 conf/systemd.service create mode 100644 doc/.gitkeep create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/screenshots/.gitkeep create mode 100644 doc/screenshots/screenshot1 create mode 100644 manifest.json create mode 100644 scripts/_common.sh create mode 100644 scripts/backup create mode 100644 scripts/change_url create mode 100644 scripts/install create mode 100644 scripts/remove create mode 100644 scripts/restore create mode 100644 scripts/upgrade diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/.github/workflows/package_linter.yml b/.github/workflows/package_linter.yml new file mode 100644 index 0000000..6126a95 --- /dev/null +++ b/.github/workflows/package_linter.yml @@ -0,0 +1,23 @@ +name: YunoHost apps package linter + +on: + push: + branches: + - main + pull_request: + schedule: + - cron: '0 8 * * *' + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: 'Clone YunoHost apps package linter' + run: | + git clone --depth=1 https://github.com/YunoHost/package_linter ~/package_linter + + - name: 'Run linter' + run: | + ~/package_linter/package_linter.py . diff --git a/.github/workflows/updater.sh b/.github/workflows/updater.sh new file mode 100644 index 0000000..794ae6e --- /dev/null +++ b/.github/workflows/updater.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +#================================================= +# PACKAGE UPDATING HELPER +#================================================= + +# This script is meant to be run by GitHub Actions +# The YunoHost-Apps organisation offers a template Action to run this script periodically +# Since each app is different, maintainers can adapt its contents so as to perform +# automatic actions when a new upstream release is detected. + +# Remove this exit command when you are ready to run this Action +exit 1 + +#================================================= +# FETCHING LATEST RELEASE AND ITS ASSETS +#================================================= + +# Fetching information +app=$(cat manifest.json | jq -j '.id') +current_version=$(cat manifest.json | jq -j '.version|split("~")[0]') +upstream_version=$(curl -Ls https://pypi.org/pypi/$pythonPackage/json | jq -r .info.version) + +# Setting up the environment variables +echo "Current version: $current_version" +echo "Latest release from upstream: $upstream_version" +echo "VERSION=$upstream_version" >> $GITHUB_ENV +# For the time being, let's assume the script will fail +echo "PROCEED=false" >> $GITHUB_ENV + +# Proceed only if the retrieved version is greater than the current one +if ! dpkg --compare-versions "$current_version" "lt" "$upstream_version" ; then + echo "::warning ::No new version available" + exit 0 +# Proceed only if a PR for this new version does not already exist +elif git ls-remote -q --exit-code --heads https://github.com/$GITHUB_REPOSITORY.git ci-auto-update-v$upstream_version ; then + echo "::warning ::A branch already exists for this update" + exit 0 +fi + +#================================================= +# SPECIFIC UPDATE STEPS +#================================================= + +# Replace new version in _common.sh +sed -i "s/app_version=.*/app_version=$upstream_version/" scripts/_common.sh + +#================================================= +# GENERIC FINALIZATION +#================================================= + +# Replace new version in manifest +echo "$(jq -s --indent 4 ".[] | .version = \"$upstream_version~ynh1\"" manifest.json)" > manifest.json + +# No need to update the README, yunohost-bot takes care of it + +# The Action will proceed only if the PROCEED environment variable is set to true +echo "PROCEED=true" >> $GITHUB_ENV +exit 0 diff --git a/.github/workflows/updater.yml b/.github/workflows/updater.yml new file mode 100644 index 0000000..fb72ba0 --- /dev/null +++ b/.github/workflows/updater.yml @@ -0,0 +1,49 @@ +# This workflow allows GitHub Actions to automagically update your app whenever a new upstream release is detected. +# You need to enable Actions in your repository settings, and fetch this Action from the YunoHost-Apps organization. +# This file should be enough by itself, but feel free to tune it to your needs. +# It calls updater.sh, which is where you should put the app-specific update steps. +name: Check for new upstream releases +on: + # Allow to manually trigger the workflow + workflow_dispatch: + # Run it every day at 6:00 UTC + schedule: + - cron: '0 6 * * *' +jobs: + updater: + runs-on: ubuntu-latest + steps: + - name: Fetch the source code + uses: actions/checkout@v2 + with: + token: ${{ secrets.GITHUB_TOKEN }} + - name: Run the updater script + id: run_updater + run: | + # Setting up Git user + git config --global user.name 'yunohost-bot' + git config --global user.email 'yunohost-bot@users.noreply.github.com' + # Run the updater script + /bin/bash .github/workflows/updater.sh + - name: Commit changes + id: commit + if: ${{ env.PROCEED == 'true' }} + run: | + git commit -am "Upgrade to v$VERSION" + - name: Create Pull Request + id: cpr + if: ${{ env.PROCEED == 'true' }} + uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.GITHUB_TOKEN }} + commit-message: Update to version ${{ env.VERSION }} + committer: 'yunohost-bot ' + author: 'yunohost-bot ' + signoff: false + base: testing + branch: ci-auto-update-v${{ env.VERSION }} + delete-branch: true + title: 'Upgrade to version ${{ env.VERSION }}' + body: | + Upgrade to v${{ env.VERSION }} + draft: false diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md new file mode 100644 index 0000000..781e99f --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ + + +# Home Assistant for YunoHost + +[![Integration level](https://dash.yunohost.org/integration/homeassistant.svg)](https://dash.yunohost.org/appci/app/homeassistant) ![](https://ci-apps.yunohost.org/ci/badges/homeassistant.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/homeassistant.maintain.svg) +[![Install Home Assistant with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=homeassistant) + +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allows you to install Home Assistant quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* + +## Overview + +Home automation platform + +**Shipped version:** 2021.12.8~ynh1 + +**Demo:** https://demo.home-assistant.io + +## Screenshots + +![](./doc/screenshots/screenshot1) + +## Disclaimers / important information + +* Known limitations: + * Are LDAP and HTTP auth supported? LDAP=Yes | HTTP auth=No + * Can the app be used by multiple users? Yes + + +* Additional informations: + * As the pyhton version shipped in Debian stable is not always supported, a recent version could be built during the installation process. It may take a while to achive that (15 to 60 minutes) + +## Documentation and resources + +* Official app website: https://www.home-assistant.io +* Official admin documentation: https://www.home-assistant.io/docs/ +* YunoHost documentation for this app: https://yunohost.org/app_homeassistant +* Report a bug: https://github.com/YunoHost-Apps/homeassistant_ynh/issues + +## Developer info + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing). + +To try the testing branch, please proceed like that. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing --debug +or +sudo yunohost app upgrade homeassistant -u https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing --debug +``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..67629db --- /dev/null +++ b/README_fr.md @@ -0,0 +1,52 @@ +# Home Assistant pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/homeassistant.svg)](https://dash.yunohost.org/appci/app/homeassistant) ![](https://ci-apps.yunohost.org/ci/badges/homeassistant.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/homeassistant.maintain.svg) +[![Installer Home Assistant avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=homeassistant) + +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* + +> *Ce package vous permet d'installer Home Assistant rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble + +Plateforme domotique + +**Version incluse :** 2021.12.8~ynh1 + +**Démo :** https://demo.home-assistant.io + +## Captures d'écran + +![](./doc/screenshots/screenshot1) + +## Avertissements / informations importantes + +* Known limitations: + * Are LDAP and HTTP auth supported? LDAP=Yes | HTTP auth=No + * Can the app be used by multiple users? Yes + + +* Additional informations: + * As the pyhton version shipped in Debian stable is not always supported, a recent version could be built during the installation process. It may take a while to achive that (15 to 60 minutes) + +## Documentations et ressources + +* Site officiel de l'app : https://www.home-assistant.io +* Documentation officielle de l'admin : https://www.home-assistant.io/docs/ +* Documentation YunoHost pour cette app : https://yunohost.org/app_homeassistant +* Signaler un bug : https://github.com/YunoHost-Apps/homeassistant_ynh/issues + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. +``` +sudo yunohost app install https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing --debug +ou +sudo yunohost app upgrade homeassistant -u https://github.com/YunoHost-Apps/homeassistant_ynh/tree/testing --debug +``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process new file mode 100644 index 0000000..52d2af2 --- /dev/null +++ b/check_process @@ -0,0 +1,23 @@ +;; Test complet + ; Manifest + domain="domain.tld" + is_public=1 + ; Checks + pkg_linter=1 + setup_sub_dir=0 + setup_root=1 + setup_nourl=0 + setup_private=1 + setup_public=1 + upgrade=1 + upgrade=1 from_commit=4eaade48e9bdccf56a53f09a269b2e5ba7621296 + backup_restore=1 + multi_instance=0 + port_already_use=1 + change_url=1 +;;; Options + Notification=all +;;; Upgrade options + ; commit=4eaade48e9bdccf56a53f09a269b2e5ba7621296 + name= Update to 2021.6.5 on 21/06/2021 + manifest_arg=domain=DOMAIN&is_public=1& diff --git a/conf/homeassistant_conf_files/.storage/onboarding b/conf/homeassistant_conf_files/.storage/onboarding new file mode 100644 index 0000000..9677c86 --- /dev/null +++ b/conf/homeassistant_conf_files/.storage/onboarding @@ -0,0 +1,12 @@ +{ + "version": 4, + "key": "onboarding", + "data": { + "done": [ + "user", + "core_config", + "analytics", + "integration" + ] + } +} diff --git a/conf/homeassistant_conf_files/automations.yaml b/conf/homeassistant_conf_files/automations.yaml new file mode 100644 index 0000000..e69de29 diff --git a/conf/homeassistant_conf_files/bin/upgrade_homeassistant.sh b/conf/homeassistant_conf_files/bin/upgrade_homeassistant.sh new file mode 100755 index 0000000..36e08c5 --- /dev/null +++ b/conf/homeassistant_conf_files/bin/upgrade_homeassistant.sh @@ -0,0 +1,62 @@ +#!/bin/bash +# +# upgrade_homeassistant.sh - Simple shell script to upgrade homeassistant installed in a python environnement +# + +# Uncomment to enable debugging to stderr (prints full client output and more) +DEBUG=0 + +# define usefull variables +app="homeassistant" +final_path="/var/www/$app" +data_path="/home/yunohost.app/$app" + +########## END OF CONFIGURATION ########## + + +########## SCRIPT CODE FOLLOWS, DON'T TOUCH! ########## + +# Log messages to log file. +log() { + echo "$(date)\t$1" >> $LOG_FILE +} + +has_sudo() { + local prompt + prompt=$(sudo -nv 2>&1) + if [ $? -eq 0 ]; then + echo "has sudo pass set" + elif echo $prompt | grep -q '^sudo:'; then + echo "has sudo needs pass" + else + echo "can't sudo" + fi +} + +# Reset log file. +if [ ! -z "$DEBUG" ]; then + LOG_FILE=$(cd -P -- "$(dirname -- "$0")" && pwd -P)"/upgrade_homeassistant.log" + [ -f "$LOG_FILE" ] && :> "$LOG_FILE" +fi + +# Check User and permissions +[ ! -z "$DEBUG" ] && log "User '$(whoami)' is running that script and '$(has_sudo)'." + +# create the virtual environment +MY_PYTHON=$(readlink -e "$final_path/bin/python") +[ ! -z "$DEBUG" ] && log "Using pyhton '$MY_PYTHON'." +$MY_PYTHON -m venv "$final_path" + +# activate the virtual environment +source "$final_path/bin/activate" + +# install last version of wheel +pip --cache-dir "$data_path/.cache" install --upgrade wheel + +# upgrade homeassistant python package +pip --cache-dir "$data_path/.cache" install --upgrade $app + +# restart homeassistant systemd service +sudo systemctl restart $app.service + +exit 0 diff --git a/conf/homeassistant_conf_files/bin/ynh_ldap-auth.sh b/conf/homeassistant_conf_files/bin/ynh_ldap-auth.sh new file mode 100755 index 0000000..f4b9f5a --- /dev/null +++ b/conf/homeassistant_conf_files/bin/ynh_ldap-auth.sh @@ -0,0 +1,148 @@ +#!/bin/sh +# +# ldap-auth.sh - Simple shell script to authenticate users against LDAP +# + +# Uncomment to enable debugging to stderr (prints full client output +# and more). +#DEBUG=1 + +# Must be one of "curl" and "ldapsearch". +# NOTE: +# - When choosing "curl", make sure "curl --version | grep ldap" outputs +# something. Otherwise, curl was compiled without LDAP support. +# - When choosing "ldapsearch", make sure the ldapwhoami command is +# available as well, as that might be needed in some cases. +CLIENT="ldapsearch" + +# Usernames should be validated using a regular expression to be of +# a known format. Special characters will be escaped anyway, but it is +# generally not recommended to allow more than necessary. +# This pattern is set by default. In your config file, you can either +# overwrite it with a different one or use "unset USERNAME_PATTERN" to +# disable validation completely. +USERNAME_PATTERN='^[a-z|A-Z|0-9|_|-|.]+$' + +# Adapt to your needs. +SERVER="ldap://127.0.0.1:389" +USERDN="uid=$username,ou=users,dc=yunohost,dc=org" +BASEDN="$USERDN" +SCOPE="base" +FILTER="(&(uid=$username)(objectClass=posixAccount))" +NAME_ATTR="cn" +ATTRS="$ATTRS $NAME_ATTR" + +# When the timeout (in seconds) is exceeded (e.g. due to slow networking), +# authentication fails. +TIMEOUT=3 + +########## END OF CONFIGURATION ########## + + +########## SCRIPT CODE FOLLOWS, DON'T TOUCH! ########## + +# Log messages to log file. +log() { + echo "$(date)\t$1" >> $LOG_FILE +} + +# Check permission of ynh user. +ynh_user_app_permission() { + access=$(cat "/etc/ssowat/conf.json" | jq ".permissions.\"homeassistant.main\".users | index(\"$username\")") + [ ! -z "$access" ] && return 1 + return 0 +} + +ldap_auth_ldapsearch() { + common_opts="-o nettimeout=$TIMEOUT -H $SERVER -x" + [ ! -z "$DEBUG" ] && common_opts="-v $common_opts" + output=$(ldapsearch $common_opts -LLL \ + -D "$USERDN" -w "$password" \ + -s "$SCOPE" -b "$BASEDN" "$FILTER" dn $ATTRS) + [ $? -ne 0 ] && return 1 + return 0 +} + +on_auth_success() { + # print the meta entries for use in HA + if [ ! -z "$NAME_ATTR" ]; then + name=$(echo "$output" | sed -nr "s/^\s*$NAME_ATTR:\s*(.+)\s*\$/\1/Ip") + [ -z "$name" ] || echo "name=$name" + fi +} + +# Reset log file. +if [ ! -z "$DEBUG" ]; then + LOG_FILE=$(cd -P -- "$(dirname -- "$0")" && pwd -P)"/ldap-auth.log" + [ -f "$LOG_FILE" ] && :> "$LOG_FILE" +fi + +# Check app access permisssion for the ynh user. +ynh_user_app_permission +if [ $? -eq 0 ]; then + [ ! -z "$DEBUG" ] && log "User '$username' does not have the permission to access these app." + exit 1 +else + [ ! -z "$DEBUG" ] && log "User '$username' have the permission to access these app." +fi + +# Validate config. +err=0 +if [ -z "$SERVER" ] || [ -z "$USERDN" ]; then + [ ! -z "$DEBUG" ] && log "SERVER and USERDN need to be configured." + err=1 +fi +if [ -z "$TIMEOUT" ]; then + [ ! -z "$DEBUG" ] && log "TIMEOUT needs to be configured." + err=1 +fi +if [ ! -z "$BASEDN" ]; then + if [ -z "$SCOPE" ] || [ -z "$FILTER" ]; then + [ ! -z "$DEBUG" ] && log "BASEDN, SCOPE and FILTER may only be configured together." + err=1 + fi +elif [ ! -z "$ATTRS" ]; then + [ ! -z "$DEBUG" ] && log "Configuring ATTRS only makes sense when enabling searching." + err=1 +fi + +# Check username and password are present and not malformed. +if [ -z "$username" ] || [ -z "$password" ]; then + [ ! -z "$DEBUG" ] && log "Need username and password environment variables." + err=1 +elif [ ! -z "$USERNAME_PATTERN" ]; then + username_match=$(echo "$username" | sed -r "s/$USERNAME_PATTERN/x/") + if [ "$username_match" != "x" ]; then + [ ! -z "$DEBUG" ] && log "Username '$username' has an invalid format." + err=1 + fi +fi + +[ $err -ne 0 ] && exit 2 + +# Do the authentication. +ldap_auth_ldapsearch +result=$? + +entries=0 +if [ $result -eq 0 ]; then + entries=$(echo "$output" | grep -cie '^dn\s*:') + [ "$entries" != "1" ] && result=1 +fi + +if [ ! -z "$DEBUG" ]; then + log "Result: $result" + log "Number of entries: $entries" + log "Client output:" + log "$output" +fi + +if [ $result -ne 0 ]; then + [ ! -z "$DEBUG" ] && log "User '$username' failed to authenticate." + type on_auth_failure > /dev/null && on_auth_failure + exit 1 +fi + +[ ! -z "$DEBUG" ] && log "User '$username' authenticated successfully." +type on_auth_success > /dev/null && on_auth_success +exit 0 diff --git a/conf/homeassistant_conf_files/configuration.yaml b/conf/homeassistant_conf_files/configuration.yaml new file mode 100644 index 0000000..8d2ec90 --- /dev/null +++ b/conf/homeassistant_conf_files/configuration.yaml @@ -0,0 +1,31 @@ +homeassistant: + auth_providers: + - type: command_line + command: __DATA_PATH__/bin/ynh_ldap-auth.sh + meta: true + +http: + server_port: __PORT__ + use_x_forwarded_for: True + trusted_proxies: + - 127.0.0.1 + - ::1 + +recorder: + db_url: mysql://__DB_USER__:__DB_PWD__@127.0.0.1/__DB_NAME__?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4 + +# Apply default set of integrations +default_config: + +# Linked yaml files +automation: !include automations.yaml +script: !include scripts.yaml +scene: !include scenes.yaml + +# Switches +switch: + - platform: command_line + switches: + upgrade_homeassistant: + command_on: "nohup bash -c __DATA_PATH__/bin/upgrade_homeassistant.sh $1 > /dev/null 2>&1 &" + friendly_name: Upgrade Home Assistant diff --git a/conf/homeassistant_conf_files/scenes.yaml b/conf/homeassistant_conf_files/scenes.yaml new file mode 100644 index 0000000..e69de29 diff --git a/conf/homeassistant_conf_files/scripts.yaml b/conf/homeassistant_conf_files/scripts.yaml new file mode 100644 index 0000000..e69de29 diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..4aae8e1 --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,14 @@ +# see https://github.com/home-assistant/addons/blob/master/nginx_proxy/data/nginx.conf + +location / { + proxy_pass http://localhost:__PORT__; + proxy_set_header Host $host; + proxy_redirect http:// https://; + proxy_http_version 1.1; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "Upgrade"; + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; +} diff --git a/conf/sudoers b/conf/sudoers new file mode 100644 index 0000000..6c98bb8 --- /dev/null +++ b/conf/sudoers @@ -0,0 +1,5 @@ +# Grant sudo permissions to the user to manage his own systemd service +__APP__ ALL=(ALL) NOPASSWD: /bin/systemctl stop __APP__.service +__APP__ ALL=(ALL) NOPASSWD: /bin/systemctl start __APP__.service +__APP__ ALL=(ALL) NOPASSWD: /bin/systemctl restart __APP__.service +__APP__ ALL=(ALL) NOPASSWD: /bin/systemctl status __APP__.service diff --git a/conf/systemd.service b/conf/systemd.service new file mode 100644 index 0000000..7559fe1 --- /dev/null +++ b/conf/systemd.service @@ -0,0 +1,44 @@ +[Unit] +Description=Home Assistant +After=network.target mysql.service + +[Service] +Type=simple +User=__APP__ +WorkingDirectory=__DATA_PATH__ +ExecStart=__FINALPATH__/bin/hass --config "__DATA_PATH__" --log-file "__LOG_FILE__" --verbose +StandardOutput=append:__LOG_FILE__ +StandardError=inherit + +# Sandboxing options to harden security +# Depending on specificities of your service/app, you may need to tweak these +# .. but this should be a good baseline +# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html +NoNewPrivileges=yes +PrivateTmp=yes +#CANT BE ACTIVATED FOR __APP__ #PrivateDevices=yes +#CANT BE ACTIVATED FOR __APP__ #RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=yes +RestrictRealtime=yes +#CANT BE ACTIVATED FOR __APP__ (see issue #40) #DevicePolicy=closed +ProtectSystem=full +ProtectControlGroups=yes +ProtectKernelModules=yes +# ProtectKernelTunables=yes +LockPersonality=yes +SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap + +# Denying access to capabilities that should not be relevant for webapps +# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html +CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD +CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE +CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT +CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK +CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM +CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG +CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE +CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW +CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG + +[Install] +WantedBy=multi-user.target diff --git a/doc/.gitkeep b/doc/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..7ddb739 --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,7 @@ +* Known limitations: + * Are LDAP and HTTP auth supported? LDAP=Yes | HTTP auth=No + * Can the app be used by multiple users? Yes + + +* Additional informations: + * As the pyhton version shipped in Debian stable is not always supported, a recent version could be built during the installation process. It may take a while to achive that (15 to 60 minutes) diff --git a/doc/screenshots/.gitkeep b/doc/screenshots/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/screenshots/screenshot1 b/doc/screenshots/screenshot1 new file mode 100644 index 0000000000000000000000000000000000000000..1305cddbb9dfe188673af3ff58fed87a42a035d0 GIT binary patch literal 231797 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 G4E!JZTsQjw literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..f123730 --- /dev/null +++ b/manifest.json @@ -0,0 +1,47 @@ +{ + "name": "Home Assistant", + "id": "homeassistant", + "packaging_format": 1, + "description": { + "en": "Home automation platform", + "fr": "Plateforme domotique" + }, + "version": "2021.12.8~ynh1", + "url": "https://github.com/home-assistant/home-assistant", + "upstream": { + "license": "Apache-2.0", + "website": "https://www.home-assistant.io", + "demo": "https://demo.home-assistant.io", + "admindoc": "https://www.home-assistant.io/docs/", + "code": "https://github.com/home-assistant/core" + }, + "license": "Apache-2.0", + "maintainer": { + "name": "ewilly", + "email": "ewilly@ewilly.fr" + }, + "requirements": { + "yunohost": ">= 4.3.0" + }, + "multi_instance": false, + "services": [ + "nginx" + ], + "arguments": { + "install": [ + { + "name": "domain", + "type": "domain" + }, + { + "name": "is_public", + "type": "boolean", + "help": { + "en": "If not public, Smartphone app will not work", + "fr": "Dans le cas contraire, l'application sur Smartphone ne fonctionnera pas" + }, + "default": true + } + ] + } +} diff --git a/scripts/_common.sh b/scripts/_common.sh new file mode 100644 index 0000000..0f67779 --- /dev/null +++ b/scripts/_common.sh @@ -0,0 +1,183 @@ +#!/bin/bash + +#================================================= +# COMMON VARIABLES +#================================================= + +# Release to install +app_version=2021.12.8 + +# Package dependencies +pkg_dependencies="python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0 libmariadbclient-dev libmariadb-dev-compat" + +# Requirements (Major.Minor.Patch) +# PY_VERSION=$(curl -s "https://www.python.org/ftp/python/" | grep ">3.9" | tail -n1 | cut -d '/' -f 2 | cut -d '>' -f 2) +# Pyhton 3.9.2 will be shiped with bullseye +py_required_version=3.9.2 + +#================================================= +# PERSONAL HELPERS +#================================================= + +# Create homeassistant user +mynh_system_user_create () { + user_groups="" + [ $(getent group dialout) ] && user_groups="${user_groups} dialout" + [ $(getent group gpio) ] && user_groups="${user_groups} gpio" + [ $(getent group i2c) ] && user_groups="${user_groups} i2c" + ynh_system_user_create --username=$app --groups="$user_groups" --home_dir="$data_path" +} + + +# Check if directory/file already exists (path in argument) +myynh_check_path () { + [ -z "$1" ] && ynh_die "No argument supplied" + [ ! -e "$1" ] || ynh_die "$1 already exists" +} + +# Create directory only if not already exists (path in argument) +myynh_create_dir () { + [ -z "$1" ] && ynh_die "No argument supplied" + [ -d "$1" ] || mkdir -p "$1" +} + +# Compare version in arguments +myynh_version_compare () { + # myynh_version_compare A B + # 0 -> A = B + # 1 -> A > B + # 2 -> A < B + if [[ $1 == $2 ]] + then + echo 0; return + fi + local IFS=. + local i ver1=($1) ver2=($2) + # fill empty fields in ver1 with zeros + for ((i=${#ver1[@]}; i<${#ver2[@]}; i++)) + do + ver1[i]=0 + done + for ((i=0; i<${#ver1[@]}; i++)) + do + if [[ -z ${ver2[i]} ]] + then + # fill empty fields in ver2 with zeros + ver2[i]=0 + fi + if ((10#${ver1[i]} > 10#${ver2[i]})) + then + echo 1; return + fi + if ((10#${ver1[i]} < 10#${ver2[i]})) + then + echo 2; return + fi + done + echo 1; return +} + +# Install specific python version +# usage: myynh_install_python --python="3.8.6" +# | arg: -p, --python= - the python version to install +myynh_install_python () { + # Declare an array to define the options of this helper. + local legacy_args=u + local -A args_array=( [p]=python= ) + local python + # Manage arguments with getopts + ynh_handle_getopts_args "$@" + + # Check python version from APT + local PY_APT_VERSION=$(python3 --version | cut -d ' ' -f 2) + + # Check existing built version of python in /usr/local/bin + if [ -e "/usr/local/bin/python${python:0:3}" ] + then + local PY_BUILT_VERSION=$(/usr/local/bin/python${python:0:3} --version \ + | cut -d ' ' -f 2) + else + local PY_BUILT_VERSION=0 + fi + + # Compare version + if [ $(myynh_version_compare $PY_APT_VERSION $python) -le 1 ] + then + # APT >= Required + ynh_print_info --message="Using provided python3..." + + MY_PYTHON="python3" + + else + # Either python already built or to build + if [ $(myynh_version_compare $PY_BUILT_VERSION $python) -le 1 ] + then + # Built >= Required + ynh_print_info --message="Using already used python3 built version..." + + MY_PYTHON="/usr/local/bin/python${PY_BUILT_VERSION:0:3}" + + else + ynh_print_info --message="Installing additional dependencies to build python..." + + pkg_dependencies="${pkg_dependencies} tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libbz2-dev libexpat1-dev liblzma-dev wget tar" + ynh_install_app_dependencies "${pkg_dependencies}" + # APT < Minimal & Actual < Minimal => Build & install Python into /usr/local/bin + ynh_print_info --message="Building python (may take a while)..." + # Store current direcotry + local MY_DIR=$(pwd) + # Download + wget -O "/tmp/Python-$python.tar.xz" "https://www.python.org/ftp/python/$python/Python-$python.tar.xz" 2>&1 + # Extract + cd /tmp + tar xf "Python-$python.tar.xz" + # Install + cd "Python-$python" + ./configure --enable-optimizations + ynh_exec_warn_less make -j4 + ynh_exec_warn_less make altinstall + # Clean + cd .. + ynh_secure_remove "Python-$python" + ynh_secure_remove "Python-$python.tar.xz" + # Set version + MY_PYTHON="/usr/local/bin/python${python:0:3}" + # Go back to working directory + cd $MY_DIR + fi + fi + # Save python version in settings + ynh_app_setting_set --app=$app --key=python --value="$python" +} + +# Install/Upgrade Homeassistant in virtual environement +myynh_install_homeassistant () { + ynh_exec_as $app -H -s /bin/bash -c " \ + echo 'create the virtual environment' \ + && $MY_PYTHON -m venv "$final_path" \ + && echo 'activate the virtual environment' \ + && source "$final_path/bin/activate" \ + && echo 'install last version of wheel' \ + && pip --cache-dir "$data_path/.cache" install --upgrade wheel \ + && echo 'install last version of mysqlclient' \ + && pip --cache-dir "$data_path/.cache" install --upgrade mysqlclient \ + && echo 'install Home Assistant' \ + && pip --cache-dir "$data_path/.cache" install --upgrade $app==$app_version \ + " +} + +# Set permissions +myynh_set_permissions () { + chown -R $app: "$final_path" + chmod 750 "$final_path" + chmod -R o-rwx "$final_path" + + chown -R $app: "$data_path" + chmod 750 "$data_path" + chmod -R o-rwx "$data_path" + chmod -R +x "$data_path/bin/" + + chown -R $app: "$(dirname "$log_file")" + + chown -R root: "/etc/sudoers.d/$app" +} diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..81e7a0e --- /dev/null +++ b/scripts/backup @@ -0,0 +1,92 @@ +#!/bin/bash +# to test the functionnality : +# yunohost backup create -n "homeassistant-test" --apps homeassistant +# yunohost backup delete homeassistant-test + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_print_info --message="Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) +log_file=$(ynh_app_setting_get --app=$app --key=log_file) +path_url=$(ynh_app_setting_get --app=$app --key=path_url) +python=$(ynh_app_setting_get --app=$app --key=python) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) + +#================================================= +# DECLARE DATA AND CONF FILES TO BACKUP +#================================================= + +ynh_print_info --message="Declaring files to be backed up..." + +#================================================= +# BACKUP THE APP MAIN DIR +#================================================= + +ynh_backup --src_path="$final_path" + +#================================================= +# BACKUP THE DATA DIR +#================================================= + +ynh_backup --src_path="$data_path" --is_big + +#================================================= +# BACKUP THE NGINX CONFIGURATION +#================================================= + +ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# SPECIFIC BACKUP +#================================================= +# BACKUP LOGROTATE +#================================================= + +ynh_backup --src_path="/etc/logrotate.d/$app" + +#================================================= +# BACKUP SYSTEMD +#================================================= + +ynh_backup --src_path="/etc/systemd/system/$app.service" + +#================================================= +# BACKUP VARIOUS FILES +#================================================= + +ynh_backup --src_path="/etc/sudoers.d/$app" +ynh_backup --src_path="$(dirname "$log_file")" + +#================================================= +# BACKUP THE MYSQL DATABASE +#================================================= +ynh_print_info --message="Backing up the MySQL database..." +ynh_mysql_dump_db --database=$db_name > db.sql + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url new file mode 100644 index 0000000..d4cb65b --- /dev/null +++ b/scripts/change_url @@ -0,0 +1,96 @@ +#!/bin/bash + +#================================================= +# GENERIC STARTING +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# RETRIEVE ARGUMENTS +#================================================= + +app=$YNH_APP_INSTANCE_NAME + +old_domain=$YNH_APP_OLD_DOMAIN +new_domain=$YNH_APP_NEW_DOMAIN + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." + +final_path=$(ynh_app_setting_get --app=$app --key=final_path) + +#================================================= +# BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up the app before changing its URL (may take a while)..." + +ynh_backup_before_upgrade +ynh_clean_setup () { + ynh_secure_remove --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" + ynh_restore_upgradebackup +} +ynh_abort_if_errors + +#================================================= +# CHECK WHICH PARTS SHOULD BE CHANGED +#================================================= + +change_domain=0 +if [ "$old_domain" != "$new_domain" ] +then + change_domain=1 +fi + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." + +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" + +#================================================= +# MODIFY URL IN NGINX CONF +#================================================= +ynh_script_progression --message="Updating NGINX web server configuration..." + +nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf + +# Change the domain for NGINX +if [ $change_domain -eq 1 ] +then + # Delete file checksum for the old conf file location + ynh_delete_file_checksum --file="$nginx_conf_path" + mv $nginx_conf_path /etc/nginx/conf.d/$new_domain.d/$app.conf + # Store file checksum for the new config file location + ynh_store_file_checksum --file="/etc/nginx/conf.d/$new_domain.d/$app.conf" +fi + +#================================================= +# GENERIC FINALISATION +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." + +ynh_systemd_action --service_name=$app --action=start --log_path="/var/log/$app/$app.log" + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/install b/scripts/install new file mode 100644 index 0000000..bcaf8c3 --- /dev/null +++ b/scripts/install @@ -0,0 +1,195 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + true +} +ynh_abort_if_errors + +#================================================= +# RETRIEVE ARGUMENTS FROM THE MANIFEST +#================================================= + +app=$YNH_APP_INSTANCE_NAME + +domain=$YNH_APP_ARG_DOMAIN +is_public=$YNH_APP_ARG_IS_PUBLIC + +#================================================= +# DEFINE USEFULL VARS +#================================================= + +final_path="/var/www/$app" +data_path="/home/yunohost.app/$app" +log_file="/var/log/$app/$app.log" +path_url="/" + +#================================================= +# CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS +#================================================= +ynh_script_progression --message="Validating installation parameters..." + +[ ! -d "$final_path" ] || ynh_die --message="There is already a directory: $final_path " +ynh_webpath_register --app=$app --domain="$domain" --path_url="$path_url" + +#================================================= +# STORE SETTINGS FROM MANIFEST +#================================================= +ynh_script_progression --message="Storing installation settings..." +ynh_app_setting_set --app=$app --key=domain --value="$domain" +ynh_app_setting_set --app=$app --key=final_path --value="$final_path" +ynh_app_setting_set --app=$app --key=data_path --value="$data_path" +ynh_app_setting_set --app=$app --key=log_file --value="$log_file" +ynh_app_setting_set --app=$app --key=path_url --value="$path_url" + +#================================================= +# STANDARD MODIFICATIONS +#================================================= +# FIND AND OPEN A PORT +#================================================= +ynh_script_progression --message="Finding an available port..." + +port=$(ynh_find_port 8123) +ynh_app_setting_set --app=$app --key=port --value="$port" + +#================================================= +# INSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Installing dependencies..." + +ynh_install_app_dependencies $pkg_dependencies +myynh_install_python --python="$py_required_version" + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Configuring system user..." + +mynh_system_user_create + +#================================================= +# CREATE A MYSQL DATABASE +#================================================= +ynh_script_progression --message="Creating a MySQL database..." + +db_name=$(ynh_sanitize_dbid --db_name=$app) +db_user=$db_name +ynh_app_setting_set --app=$app --key=db_name --value=$db_name +ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= +ynh_script_progression --message="Setting up source files..." + +# create a directory for the installation of Home Assistant +myynh_create_dir "$final_path" +chown -R $app: "$final_path" + +# create a directory for the datas of Home Assistant +myynh_create_dir "$data_path/.cache" +chown -R $app: "$data_path" + +# installation in a virtual environment +ynh_script_progression --message="Installing Home Assistant in a virtual environment..." +ynh_exec_fully_quiet myynh_install_homeassistant + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Configuring NGINX web server..." + +ynh_add_nginx_config + +#================================================= +# SPECIFIC SETUP +#================================================= + +# grant sudo permissions to the user to manage his own systemd service +myynh_create_dir "/etc/sudoers.d" +ynh_add_config --template="../conf/sudoers" --destination="/etc/sudoers.d/$app" + +#================================================= +# ADD A CONFIGURATION +#================================================= + +cp -r "../conf/homeassistant_conf_files/." "$data_path/" +ynh_add_config --template="../conf/homeassistant_conf_files/configuration.yaml" --destination="$data_path/configuration.yaml" + +#================================================= +# SETUP SYSTEMD +#================================================= +ynh_script_progression --message="Configuring a systemd service..." + +# setup up systemd service +ynh_script_progression --message="Adding the dedicated service..." +ynh_add_systemd_config + +#================================================= +# GENERIC FINALIZATION +#================================================= +# SETUP LOGROTATE +#================================================= +ynh_script_progression --message="Configuring log rotation..." + +ynh_use_logrotate --logfile="$log_file" + +#================================================= +# SET FILE OWNERSHIP / PERMISSIONS +#================================================= + +myynh_set_permissions + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= +ynh_script_progression --message="Integrating service in YunoHost..." + +# add service in admin panel +yunohost service add $app --description="Home Assistant server" --log="$log_file" --needs_exposed_ports=$port + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." + +# start systemd service with --verbose +ynh_systemd_action --service_name=$app --action=start --line_match="Home Assistant initialized" --log_path="$log_file" --timeout=3600 + +# remove --verbose from systemd service +ynh_replace_string --match_string=" --verbose" --replace_string="" --target_file="/etc/systemd/system/$app.service" +ynh_store_file_checksum --file="/etc/systemd/system/$app.service" +systemctl daemon-reload +ynh_systemd_action --service_name=$app --action=restart + +#================================================= +# SETUP SSOWAT +#================================================= +ynh_script_progression --message="Configuring permissions..." + +[ $is_public -eq 1 ] && ynh_permission_update --permission="main" --add="visitors" + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove new file mode 100644 index 0000000..fdaccca --- /dev/null +++ b/scripts/remove @@ -0,0 +1,130 @@ +#!/bin/bash +# to test the functionnality : +# yunohost app remove homeassistant --purge + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) +log_file=$(ynh_app_setting_get --app=$app --key=log_file) +path_url=$(ynh_app_setting_get --app=$app --key=path_url) +python=$(ynh_app_setting_get --app=$app --key=python) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_user=$db_name + +#================================================= +# STANDARD REMOVE +#================================================= +# REMOVE SERVICE INTEGRATION IN YUNOHOST +#================================================= + +if ynh_exec_warn_less yunohost service status $app >/dev/null ; then + ynh_script_progression --message="Removing $app service integration..." + yunohost service remove $app +fi + +#================================================= +# STOP AND REMOVE SERVICE +#================================================= +ynh_script_progression --message="Stopping and removing the systemd service..." + +ynh_remove_systemd_config --service=$app + +#================================================= +# REMOVE LOGROTATE CONFIGURATION +#================================================= +ynh_script_progression --message="Removing logrotate configuration..." + +ynh_remove_logrotate + +#================================================= +# REMOVE THE MYSQL DATABASE +#================================================= +ynh_script_progression --message="Removing the MySQL database..." + +ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name + +#================================================= +# REMOVE APP MAIN DIR +#================================================= +ynh_script_progression --message="Removing app main directory..." + +ynh_secure_remove --file="$final_path" + +#================================================= +# REMOVE DATA DIR +#================================================= + +if [ "${YNH_APP_PURGE:-0}" -eq 1 ] +then + ynh_script_progression --message="Removing app data directory..." + ynh_secure_remove --file="$data_path" +fi + +#================================================= +# REMOVE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Removing NGINX web server configuration..." + +ynh_remove_nginx_config + +#================================================= +# REMOVE DEPENDENCIES +#================================================= +ynh_script_progression --message="Removing dependencies..." + +ynh_remove_app_dependencies + +#================================================= +# CLOSE A PORT +#================================================= + +if yunohost firewall list | grep -q "\- $port$" +then + ynh_script_progression --message="Closing port $port..." + ynh_exec_warn_less yunohost firewall disallow TCP $port +fi + +#================================================= +# SPECIFIC REMOVE +#================================================= +# REMOVE VARIOUS FILES +#================================================= +ynh_script_progression --message="Removing various files..." + +# remove sudoers file +ynh_secure_remove --file="/etc/sudoers.d/$app" + +# Remove the log files +ynh_secure_remove --file="$(dirname "$log_file")" + +#================================================= +# GENERIC FINALIZATION +#================================================= +# REMOVE DEDICATED USER +#================================================= +ynh_script_progression --message="Removing the dedicated system user..." + +ynh_system_user_delete --username=$app + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..b9cd252 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,158 @@ +#!/bin/bash +# to test the functionnality : +# yunohost backup create -n "homeassistant-test" --apps homeassistant +# yunohost app remove homeassistant --purge +# yunohost backup restore "homeassistant-test" +# yunohost backup delete "homeassistant-test" + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source ../settings/scripts/_common.sh +source /usr/share/yunohost/helpers + +#================================================= +# MANAGE SCRIPT FAILURE +#================================================= + +ynh_clean_setup () { + true +} +ynh_abort_if_errors + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) +final_path=$(ynh_app_setting_get --app=$app --key=final_path) +data_path=$(ynh_app_setting_get --app=$app --key=data_path) +log_file=$(ynh_app_setting_get --app=$app --key=log_file) +path_url=$(ynh_app_setting_get --app=$app --key=path_url) +python=$(ynh_app_setting_get --app=$app --key=python) +db_name=$(ynh_app_setting_get --app=$app --key=db_name) +db_user=$db_name + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= +ynh_script_progression --message="Validating restoration parameters..." + +[ ! -d "$final_path" ] || ynh_die --message="There is already a directory: $final_path " + +#================================================= +# STANDARD RESTORATION STEPS +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the NGINX configuration..." + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + +#================================================= +# RECREATE THE DEDICATED USER +#================================================= +ynh_script_progression --message="Recreating the dedicated system user..." + +mynh_system_user_create + +#================================================= +# RESTORE THE APP MAIN DIR +#================================================= +ynh_script_progression --message="Restoring the app main directory..." + +ynh_restore_file --origin_path="$final_path" + +#================================================= +# RESTORE THE DATA DIRECTORY +#================================================= +ynh_script_progression --message="Restoring the data directory..." + +ynh_restore_file --origin_path="$data_path" --not_mandatory + +mkdir -p $data_path + +#================================================= +# SPECIFIC RESTORATION +#================================================= +# REINSTALL DEPENDENCIES +#================================================= +ynh_script_progression --message="Reinstalling dependencies..." + +ynh_install_app_dependencies $pkg_dependencies +myynh_install_python --python="$python" + +#================================================= +# RESTORE THE MYSQL DATABASE +#================================================= +ynh_script_progression --message="Restoring the MySQL database..." + +db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) +ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd="$db_pwd" +ynh_mysql_connect_as --user=$db_user --password="$db_pwd" --database=$db_name < ./db.sql + +#================================================= +# RESTORE VARIOUS FILES +#================================================= +ynh_script_progression --message="Restoring various files..." + +ynh_restore_file --origin_path="/etc/sudoers.d/$app" + +ynh_restore_file --origin_path="$(dirname "$log_file")" + +#================================================= +# RESTORE SYSTEMD +#================================================= +ynh_script_progression --message="Restoring the systemd configuration..." + +ynh_restore_file --origin_path="/etc/systemd/system/$app.service" +systemctl enable $app.service --quiet + +#================================================= +# RESTORE THE LOGROTATE CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the logrotate configuration..." + +ynh_restore_file --origin_path="/etc/logrotate.d/$app" + +#================================================= +# SET FILE OWNERSHIP / PERMISSIONS +#================================================= + +myynh_set_permissions + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= +ynh_script_progression --message="Integrating service in YunoHost..." + +yunohost service add $app --description="Home Assistant server" --log="$log_file" --needs_exposed_ports=$port + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." + +ynh_systemd_action --service_name=$app --action=start + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX AND PHP-FPM +#================================================= +ynh_script_progression --message="Reloading NGINX web server and PHP-FPM..." + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..8c58784 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,219 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# LOAD SETTINGS +#================================================= +ynh_script_progression --message="Loading installation settings..." + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get --app=$app --key=domain) +port=$(ynh_app_setting_get --app=$app --key=port) + +#================================================= +# CHECK VERSION +#================================================= + +upgrade_type=$(ynh_check_app_version_changed) + +#================================================= +# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP +#================================================= +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." + +ynh_backup_before_upgrade +ynh_clean_setup () { + ynh_restore_upgradebackup +} +ynh_abort_if_errors + +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." + +ynh_systemd_action --service_name=$app --action=stop --log_path="/var/log/$app/$app.log" + +#================================================= +# ENSURE DOWNWARD COMPATIBILITY +#================================================= +ynh_script_progression --message="Ensuring downward compatibility..." + +# changes introduce in +if [ -z $(ynh_app_setting_get --app=$app --key=final_path) ] +then + final_path="/var/www/$app" + data_path="/home/yunohost.app/$app" + log_file="/var/log/$app/$app.log" + path_url="/" + ynh_app_setting_set --app=$app --key=final_path --value="$final_path" + ynh_app_setting_set --app=$app --key=data_path --value="$data_path" + ynh_app_setting_set --app=$app --key=log_file --value="$log_file" + ynh_app_setting_set --app=$app --key=path_url --value="$path_url" +else + final_path=$(ynh_app_setting_get --app=$app --key=final_path) + data_path=$(ynh_app_setting_get --app=$app --key=data_path) + log_file=$(ynh_app_setting_get --app=$app --key=log_file) + path_url=$(ynh_app_setting_get --app=$app --key=path_url) + python=$(ynh_app_setting_get --app=$app --key=python) +fi + +# changes introduced in 2021.11.5~ynh1 +if [ -f "/etc/systemd/system/$app@$app.service" ] +then + # remove old systemd service + if ynh_exec_warn_less yunohost service status "$app@$app" >/dev/null + then + yunohost service remove "$app@$app" + fi + ynh_remove_systemd_config --service="$app@$app" +fi +if [ ! -d "$final_path" ] +then + # move $final_path to new directory + mv "/opt/yunohost/$app" "$final_path" + chown -R $app: "$final_path" +fi +if [ ! -d "$data_path" ] +then + # move $data_path to new directory + mv "/""home""/$app" "$data_path" + find "$data_path/.$app" -maxdepth 1 -mindepth 1 -exec mv {} "$data_path" \; + rmdir "$data_path/.$app" + ynh_replace_string --match_string="/home/homeassistant/.homeassistant" --replace_string="$data_path" --target_file="$data_path/configuration.yaml" + chown -R $app: "$data_path" +fi +if [ ! -f "$log_file" ] +then + # create a directory with its log file + myynh_create_dir "$(dirname "$log_file")" + touch "$log_file" +fi + +# changes introduced in 2021.12.8~ynh1 +if [ -z $(ynh_app_setting_get --app=$app --key=db_name) ] +then + # create a MySQL database + db_name=$(ynh_sanitize_dbid --db_name=$app) + db_user=$db_name + ynh_app_setting_set --app=$app --key=db_name --value=$db_name + ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name + db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) + if [ -z $(sed -n "/recorder:/=" "$data_path/configuration.yaml") ] + then + sed -i "$ a recorder:" "$data_path/configuration.yaml" + sed -i "$ a \ db_url: mysql://$db_user:$db_pwd@127.0.0.1/$db_name?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4" "$data_path/configuration.yaml" + else + sed -i "/recorder:/a \ db_url: mysql://$db_user:$db_pwd@127.0.0.1/$db_name?unix_socket=/var/run/mysqld/mysqld.sock&charset=utf8mb4" "$data_path/configuration.yaml" + fi +fi + +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." + +mynh_system_user_create + +#================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= + +if [ "$upgrade_type" == "UPGRADE_APP" ] +then + ynh_script_progression --message="Upgrading source files..." + + myynh_install_python --python="$py_required_version" + ynh_exec_fully_quiet myynh_install_homeassistant +fi + +#================================================= +# NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Upgrading NGINX web server configuration..." + +ynh_add_nginx_config + +#================================================= +# UPGRADE DEPENDENCIES +#================================================= +ynh_script_progression --message="Upgrading dependencies..." + +ynh_install_app_dependencies $pkg_dependencies + +#================================================= +# UPDATE A CONFIG FILE +#================================================= +ynh_script_progression --message="Updating a configuration file..." + +cp -r "../conf/homeassistant_conf_files/bin/." "$data_path/bin/" + +ynh_add_config --template="../conf/sudoers" --destination="/etc/sudoers.d/$app" + +#================================================= +# SETUP SYSTEMD +#================================================= +ynh_script_progression --message="Upgrading systemd configuration..." + +# Create a dedicated systemd config +ynh_add_systemd_config + +#================================================= +# GENERIC FINALIZATION +#================================================= +# SETUP LOGROTATE +#================================================= +ynh_script_progression --message="Upgrading logrotate configuration..." + +ynh_use_logrotate --logfile="$log_file" --non-append + +#================================================= +# SET FILE OWNERSHIP / PERMISSIONS +#================================================= + +myynh_set_permissions + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +#================================================= +ynh_script_progression --message="Integrating service in YunoHost..." + +yunohost service add $app --description="Home Assistant server" --log="$log_file" --needs_exposed_ports=$port + +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting a systemd service..." + +# start systemd service with --verbose +ynh_systemd_action --service_name=$app --action=start --line_match="Home Assistant initialized" --log_path="$log_file" --timeout=3600 + +# remove --verbose from service +ynh_replace_string --match_string=" --verbose" --replace_string="" --target_file="/etc/systemd/system/$app.service" +ynh_store_file_checksum --file="/etc/systemd/system/$app.service" +systemctl daemon-reload +ynh_systemd_action --service_name=$app --action=restart + +#================================================= +# RELOAD NGINX +#================================================= +ynh_script_progression --message="Reloading NGINX web server..." + +ynh_systemd_action --service_name=nginx --action=reload + +#================================================= +# END OF SCRIPT +#================================================= + +ynh_script_progression --message="Upgrade of $app completed" --last