├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE │ └── pull_request.md ├── dependabot.yml ├── label-comments.yaml ├── labeler.yaml ├── labels.yaml ├── paths-filter.yml └── workflows │ ├── check-addon.yaml │ ├── check-versioning.yaml │ ├── comment-on-labels.yaml │ ├── issue-labeler.yaml │ ├── label-sync.yaml │ ├── lint-checks.yaml │ └── main-addon-deploy.yaml ├── .gitignore ├── .hadolint.yaml ├── .markdownlint.yaml ├── .shellcheckrc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── ICantBelieveItsNotValetudo ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ ├── app │ └── config-template.jq │ ├── etc │ └── s6-overlay │ │ └── s6-rc.d │ │ ├── ICantBelieveItsNotValetudo │ │ ├── producer-for │ │ ├── run │ │ └── type │ │ ├── Server │ │ ├── consumer-for │ │ ├── run │ │ └── type │ │ └── user │ │ └── contents.d │ │ ├── ICantBelieveItsNotValetudo │ │ └── Server │ └── server │ ├── main.js │ └── package.json ├── LICENCE ├── MaryTTS ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── marytts │ ├── run │ └── type │ └── user │ └── contents.d │ └── marytts ├── OWASP-ZAP ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.json ├── config.json ├── icon.png ├── logo.png └── root │ └── etc │ └── services.d │ └── owasp-zap │ └── run ├── README.md ├── asterisk ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.json ├── config.json ├── icon.png ├── logo.png └── root │ ├── etc │ ├── asterisk │ │ ├── asterisk.conf │ │ ├── extensions.conf │ │ ├── modules.conf │ │ └── pjsip.conf │ ├── cont-init.d │ │ └── setup-config-files.sh │ ├── fix-attrs.d │ │ └── sample-sound │ └── services.d │ │ └── asterisk │ │ └── run │ └── var │ └── lib │ └── asterisk │ └── sounds │ └── test.wav ├── container-stats ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.json ├── config.json ├── icon.png ├── logo.png └── root │ └── etc │ └── services.d │ ├── stats │ └── run │ └── webserver │ └── run ├── git-exporter ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ ├── run.sh │ └── utils │ └── jsonToYaml.py ├── juice-shop ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── juice-shop │ ├── run │ └── type │ └── user │ └── contents.d │ └── juice-shop ├── mitmproxy ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.json ├── config.json ├── icon.png ├── logo.png └── root │ └── etc │ ├── cont-init.d │ └── 01-setup-own-ca │ ├── haproxy │ └── haproxy.cfg │ └── services.d │ ├── haproxy │ └── run │ └── mitmproxy │ └── run ├── mopidy ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ ├── mopidy-template.conf │ └── s6-overlay │ └── s6-rc.d │ ├── mopidy │ ├── run │ └── type │ └── user │ └── contents.d │ └── mopidy ├── mpd ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ ├── mpd.conf │ └── s6-overlay │ └── s6-rc.d │ ├── mpd │ ├── producer-for │ ├── run │ └── type │ ├── user │ └── contents.d │ │ ├── mpd │ │ └── ympd │ └── ympd │ ├── consumer-for │ ├── run │ └── type ├── picoTTS ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png ├── root │ └── etc │ │ └── s6-overlay │ │ └── s6-rc.d │ │ ├── picotts │ │ ├── run │ │ └── type │ │ └── user │ │ └── contents.d │ │ └── picotts └── wrapper │ ├── .gitignore │ ├── requirements.txt │ └── src │ └── picowrapper.py ├── pigpio ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── pigpio │ ├── run │ └── type │ └── user │ └── contents.d │ └── pigpio ├── pixelflut ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ ├── arial.ttf │ └── etc │ ├── cont-init.d │ ├── setup-novnc-defaults │ └── setup-novnc-ingress │ └── s6-overlay │ └── s6-rc.d │ ├── noVNC │ ├── consumer-for │ ├── pipeline-name │ ├── run │ └── type │ ├── shoreline │ ├── producer-for │ ├── run │ └── type │ ├── user │ └── contents.d │ │ ├── noVNC │ │ ├── shoreline │ │ └── vncmux │ └── vncmux │ ├── consumer-for │ ├── producer-for │ ├── run │ └── type ├── repository.json ├── rsync-local ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── run.sh ├── rsync ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── run.sh ├── syncthing ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── syncthing-setup │ ├── dependencies.d │ │ └── legacy-services │ ├── run │ ├── type │ └── up │ ├── syncthing │ ├── run │ └── type │ ├── user │ └── contents.d │ │ └── syncthing │ └── user2 │ └── contents.d │ └── syncthing-setup ├── valetudo-mapper ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ ├── app │ └── config-template.jq │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── user │ └── contents.d │ │ └── valetudo-mapper │ └── valetudo-mapper │ ├── run │ └── type ├── vnc-viewer ├── CHANGELOG.md ├── DOCS.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root │ └── etc │ └── s6-overlay │ └── s6-rc.d │ ├── noVNC │ ├── run │ └── type │ └── user │ └── contents.d │ └── noVNC └── ympd ├── CHANGELOG.md ├── Dockerfile ├── README.md ├── build.yaml ├── config.yaml ├── icon.png ├── logo.png └── root └── etc └── s6-overlay └── s6-rc.d ├── user └── contents.d │ └── ympd └── ympd ├── run └── type /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | custom: https://www.buymeacoffee.com/poeschl 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Which addon?** 11 | 12 | 13 | **Describe the bug** 14 | 15 | 16 | **To Reproduce** 17 | 22 | 23 | **Expected behavior** 24 | 25 | 26 | **Screenshots** 27 | 28 | 29 | **System** 30 | 31 | * Supervisor version: 32 | * Host system version: 33 | 34 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Which addon?** 11 | 12 | 13 | **Is your feature request related to a problem? Please describe.** 14 | 15 | 16 | **Describe the solution you'd like** 17 | 18 | 19 | **Describe alternatives you've considered** 20 | 21 | 22 | **Additional context** 23 | 24 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE/pull_request.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | --- 4 | 5 | Tasks to check before merging: 6 | 7 | * [ ] Are the automatic actions green 8 | * [ ] Is the PR targeting the `dev` branch -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Maintain dependencies for GitHub Actions 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "weekly" 8 | labels: 9 | - "dependency-update" 10 | groups: 11 | GH actions: 12 | dependency-type: production 13 | -------------------------------------------------------------------------------- /.github/label-comments.yaml: -------------------------------------------------------------------------------- 1 | comment: 2 | header: Hi, there. 3 | footer: | 4 | --- 5 | 6 | > This is an automated comment. Responding to the bot or mentioning it won't have any effect. 7 | 8 | labels: 9 | - name: ICantBelieveItsNotValetudo 10 | labeled: 11 | issue: 12 | body: | 13 | Please make sure you have the right addon for your software. 14 | The addon you mentioning is the companion for [ICantBelieveItsNotValetudo from Hypfer](https://github.com/Hypfer/ICantBelieveItsNotValetudo). 15 | 16 | - name: valetudo-mapper 17 | labeled: 18 | issue: 19 | body: | 20 | Please make sure you have the right addon for your software. 21 | The addon you mentioning is the companion for [Valetudo RE from rand256](https://github.com/rand256/valetudo). 22 | 23 | - name: container-stats 24 | labeled: 25 | issue: 26 | body: | 27 | Note: The Container Stats addon is depreciated and will not recieve any updates. 28 | 29 | - name: mitmproxy 30 | labeled: 31 | issue: 32 | body: | 33 | Note: The MITM Proxy addon is depreciated and will not recieve any updates. 34 | 35 | - name: OWASP-ZAP 36 | labeled: 37 | issue: 38 | body: | 39 | Note: The OWASP-ZAP addon is depreciated and will not recieve any updates. -------------------------------------------------------------------------------- /.github/labeler.yaml: -------------------------------------------------------------------------------- 1 | # Issue Labeler config 2 | 3 | # Addons 4 | 5 | ICantBelieveItsNotValetudo: 6 | - '(ICantBelieveItsNotValetudo|ICBINV|Valetudo)' 7 | MaryTTS: 8 | - '(MaryTTS)' 9 | OWASP-ZAP: 10 | - '(OWASP-?ZAP|ZAP|[oO]wasp-?[zZ]ap)' 11 | container-stats: 12 | - '(container-stats)' 13 | git-exporter: 14 | - '(git-exporter)' 15 | mitmproxy: 16 | - '(mitmproxy)' 17 | mpd: 18 | - '(\s[mM][pP][dD])' 19 | picoTTS: 20 | - '(picoTTS)' 21 | pigpio: 22 | - '(pigpio)' 23 | rsync: 24 | - '(rsync\s)' 25 | rsync-local: 26 | - '(rsync-local)' 27 | syncthing: 28 | - '([sS]yncthing)' 29 | valetudo-mapper: 30 | - '([vV]aletudo-[mM]apper|(Valetudo RE))' 31 | vnc-viewer: 32 | - '([vV]nc(-viewer)?)' 33 | ympd: 34 | - '(ympd)' 35 | mopidy: 36 | - '([mM]opidy)' 37 | asterisk: 38 | - '([aA]sterisk)' 39 | juice-shop: 40 | - '([jJ]uice-?[sS]hop)' 41 | pixelflut: 42 | - '([pP]ixelflut)' 43 | 44 | -------------------------------------------------------------------------------- /.github/labels.yaml: -------------------------------------------------------------------------------- 1 | # Default labels 2 | 3 | - color: d73a4a 4 | name: bug 5 | description: Something isn't working 6 | - color: cfd3d7 7 | name: duplicate 8 | description: This issue or pull request already exists 9 | - color: a2eeef 10 | name: enhancement 11 | description: New feature or request 12 | - color: 008672 13 | name: help wanted 14 | description: Extra attention is needed 15 | - color: d876e3 16 | name: question 17 | description: Further information is requested 18 | 19 | # Own labels 20 | 21 | - color: '072540' 22 | name: hacktoberfest 23 | description: Not too heavy to lift. A nice thing for newcommers. 24 | - color: '072540' 25 | name: hacktoberfest-accepted 26 | description: This PR will count towards your hacktoberfest score, even if not merged. 27 | - color: ffffff 28 | name: stale 29 | description: No interactions for quite some time 30 | - color: 3e2487 31 | name: dependency-update 32 | description: Updates a dependency 33 | - color: ffe2b3 34 | name: invalid-template 35 | description: This issue does not use one of the provided templates. 36 | 37 | # Addon labels 38 | 39 | - color: 039dfc 40 | name: ICantBelieveItsNotValetudo 41 | description: ICantBelieveItsNotValetudo Addon 42 | - color: 039dfc 43 | name: MaryTTS 44 | description: MaryTTS Addon 45 | - color: 039dfc 46 | name: OWASP-ZAP 47 | description: OWASP-ZAP Addon 48 | - color: 039dfc 49 | name: container-stats 50 | description: container-stats Addon 51 | - color: 039dfc 52 | name: git-exporter 53 | description: git-exporter Addon 54 | - color: 039dfc 55 | name: mitmproxy 56 | description: mitmproxy Addon 57 | - color: 039dfc 58 | name: mpd 59 | description: mpd Addon 60 | - color: 039dfc 61 | name: picoTTS 62 | description: picoTTS Addon 63 | - color: 039dfc 64 | name: pigpio 65 | description: pigpio Addon 66 | - color: 039dfc 67 | name: rsync 68 | description: rsync Addon 69 | - color: 039dfc 70 | name: rsync-local 71 | description: rsync-local Addon 72 | - color: 039dfc 73 | name: syncthing 74 | description: syncthing Addon 75 | - color: 039dfc 76 | name: valetudo-mapper 77 | description: valetudo-mapper Addon 78 | - color: 039dfc 79 | name: vnc-viewer 80 | description: vnc-viewer Addon 81 | - color: 039dfc 82 | name: ympd 83 | description: ympd Addon 84 | - color: 039dfc 85 | name: mopidy 86 | description: mopidy Addon 87 | - color: 039dfc 88 | name: asterisk 89 | description: Asterisk Addon 90 | - color: 039dfc 91 | name: juice-shop 92 | description: OWASP Juice Shop 93 | - color: 039dfc 94 | name: pixelflut 95 | description: Pixelflut 96 | -------------------------------------------------------------------------------- /.github/paths-filter.yml: -------------------------------------------------------------------------------- 1 | # Those are the addon path filters used in the workflows to determine which addon needs to be build. 2 | # 3 | ICantBelieveItsNotValetudo: ICantBelieveItsNotValetudo/** 4 | MaryTTS: MaryTTS/** 5 | picoTTS: picoTTS/** 6 | pigpio: pigpio/** 7 | mpd: mpd/** 8 | valetudo-mapper: valetudo-mapper/** 9 | ympd: ympd/** 10 | git-exporter: git-exporter/** 11 | syncthing: syncthing/** 12 | rsync: rsync/** 13 | rsync-local: rsync-local/** 14 | vnc-viewer: vnc-viewer/** 15 | mopidy: mopidy/** 16 | asterisk: asterisk/** 17 | juice-shop: juice-shop/** 18 | pixelflut: pixelflut/** 19 | -------------------------------------------------------------------------------- /.github/workflows/comment-on-labels.yaml: -------------------------------------------------------------------------------- 1 | name: Label Commenter 2 | 3 | on: 4 | issues: 5 | types: 6 | - labeled 7 | - unlabeled 8 | pull_request_target: 9 | types: 10 | - labeled 11 | - unlabeled 12 | 13 | permissions: 14 | contents: read 15 | issues: write 16 | pull-requests: write 17 | 18 | jobs: 19 | comment: 20 | runs-on: ubuntu-latest 21 | steps: 22 | - name: ↩️ Checkout 23 | uses: actions/checkout@v4 24 | with: 25 | ref: main 26 | 27 | - name: ✏️ Comment 28 | uses: peaceiris/actions-label-commenter@v1.10.0 29 | with: 30 | config_file: .github/label-comments.yaml -------------------------------------------------------------------------------- /.github/workflows/issue-labeler.yaml: -------------------------------------------------------------------------------- 1 | name: "Issue Labeler" 2 | on: 3 | issues: 4 | types: [opened, edited] 5 | 6 | jobs: 7 | label: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: 🏷️ Label issue 11 | uses: github/issue-labeler@v3.4 12 | with: 13 | repo-token: "${{ secrets.CR_PAT }}" 14 | configuration-path: .github/labeler.yaml 15 | not-before: 2021-05-01T00:00:00Z 16 | enable-versioned-regex: 0 -------------------------------------------------------------------------------- /.github/workflows/label-sync.yaml: -------------------------------------------------------------------------------- 1 | name: Sync changed labels 2 | on: 3 | push: 4 | branches: 5 | - main 6 | - dev 7 | 8 | jobs: 9 | 10 | sync: 11 | runs-on: ubuntu-latest 12 | 13 | steps: 14 | - name: ↩️ Checkout 15 | uses: actions/checkout@v4 16 | 17 | - name: 🔁 Sync labels 18 | uses: micnncim/action-label-syncer@v1.3.0 19 | env: 20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 21 | with: 22 | manifest: .github/labels.yaml 23 | -------------------------------------------------------------------------------- /.github/workflows/lint-checks.yaml: -------------------------------------------------------------------------------- 1 | name: Lint Checks 2 | on: 3 | pull_request: 4 | branches: 5 | - main 6 | - dev 7 | push: 8 | branches: 9 | - dev 10 | 11 | jobs: 12 | 13 | check-addon-changes: 14 | runs-on: ubuntu-latest 15 | outputs: 16 | changedAddons: ${{ steps.filter.outputs.changes }} 17 | changedDockerfiles: ${{ steps.changed-files.outputs.dockerfile_files }} 18 | steps: 19 | 20 | - name: ↩️ Checkout 21 | uses: actions/checkout@v4 22 | 23 | - name: 📂 Detect chanced addons 24 | uses: dorny/paths-filter@v3 25 | id: filter 26 | with: 27 | filters: .github/paths-filter.yml 28 | 29 | - name: 📂 Detect chanced files 30 | uses: dorny/paths-filter@v3 31 | id: changed-files 32 | 33 | with: 34 | list-files: csv 35 | filters: | 36 | dockerfile: 37 | - '**/Dockerfile.md' 38 | 39 | addon-linter: 40 | name: Addon linting 41 | if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }} 42 | runs-on: ubuntu-latest 43 | needs: check-addon-changes 44 | strategy: 45 | fail-fast: false 46 | matrix: 47 | addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }} 48 | steps: 49 | 50 | - name: ↩️ Checkout 51 | uses: actions/checkout@v4 52 | 53 | - name: 🔎 Run Home Assistant Add-on Lint 54 | uses: frenck/action-addon-linter@v2 55 | with: 56 | path: "./${{ matrix.addon }}" 57 | 58 | hadolint: 59 | runs-on: ubuntu-latest 60 | container: ghcr.io/hadolint/hadolint:latest-alpine 61 | steps: 62 | - name: ↩️ Checkout 63 | uses: actions/checkout@v4 64 | 65 | - name: 🔎 Run hadolint 66 | if: steps.filter.outputs.dockerfile == 'true' 67 | run: hadolint ${{ needs.check-addon-changes.outputs.changedDockerfiles }} 68 | 69 | shellcheck: 70 | runs-on: ubuntu-latest 71 | steps: 72 | - name: ↩️ Checkout 73 | uses: actions/checkout@v4 74 | 75 | - name: 📂 Detect chanced files 76 | id: filter 77 | uses: dorny/paths-filter@v3 78 | with: 79 | list-files: 'shell' 80 | filters: | 81 | shell: 82 | - '**/*.sh' 83 | - '**/cont-init.d/*' 84 | - '**/services.d/*' 85 | 86 | - name: 🔎 Run ShellCheck 87 | if: steps.filter.outputs.shell == 'true' 88 | uses: ludeeus/action-shellcheck@2.0.0 89 | with: 90 | additional_files: ${{ steps.filter.outputs.shell_files }} 91 | 92 | markdownlint: 93 | runs-on: ubuntu-latest 94 | steps: 95 | - name: ↩️ Checkout 96 | uses: actions/checkout@v4 97 | 98 | - name: 🔎 Run markdownlint 99 | uses: nosborn/github-action-markdown-cli@v3.3.0 100 | with: 101 | files: . -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | **/data/options.json -------------------------------------------------------------------------------- /.hadolint.yaml: -------------------------------------------------------------------------------- 1 | ignored: 2 | - DL3006 3 | -------------------------------------------------------------------------------- /.markdownlint.yaml: -------------------------------------------------------------------------------- 1 | default: true 2 | 3 | MD001: false # Heading levels should only increment by one level at a time 4 | MD002: false # First header should be a h1 header 5 | MD007: # Unordered list indentation 6 | indent: 2 7 | MD012: false # Multiple consecutive blank lines 8 | MD013: false # Line length 9 | MD025: false # Multiple top level headings in the same document 10 | MD041: false # First line in file should be a top level header -------------------------------------------------------------------------------- /.shellcheckrc: -------------------------------------------------------------------------------- 1 | disable=SC2002 2 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at Poeschl@users.noreply.github.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | 77 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution Guidelines 2 | 3 | ## How to contribute 4 | 5 | 1. Fork this repository and make your changes on your fork an a branch you like (I recommend to create a branch per feature). 6 | 2. Create a PR which targets the `dev` branch. 7 | 3. After reviewed it your changes will live in the dev branch until all changes are pushed to the main branch. (Usually this is not long) 8 | 9 | ## Requirements to get Pull Requests accepted 10 | 11 | * Passes the build (Including Hadolint, shellcheck, markdownlint and others...) 12 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | ENV LANG C.UTF-8 5 | 6 | RUN apt-get update && apt-get -y --no-install-recommends install \ 7 | git=1:2.35.1-1 \ 8 | npm=8.19.2~ds1-2 \ 9 | python3=3.10.6-1 \ 10 | libpixman-1-dev=0.40.0-1 \ 11 | libcairo2-dev=1.16.0-6 \ 12 | libpango1.0-dev=1.50.10+ds-1 \ 13 | build-essential=12.9 \ 14 | libjpeg62-turbo-dev=1:2.1.2-1+b1 15 | 16 | # Splited RUN for better layer caching 17 | # hadolint ignore=DL3059 18 | RUN git config --global advice.detachedHead false && \ 19 | git clone https://github.com/Hypfer/ICantBelieveItsNotValetudo.git -b 2022.05.0 /app 20 | 21 | WORKDIR /app 22 | RUN npm install 23 | 24 | 25 | FROM $BUILD_FROM AS SERVER 26 | 27 | RUN apt-get update && apt-get -y --no-install-recommends install \ 28 | npm=8.19.2~ds1-2 29 | 30 | COPY root/server /server 31 | 32 | WORKDIR /server 33 | RUN npm install 34 | 35 | 36 | FROM $BUILD_FROM AS RUNNING 37 | 38 | RUN apt-get update && apt-get -y --no-install-recommends install \ 39 | npm=8.19.2~ds1-2 \ 40 | libpixman-1-0=0.40.0-1 \ 41 | libcairo2=1.16.0-6 \ 42 | libpango-1.0-0=1.50.10+ds-1 \ 43 | libjpeg62-turbo=1:2.1.2-1+b1 \ 44 | && apt-get clean \ 45 | && rm -rf /var/lib/apt/lists/* 46 | 47 | WORKDIR /app 48 | 49 | COPY --from=BUILD /app /app 50 | COPY --from=SERVER /server /server 51 | 52 | ENTRYPOINT [ "/init" ] 53 | CMD [] 54 | COPY root / 55 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/blob/main/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # ICantBelieveItsNotValetudo (Home Assistant Supervisor Addon) 12 | 13 | This is the adaption of [ICantBelieveItsNotValetudo](https://github.com/Hypfer/ICantBelieveItsNotValetudo) as a Supervisor addon. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | ## Config 27 | 28 | The configuration keys are identical to the [configuration of ICantBelieveItsNotValetudo](https://github.com/Hypfer/ICantBelieveItsNotValetudo/blob/main/README.md). 29 | Please get the meaning for them from there. 30 | It's normal that the structure of the addon differs from the official config file, this is nessesary because of the Supervisor Addon config structure. 31 | 32 | If you use the Mosquitto Addon in Home Assistant `core-mosquitto` can be used as broker address like this: `mqtt://:@core-mosquitto`. Keep in mind to set proper `mapDataTopic` value. As of Valetudo 2021.04.0, it's `${topicPrefix}/${identifier}/MapData/map-data`, which with default values is equal to `valetudo/rockrobo/MapData/map-data`. 33 | 34 | ## PNG image 35 | 36 | The generated image will be served over the Supervisor Ingress feature. So the floor plan can be accessed via the build-in side panel and the auto-configured mqtt camera. 37 | 38 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 39 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 40 | [armhf-badge]: https://img.shields.io/badge/armhf-no-red.svg?style=for-the-badge 41 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 42 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 43 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 44 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 45 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 46 | [donation-url]: https://www.buymeacoffee.com/Poeschl 47 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 48 | 49 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_icantbelieveitsnotvaletudo 50 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 51 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armv7: ghcr.io/home-assistant/armv7-base-debian:bookworm 3 | aarch64: ghcr.io/home-assistant/aarch64-base-debian:bookworm 4 | amd64: ghcr.io/home-assistant/amd64-base-debian:bookworm 5 | i386: ghcr.io/home-assistant/i386-base-debian:bookworm 6 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/config.yaml: -------------------------------------------------------------------------------- 1 | name: ICantBelieveItsNotValetudo 2 | version: 4.1.0-migrate 3 | slug: icantbelieveitsnotvaletudo 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/ICantBelieveItsNotValetudo 6 | arch: 7 | - armv7 8 | - aarch64 9 | - amd64 10 | - i386 11 | image: ghcr.io/poeschl-homeassistant-addons/icantbelieveitsnotvaletudo-{arch} 12 | ports: 13 | 8080/tcp: 14 | ports_description: 15 | 8080/tcp: Port serving the floor plan (Not required for Supervisor Ingress) 16 | ingress: true 17 | ingress_port: 8080 18 | panel_title: Valetudo Floorplan 19 | panel_icon: mdi:floor-plan 20 | init: false 21 | map: 22 | - ssl 23 | schema: 24 | mapSettings: 25 | drawPath: bool 26 | drawCharger: bool 27 | drawRobot: bool 28 | scale: int(0,) 29 | rotate: int(0,) 30 | crop_top: int(0,)? 31 | crop_bottom: int(0,)? 32 | crop_left: int(0,)? 33 | crop_right: int(0,)? 34 | padding_top: int(0,)? 35 | padding_bottom: int(0,)? 36 | padding_right: int(0,)? 37 | padding_left: int(0,)? 38 | mapColors: 39 | floor: match(#(?:[0-9a-fA-F]{2}){2,4}$|(#[0-9a-fA-F]{3})$) 40 | obstacle: match(#(?:[0-9a-fA-F]{2}){2,4}$|(#[0-9a-fA-F]{3})$) 41 | path: match(#(?:[0-9a-fA-F]{2}){2,4}$|(#[0-9a-fA-F]{3})$) 42 | segments: match(#(?:[0-9a-fA-F]{2}){2,4}$|(#[0-9a-fA-F]{3})$)? 43 | mqtt: 44 | identifier: str 45 | topicPrefix: str 46 | autoconfPrefix: str 47 | broker_url: match(^mqtts?://(.+:.+@)?[^:@]+(:[0-9]+)?$) 48 | caPath: str 49 | mapDataTopic: str 50 | minMillisecondsBetweenMapUpdates: int 51 | publishMapImage: bool 52 | options: 53 | mapSettings: 54 | drawPath: true 55 | drawCharger: true 56 | drawRobot: true 57 | scale: 4 58 | rotate: 0 59 | mapColors: 60 | floor: "#0076ff" 61 | obstacle: "#52aeff" 62 | path: "#ffffff" 63 | mqtt: 64 | identifier: rockrobo 65 | topicPrefix: valetudo 66 | autoconfPrefix: homeassistant 67 | broker_url: mqtt://user:pass@foobar.example 68 | caPath: "" 69 | mapDataTopic: valetudo/rockrobo/MapData/map-data 70 | minMillisecondsBetweenMapUpdates: 10000 71 | publishMapImage: true 72 | homeassistant_api: true 73 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ICantBelieveItsNotValetudo/icon.png -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ICantBelieveItsNotValetudo/logo.png -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/app/config-template.jq: -------------------------------------------------------------------------------- 1 | { 2 | "mapSettings": (.mapSettings + {"colors": (.mapColors // {})}), 3 | "mqtt" : .mqtt, 4 | "webserver": { 5 | "enabled": true, 6 | "port": 3000 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/ICantBelieveItsNotValetudo/producer-for: -------------------------------------------------------------------------------- 1 | Server 2 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/ICantBelieveItsNotValetudo/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | bashio::log.info 'Setup config' 6 | jq -f /app/config-template.jq /data/options.json > /app/config.json 7 | 8 | bashio::log.info 'Start ICantBelieveItsNotValetudo' 9 | cd /app 10 | npm start 11 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/ICantBelieveItsNotValetudo/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/Server/consumer-for: -------------------------------------------------------------------------------- 1 | ICantBelieveItsNotValetudo 2 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/Server/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | bashio::log.info 'Start Proxywebserver' 6 | cd /server 7 | npm start 8 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/Server/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/user/contents.d/ICantBelieveItsNotValetudo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/user/contents.d/ICantBelieveItsNotValetudo -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/user/contents.d/Server: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ICantBelieveItsNotValetudo/root/etc/s6-overlay/s6-rc.d/user/contents.d/Server -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/server/main.js: -------------------------------------------------------------------------------- 1 | const http = require('http'); 2 | const request = require('request'); 3 | 4 | const index = ` 5 | 6 | 7 | 8 | 16 | 17 | 18 | 19 | 22 | 23 | 24 | ` 25 | 26 | http.createServer(function (req, resp) { 27 | 28 | var path = req.url; 29 | 30 | if (path == '/') { 31 | resp.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'}); 32 | resp.end(index, 'utf-8'); 33 | 34 | } else if (path == '/image') { 35 | //Proxy to the original image 36 | const mapImage = request('http://localhost:3000/api/map/image') 37 | req.pipe(mapImage) 38 | mapImage.pipe(resp) 39 | 40 | } else if (path == '/favicon.ico') { 41 | //Ignore favicon 42 | 43 | } else { 44 | console.warn('Invalid request ', path) 45 | } 46 | }).listen(8080); 47 | -------------------------------------------------------------------------------- /ICantBelieveItsNotValetudo/root/server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "valetudo-mini-server", 3 | "dependencies": { 4 | "request": "^2.88.2" 5 | }, 6 | "scripts": { 7 | "start": "node main.js" 8 | } 9 | } -------------------------------------------------------------------------------- /MaryTTS/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # 1.5.2 - 2022-09-03 2 | 3 | * 🐛 Correct S6 service type 4 | 5 | 6 | ## 1.5.1 - 2022-08-17 7 | 8 | * 🔨 Migrated to S6-Overlay `V3` 9 | * 📝 Updated to new repository structure + Yaml config 10 | 11 | 12 | ## 1.5.0 - 2022-04-10 13 | 14 | * 🔼 Updated openjdk8 to `8.302.08-r1` 15 | * 📝 Updated Readme 16 | 17 | 18 | ## 1.4.0 - 2021-10-31 19 | 20 | * 🔼 Updated alpine image to `3.14` 21 | * 🔼 Updated openjdk8 to `8.282.08-r1` 22 | * 🔼 Updated unzip to `6.0-r9` 23 | 24 | 25 | ## 1.3.0 - 2021-04-02 26 | 27 | * 🔨 Use ghcr.io/home-assistant for base images 28 | 29 | 30 | ## 1.2.3 - 2021-03-17 31 | 32 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 33 | 34 | 35 | ## 1.2.2 - 2021-03-10 36 | 37 | * 🐛 Recover missing environment variable to fix voice download (see #200) 38 | 39 | 40 | ## 1.2.1 - 2021-03-04 41 | 42 | * 🔼 Updated openjdk8 to `8.275.01-r0` 43 | 44 | 45 | ## 1.2.0 - 2021-01-30 46 | 47 | * 🔼 Updated alpine image to `3.13` 48 | * 🔼 Updated wget to `1.21.1-r1` 49 | * 🔼 Updated openjdk8 to `8.272.10-r4` 50 | * 🔨 Use Jemalloc for better memory handling 51 | 52 | 53 | ## 1.1.1 - 2020-10-22 54 | 55 | * 🔨 Start as `application` startup type 56 | 57 | 58 | ## 1.1.0 - 2020-10-15 59 | 60 | * 🔼 Update alpine to `3.12` 61 | * 🔼 Update wget to `1.20.3-r1` 62 | * 🔼 Update unzip to `6.0-r8` 63 | * 🔨 Use S6-Overlay for execution 64 | 65 | 66 | ## 1.0.1 - 2020-10-06 67 | 68 | * 🔼 Updated openjdk to `8.252.09-r0` 69 | 70 | 71 | ## 1.0.0 - 2020-05-22 72 | 73 | * ➕ own versioning for changes 74 | * ➕ Added configuration docs 75 | * 🔨 Updated Changelog to new format 76 | 77 | ## 5.2-4 - 2020-03-29 78 | 79 | * 🔼 Update unzip to `6.0-r6` 80 | 81 | 82 | ## 5.2-3 - 2020-02-24 83 | 84 | ### Added 85 | 86 | * ➕ Download voice packs according to language on demand 87 | 88 | 89 | ## 5.2-2 - 2020-02-07 90 | 91 | * 🔼 Updated Dependencies: 92 | * alpine `3.11` 93 | * openjdk8 `8.242.08-r0` 94 | 95 | 96 | ## 5.2-1 - 2019-10-06 97 | 98 | * 🔨 Integration into new build setup 99 | 100 | 101 | ## 5.2 - 2019-07-19 102 | 103 | * ➕ Put MaryTTS 5.2 inside HASS.io addon 104 | * 🔨 Added plugin to pre-built ones 105 | -------------------------------------------------------------------------------- /MaryTTS/DOCS.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ```yaml 4 | language: de 5 | ``` 6 | 7 | ### `language` 8 | 9 | One of the languages `de`, `en`, `fr`, `it`, `in`, `tu` and `lu`. This should be the same as you configured in Home Assistant. 10 | The voices are downloaded on demand. 11 | 12 | ### `voice` (optional) 13 | 14 | This specifies an url for a custom voice pack. Make sure it is a zip and it contains the voice.jar inside a lib folder. 15 | 16 | # UI 17 | 18 | The Demo-UI of MaryTTS can be accessed via `http://:59125`. 19 | -------------------------------------------------------------------------------- /MaryTTS/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | 5 | RUN apk add --no-cache \ 6 | 'wget=1.21.1-r1' \ 7 | 'unzip=6.0-r9' 8 | 9 | ENV MARYTTS_VERSION 5.2 10 | RUN wget -q --show-progress "https://github.com/marytts/marytts/releases/download/v${MARYTTS_VERSION}/marytts-${MARYTTS_VERSION}.zip" &&\ 11 | unzip marytts-${MARYTTS_VERSION}.zip -d / && mv /marytts-${MARYTTS_VERSION} /app 12 | 13 | FROM $BUILD_FROM AS RUNNING 14 | 15 | 16 | RUN apk update && \ 17 | apk add --no-cache 'openjdk8=8.302.08-r1' 18 | 19 | #Used for the voice pack downloads 20 | ENV MARYTTS_VERSION 5.2 21 | 22 | COPY --from=BUILD /app /app 23 | 24 | ENTRYPOINT [ "/init" ] 25 | CMD [] 26 | COPY root / 27 | -------------------------------------------------------------------------------- /MaryTTS/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # MaryTTS Addon 12 | 13 | The MaryTTS system as Home Assistant Supervisor Addon, to integrate a local TTS nicely. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | 27 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 28 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 29 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 30 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 31 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 32 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 33 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 34 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 35 | [donation-url]: https://www.buymeacoffee.com/Poeschl 36 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 37 | 38 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_marytts 39 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 40 | -------------------------------------------------------------------------------- /MaryTTS/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.14 3 | armv7: ghcr.io/home-assistant/armv7-base:3.14 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.14 5 | amd64: ghcr.io/home-assistant/amd64-base:3.14 6 | i386: ghcr.io/home-assistant/i386-base:3.14 7 | -------------------------------------------------------------------------------- /MaryTTS/config.yaml: -------------------------------------------------------------------------------- 1 | name: MaryTTS 2 | version: 1.5.2-migrate 3 | slug: marytts 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/MaryTTS 6 | webui: http://[HOST]:[PORT:59125] 7 | arch: 8 | - armhf 9 | - armv7 10 | - aarch64 11 | - amd64 12 | - i386 13 | image: ghcr.io/poeschl-homeassistant-addons/marytts-{arch} 14 | init: false 15 | ports: 16 | 59125/tcp: 59125 17 | ports_description: 18 | 59125/tcp: Port to access MaryTTS 19 | options: 20 | language: en 21 | schema: 22 | language: list(de|en|fr|it|in|tu|lu) 23 | voice: match(^https?://.+\.zip)? 24 | homeassistant_api: true 25 | -------------------------------------------------------------------------------- /MaryTTS/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/MaryTTS/icon.png -------------------------------------------------------------------------------- /MaryTTS/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/MaryTTS/logo.png -------------------------------------------------------------------------------- /MaryTTS/root/etc/s6-overlay/s6-rc.d/marytts/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | 3 | # Enable Jemalloc for better memory handling 4 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 5 | 6 | bashio::log.info 'Setup voice' 7 | if [ -n "$(bashio::config 'voice')" ] && [ ! "$(bashio::config 'voice')" == 'null' ]; then 8 | bashio::log.info 'Using custom voice pack!' 9 | voice_pack=$(bashio::config 'voice') 10 | else 11 | if [ "$(bashio::config 'language')" == 'de' ]; then 12 | voice_pack="https://github.com/marytts/voice-dfki-pavoque-neutral-hsmm/releases/download/v${MARYTTS_VERSION}/voice-dfki-pavoque-neutral-hsmm-${MARYTTS_VERSION}.zip" 13 | elif [ "$(bashio::config 'language')" == 'en' ]; then 14 | voice_pack="https://github.com/marytts/voice-cmu-slt-hsmm/releases/download/v${MARYTTS_VERSION}/voice-cmu-slt-hsmm-${MARYTTS_VERSION}.zip" 15 | elif [ "$(bashio::config 'language')" == 'fr' ]; then 16 | voice_pack="https://github.com/marytts/voice-enst-camille-hsmm/releases/download/v${MARYTTS_VERSION}/voice-enst-camille-hsmm-${MARYTTS_VERSION}.zip" 17 | elif [ "$(bashio::config 'language')" == 'it' ]; then 18 | voice_pack="https://github.com/marytts/voice-istc-lucia-hsmm/releases/download/v${MARYTTS_VERSION}/voice-istc-lucia-hsmm-${MARYTTS_VERSION}.zip" 19 | elif [ "$(bashio::config 'language')" == 'in' ]; then 20 | voice_pack="https://github.com/marytts/voice-cmu-nk-hsmm/releases/download/v${MARYTTS_VERSION}/voice-cmu-nk-hsmm-${MARYTTS_VERSION}.zip" 21 | elif [ "$(bashio::config 'language')" == 'tu' ]; then 22 | voice_pack="https://github.com/marytts/voice-dfki-ot-hsmm/releases/download/v${MARYTTS_VERSION}/voice-dfki-ot-hsmm-${MARYTTS_VERSION}.zip" 23 | elif [ "$(bashio::config 'language')" == 'lu' ]; then 24 | voice_pack="https://github.com/marytts/voice-marylux-lb/releases/download/v${MARYTTS_VERSION}/voice-marylux-lb-${MARYTTS_VERSION}.zip" 25 | fi 26 | fi 27 | 28 | voice_pack_full_name="$(basename -- "$voice_pack")" 29 | voice_pack_name=${voice_pack_full_name%.zip} 30 | 31 | if [ ! -f "/app/lib/${voice_pack_name}.jar" ]; then 32 | bashio::log.info "Downloading ${voice_pack_name}..." 33 | wget -P /tmp -q "$voice_pack" 34 | 35 | unzip "/tmp/${voice_pack_full_name}" -d /tmp 36 | mv "/tmp/lib/${voice_pack_name}.jar" /app/lib 37 | 38 | bashio::log.info "Installed $voice_pack_name" 39 | fi 40 | 41 | bashio::log.info 'Start MaryTTS (taking some time, will output the port when up)' 42 | cd /app 43 | bin/marytts-server 44 | -------------------------------------------------------------------------------- /MaryTTS/root/etc/s6-overlay/s6-rc.d/marytts/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /MaryTTS/root/etc/s6-overlay/s6-rc.d/user/contents.d/marytts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/MaryTTS/root/etc/s6-overlay/s6-rc.d/user/contents.d/marytts -------------------------------------------------------------------------------- /OWASP-ZAP/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.2.0 - 2022-04-05 2 | 3 | * 🔼 Update Java to `11.0.14+9-1~deb10u1` 4 | * 🔼 Update xvfb to `2:1.20.4-1+deb10u4` 5 | * 📝 Updated config.json and Readme 6 | 7 | 8 | ## 2.1.0 - 2021-04-02 9 | 10 | * 🔨 Use ghcr.io/home-assistant for base images 11 | 12 | 13 | ## 2.0.1 - 2021-03-17 14 | 15 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 16 | 17 | 18 | ## 2.0.0 - 2021-02-24 19 | 20 | * 🔼 Update OWASP ZAP to `2.10.0` 21 | * 🔼 Update Java to `11.0.9.1+1-1~deb10u2` 22 | * 🔼 Update xvfb to `2:1.20.4-1+deb10u2` 23 | * 🔼 Update x11vnc to `0.9.13-6+deb10u1` 24 | * ➖ Removed all packages for building 25 | * 🔨 Use official docker image as source 26 | * 🔨 Use S6-Overlay for execution 27 | 28 | 29 | ## 1.1.0 - 2020-10-06 30 | 31 | * 🔨 Updated Webswing download link 32 | * 🔼 Update xvfb to `2:1.20.4-1+deb10u1` 33 | 34 | 35 | ## 1.0.1 - 2020-05-22 36 | 37 | * 🔨 Updated Changelog to new format 38 | * 🔼 Update git to `1:2.20.1-2+deb10u3` 39 | 40 | 41 | ## 1.0.0 - 2020-03-05 42 | 43 | * ➕ Added OWASP ZAP 2.9.0 44 | -------------------------------------------------------------------------------- /OWASP-ZAP/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM owasp/zap2docker-stable:2.10.0 AS REPOSITORY 3 | 4 | FROM $BUILD_FROM AS RUNNING 5 | 6 | SHELL ["/bin/bash", "-o", "pipefail", "-c"] 7 | RUN apt-get update && apt-get -y --no-install-recommends install \ 8 | python3=3.7.3-1 \ 9 | xvfb=2:1.20.4-1+deb10u4 \ 10 | xauth=1:1.0.10-1 \ 11 | x11vnc=0.9.13-6+deb10u1 \ 12 | wget=1.20.1-1.1 \ 13 | gnupg=2.2.12-1+deb10u1 \ 14 | openjdk-11-jdk=11.0.14+9-1~deb10u1 \ 15 | && apt-get clean && rm -rf /var/lib/apt/lists/* 16 | 17 | WORKDIR /zap 18 | 19 | COPY --from=REPOSITORY /zap /zap 20 | 21 | ENV PATH /zap:/root/.local/bin:$PATH 22 | ENV ZAP_PATH /zap/zap.sh 23 | ENV IS_CONTAINERIZED true 24 | ENV ZAP_PORT 8080 25 | 26 | ENTRYPOINT [ "/init" ] 27 | CMD [] 28 | COPY root / 29 | -------------------------------------------------------------------------------- /OWASP-ZAP/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # OWASP ZAP Home Assistant Addon 12 | 13 | # 🕸️ Depreciated 14 | 15 | The world's most popular free web security tool, now as Home Assistant addon. 16 | I personally use it to occasionally check data of IoT devices. 17 | 18 | More on the [official website](https://www.zaproxy.org/). 19 | 20 | ![Addon Stage][stage-badge] 21 | ![Supports aarch64 Architecture][aarch64-badge] 22 | ![Supports amd64 Architecture][amd64-badge] 23 | ![Supports armhf Architecture][armhf-badge] 24 | ![Supports armv7 Architecture][armv7-badge] 25 | ![Supports i386 Architecture][i386-badge] 26 | 27 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 28 | [![Install on my Home Assistant][install-badge]][install-url] 29 | [![Donate][donation-badge]][donation-url] 30 | 31 | ## Configuration 32 | 33 | At the moment there is none on the addon itself. Settings can be adjusted over the ui of ZAP itself. 34 | 35 | ### Raspberry Pi 36 | 37 | ZAP's startup is very slow on a Raspberry Pi 4. You have been warned. 38 | 39 | 40 | [aarch64-badge]: https://img.shields.io/badge/aarch64-no-red.svg?style=for-the-badge 41 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 42 | [armhf-badge]: https://img.shields.io/badge/armhf-no-red.svg?style=for-the-badge 43 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 44 | [i386-badge]: https://img.shields.io/badge/i386-no-red.svg?style=for-the-badge 45 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 46 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 47 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 48 | [donation-url]: https://www.buymeacoffee.com/Poeschl 49 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 50 | 51 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_owasp_zap 52 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 53 | -------------------------------------------------------------------------------- /OWASP-ZAP/build.json: -------------------------------------------------------------------------------- 1 | { 2 | "build_from": { 3 | "armv7": "ghcr.io/home-assistant/armv7-base-debian:buster", 4 | "amd64": "ghcr.io/home-assistant/amd64-base-debian:buster" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /OWASP-ZAP/config.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "OWASP ZAP", 4 | "version": "2.2.0-migrate", 5 | "slug": "owasp_zap", 6 | "description": "🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository", 7 | "url": "https://github.com/Poeschl/Hassio-Addons/tree/main/OWASP-ZAP", 8 | "arch": [ 9 | "armv7", 10 | "amd64" 11 | ], 12 | "boot": "manual", 13 | "image": "ghcr.io/poeschl-homeassistant-addons/owasp-zap-{arch}", 14 | "webui": "http://[HOST]:[PORT:8080]/zap", 15 | "ingress_port": 8080, 16 | "ingress_entry": "zap/", 17 | "panel_title": "OWASP ZAP", 18 | "panel_icon": "mdi:flash-outline", 19 | "ports": { 20 | "8080/tcp": 8080, 21 | "8090/tcp": 8890 22 | }, 23 | "ports_description": { 24 | "8080/tcp": "Port for the web interface", 25 | "8090/tcp": "Proxy Port to accept requests which are traced." 26 | }, 27 | "homeassistant_api": "true" 28 | } 29 | -------------------------------------------------------------------------------- /OWASP-ZAP/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/OWASP-ZAP/icon.png -------------------------------------------------------------------------------- /OWASP-ZAP/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/OWASP-ZAP/logo.png -------------------------------------------------------------------------------- /OWASP-ZAP/root/etc/services.d/owasp-zap/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") 5 | export JAVA_HOME 6 | 7 | bashio::log.info 'Start OWASP ZAP web interface (Might take some time)' 8 | /zap/zap-webswing.sh 9 | -------------------------------------------------------------------------------- /asterisk/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.1.1 - 2020-07-27 2 | 3 | * Changed repository structure 4 | 5 | ## 1.1.0 - 2022-04-05 6 | 7 | * 🔼 Update asterisk to `18.2.1-r2` 8 | * 📝 Updated config.json and Readme 9 | 10 | ## 1.0.0 - 2021-05-09 11 | 12 | * ➕ Add Asterisk server `0.20.21` 13 | -------------------------------------------------------------------------------- /asterisk/DOCS.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ```yaml 4 | config_files: 5 | - /config/asterisk/sip.conf 6 | ``` 7 | 8 | ### `config_files` 9 | 10 | A list of paths to your configuration files of asterisk. 11 | Every listed file will overwrite the template config file at `/etc/asterisk` on each addon start. 12 | The config files can be located on `/config` or`/share`. 13 | 14 | For the sample files take a look at the [official asterisk repository](https://github.com/asterisk/asterisk/blob/main/configs/samples). 15 | 16 | ## Testing 17 | 18 | As default there is a test sip phone setup. With user `1001` and password `1234` the number `100` can be called. 19 | A sound should confirm the working state. 20 | -------------------------------------------------------------------------------- /asterisk/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM 3 | 4 | RUN apk add --no-cache \ 5 | asterisk=18.2.1-r2 \ 6 | asterisk-sample-config=18.2.1-r2 7 | 8 | ENTRYPOINT [ "/init" ] 9 | CMD [] 10 | COPY root / 11 | -------------------------------------------------------------------------------- /asterisk/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Asterisk 12 | 13 | [Asterisk](https://www.asterisk.org/) is an open source framework for building communications applications. Asterisk turns an ordinary computer into a communications server. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | 27 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 28 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 29 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 30 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 31 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 32 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 33 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 34 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 35 | [donation-url]: https://www.buymeacoffee.com/Poeschl 36 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 37 | 38 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_asterisk 39 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 40 | -------------------------------------------------------------------------------- /asterisk/build.json: -------------------------------------------------------------------------------- 1 | { 2 | "build_from": { 3 | "armhf": "ghcr.io/home-assistant/armhf-base:3.13", 4 | "armv7": "ghcr.io/home-assistant/armv7-base:3.13", 5 | "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", 6 | "amd64": "ghcr.io/home-assistant/amd64-base:3.13", 7 | "i386": "ghcr.io/home-assistant/i386-base:3.13" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /asterisk/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Asterisk", 3 | "version": "1.1.1-migrate", 4 | "slug": "asterisk", 5 | "description": "🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository", 6 | "url": "https://github.com/Poeschl/Hassio-Addons/tree/main/asterisk", 7 | "arch": [ 8 | "armv7", 9 | "armhf", 10 | "aarch64", 11 | "amd64", 12 | "i386" 13 | ], 14 | "image": "ghcr.io/poeschl-homeassistant-addons/asterisk-{arch}", 15 | "map": ["share","config"], 16 | "ports": { 17 | "5060/tcp": 5060, 18 | "5060/udp": 5060, 19 | "4569/udp": 4569, 20 | "2727/udp": 2727 21 | }, 22 | "ports_description": { 23 | "5060/tcp": "Port for SIP", 24 | "5060/udp": "Port for SIP", 25 | "4569/udp": "Port for IAX2", 26 | "2727/udp": "Port for MGCP" 27 | }, 28 | "options": { 29 | "config_files": [] 30 | }, 31 | "schema": { 32 | "config_files": ["match(/(share|config)/.+)"] 33 | }, 34 | "homeassistant_api": "true" 35 | } 36 | -------------------------------------------------------------------------------- /asterisk/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/asterisk/icon.png -------------------------------------------------------------------------------- /asterisk/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/asterisk/logo.png -------------------------------------------------------------------------------- /asterisk/root/etc/asterisk/asterisk.conf: -------------------------------------------------------------------------------- 1 | [directories] 2 | astcachedir => /var/cache/asterisk 3 | astetcdir => /etc/asterisk 4 | astmoddir => /usr/lib/asterisk/modules 5 | astvarlibdir => /var/lib/asterisk 6 | astdbdir => /var/lib/asterisk 7 | astkeydir => /var/lib/asterisk 8 | astdatadir => /var/lib/asterisk 9 | astagidir => /var/lib/asterisk/agi-bin 10 | astspooldir => /var/spool/asterisk 11 | astrundir => /var/run/asterisk 12 | astlogdir => /var/log/asterisk 13 | astsbindir => /usr/sbin -------------------------------------------------------------------------------- /asterisk/root/etc/asterisk/extensions.conf: -------------------------------------------------------------------------------- 1 | [internal] 2 | exten = 100,1,Answer() 3 | same = n,Wait(1) 4 | same = n,Playback(test) 5 | same = n,Hangup() -------------------------------------------------------------------------------- /asterisk/root/etc/asterisk/modules.conf: -------------------------------------------------------------------------------- 1 | ; 2 | ; Asterisk configuration file 3 | ; 4 | ; Module Loader configuration file 5 | ; 6 | 7 | [modules] 8 | autoload=yes 9 | ; 10 | ; Any modules that need to be loaded before the Asterisk core has been 11 | ; initialized (just after the logger initialization) can be loaded 12 | ; using 'preload'. 'preload' forces a module and the modules it 13 | ; is known to depend upon to be loaded earlier than they normally get 14 | ; loaded. 15 | ; 16 | ; NOTE: There is no good reason left to use 'preload' anymore. It was 17 | ; historically required to preload realtime driver modules so you could 18 | ; map Asterisk core configuration files to Realtime storage. 19 | ; This is no longer needed. 20 | ; 21 | ;preload = your_special_module.so 22 | ; 23 | ; If you want Asterisk to fail if a module does not load, then use 24 | ; the "require" keyword. Asterisk will exit with a status code of 2 25 | ; if a required module does not load. 26 | ; 27 | ;require = chan_pjsip.so 28 | ; 29 | ; If you want you can combine with preload 30 | ; preload-require = your_special_module.so 31 | ; 32 | ;load = res_musiconhold.so 33 | ; 34 | ; Load one of: chan_oss, alsa, or console (portaudio). 35 | ; By default, load chan_oss only (automatically). 36 | ; 37 | noload = chan_alsa.so 38 | noload = chan_console.so 39 | ;noload = chan_oss.so 40 | ; 41 | ; Do not load res_hep and kin unless you are using HEP monitoring 42 | ; in your network. 43 | ; 44 | noload = res_hep.so 45 | noload = res_hep_pjsip.so 46 | noload = res_hep_rtcp.so 47 | ; 48 | ; Do not load chan_sip by default, it may conflict with res_pjsip. 49 | noload = chan_sip.so 50 | ; 51 | ; Load one of the voicemail modules as they are mutually exclusive. 52 | ; By default, load app_voicemail only (automatically). 53 | ; 54 | ;noload = app_voicemail.so 55 | noload = app_voicemail_imap.so 56 | noload = app_voicemail_odbc.so -------------------------------------------------------------------------------- /asterisk/root/etc/asterisk/pjsip.conf: -------------------------------------------------------------------------------- 1 | [general] 2 | type=transport 3 | protocol=udp 4 | bind=0.0.0.0 5 | 6 | [1001] 7 | type = endpoint 8 | context = internal 9 | disallow=all 10 | allow=ulaw 11 | aors = 1001 12 | auth = auth1001 13 | 14 | [1001] 15 | type = aor 16 | max_contacts = 1 17 | 18 | [auth1001] 19 | type=auth 20 | auth_type=userpass 21 | password=1234 22 | username=1001 -------------------------------------------------------------------------------- /asterisk/root/etc/cont-init.d/setup-config-files.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | CONFIG_FILES=$(bashio::config 'config_files') 6 | 7 | for config in $CONFIG_FILES; do 8 | bashio::log.info "Apply '$config'" 9 | cp "$config" '/etc/asterisk/' 10 | done 11 | 12 | chown -R asterisk:asterisk /etc/asterisk 13 | chmod 640 -R /etc/asterisk 14 | -------------------------------------------------------------------------------- /asterisk/root/etc/fix-attrs.d/sample-sound: -------------------------------------------------------------------------------- 1 | /var/lib/asterisk/sounds/test.wav false asterisk:asterisk 0640 0640 -------------------------------------------------------------------------------- /asterisk/root/etc/services.d/asterisk/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | # Enable Jemalloc for better memory handling 5 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 6 | 7 | bashio::log.info 'Start Asterisk' 8 | asterisk -T -W -p -f -dd 9 | -------------------------------------------------------------------------------- /asterisk/root/var/lib/asterisk/sounds/test.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/asterisk/root/var/lib/asterisk/sounds/test.wav -------------------------------------------------------------------------------- /container-stats/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.5.0 - 2022-04-05 2 | 3 | * 🔼 Update npm/nodejs to `14.19.0-r0` 4 | * 📝 Updated config.json and Readme 5 | 6 | 7 | ## 1.4.0 - 2021-04-02 8 | 9 | * 🔨 Use ghcr.io/home-assistant for base images 10 | * 🔼 Update docker to `12.20.1-r1` 11 | 12 | 13 | ## 1.3.1 - 2021-03-17 14 | 15 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 16 | * 🔼 Update git to `2.30.2-r0` 17 | 18 | ## 1.3.0 - 2021-02-27 19 | 20 | * 🔼 Update alpine to `3.13` 21 | * 🔼 Update git to `2.30.1-r0` 22 | * 🔼 Update npm/nodejs to `14.16.0-r0` 23 | * 🔼 Update python2 to `2.7.18-r1` 24 | * 🔼 Update g++ to `20.10.3-r0` 25 | * 🔼 Update docker to `12.20.1-r0` 26 | * 🔼 Update sqlite to `3.34.1-r0` 27 | 28 | 29 | ## 1.2.0 - 2021-01-15 30 | 31 | * 🧪 Mark addon as experimental. It fills up all the available memory when running, see [Readme](https://github.com/Poeschl/Hassio-Addons/blob/main/container-stats/README.md). 32 | * 🔼 Update npm to `12.20.1-r0` 33 | 34 | 35 | ## 1.1.1 - 2020-12-16 36 | 37 | * 🐛 Fix database location 38 | * 🔨 Create a persistence setting 39 | 40 | 41 | ## 1.1.0 - 2020-12-16 42 | 43 | * 🔨 Make statistics persistent 44 | 45 | 46 | ## 1.0.1 - 2020-12-03 47 | 48 | * 🔨 Fixed link to Github 49 | 50 | 51 | ## 1.0.0 - 2019-11-27 52 | 53 | * ➕ Introduced container-stats addon 54 | -------------------------------------------------------------------------------- /container-stats/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Precondition 2 | 3 | Unfortunately there is now way to access the docker api without disabling the *Protection Mode* of the addon. 4 | Technically with disabling it, the addon can access and control other addons and the core on a HA supervised system. 5 | But without it we can not retrieve the statistics of the running container and this addon don't work at all. 6 | 7 | To make the addon work you have to disable the *Protection Mode* on the addon details page. 8 | **Only do this if you know what this means to your system** 9 | 10 | If you want to review the source of the contained application [here is your link](https://github.com/virtualzone/docker-container-stats). 11 | At the time of writing all docker related code is in `stats.js`. 12 | 13 | ## Config 14 | 15 | ### `persistent` 16 | 17 | Enable persistence of the collected data. If disabled the data vanish on addon stop. 18 | 19 | ### `update_interval` (Optional) 20 | 21 | Set a custom update interval for the data in seconds. Defaults to `60` seconds. 22 | -------------------------------------------------------------------------------- /container-stats/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | 3 | FROM $BUILD_FROM AS REPOSITORY 4 | 5 | RUN apk --update add --no-cache \ 6 | git=2.30.2-r0 7 | 8 | ENV COMMIT_SHA '586ebebf16195bfab7ffd2b3dbc4344077e72a05' 9 | # hadolint ignore=DL3003 10 | RUN git clone https://github.com/virtualzone/docker-container-stats.git -b master /container-stats && \ 11 | cd /container-stats && git checkout $COMMIT_SHA 12 | 13 | 14 | FROM $BUILD_FROM AS BUILD 15 | 16 | RUN apk --update add --no-cache \ 17 | npm=14.19.0-r0 \ 18 | python2=2.7.18-r1 \ 19 | make=4.3-r0 \ 20 | g++=10.2.1_pre1-r3 21 | 22 | WORKDIR /container-stats 23 | 24 | RUN npm update && \ 25 | npm install \ 26 | express@4.17.1 \ 27 | sqlite3@5.0.0 \ 28 | body-parser@1.19.0 \ 29 | moment@2.29.1 30 | 31 | FROM $BUILD_FROM AS RUNNING 32 | 33 | RUN apk --update add --no-cache \ 34 | nodejs=14.19.0-r0 \ 35 | docker=20.10.3-r1 \ 36 | sqlite=3.34.1-r0 37 | 38 | COPY --from=BUILD /container-stats /container-stats 39 | COPY --from=REPOSITORY /container-stats/stats.js /container-stats 40 | COPY --from=REPOSITORY /container-stats/httpd.js /container-stats 41 | COPY --from=REPOSITORY /container-stats/html /container-stats/html 42 | 43 | ENTRYPOINT [ "/init" ] 44 | CMD [] 45 | COPY root / 46 | -------------------------------------------------------------------------------- /container-stats/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Docker Container Stats (Home Assistant Addon) 12 | 13 | # 🕸️ Depreciated 14 | 15 | It contains [Docker Container Stats](https://github.com/virtualzone/docker-container-stats) to monitor all running containers / addons. 16 | 17 | ![Addon Stage][stage-badge] 18 | ![Supports aarch64 Architecture][aarch64-badge] 19 | ![Supports amd64 Architecture][amd64-badge] 20 | ![Supports armhf Architecture][armhf-badge] 21 | ![Supports armv7 Architecture][armv7-badge] 22 | ![Supports i386 Architecture][i386-badge] 23 | 24 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 25 | [![Install on my Home Assistant][install-badge]][install-url] 26 | [![Donate][donation-badge]][donation-url] 27 | 28 | ## 🧪 Experimental Addon 29 | 30 | During long-term usage I noticed that the addon fills up all available memory when getting the data for a week. 31 | Especially on a Raspberry Pi with Home Assistant this means death in a few minutes. 32 | __Use this addon on your own risk!__ 33 | 34 | ## Security 35 | 36 | Since the addon accesses the docker api, the security rating is this low. 37 | Unfortunately there is now way to access the docker api without disabling the *Protection Mode* of the addon. 38 | Technically with disabling it, the addon can access and control other addons and the core on a HA supervised system. 39 | But without it we can not retrieve the statistics of the running container and this addon don't work at all. 40 | 41 | 42 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 43 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 44 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 45 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 46 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 47 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-experimental%20🧪-yellow.svg?style=for-the-badge 48 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 49 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 50 | [donation-url]: https://www.buymeacoffee.com/Poeschl 51 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 52 | 53 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_container-stats 54 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 55 | -------------------------------------------------------------------------------- /container-stats/build.json: -------------------------------------------------------------------------------- 1 | { 2 | "build_from": { 3 | "armhf": "ghcr.io/home-assistant/armhf-base:3.13", 4 | "armv7": "ghcr.io/home-assistant/armv7-base:3.13", 5 | "aarch64": "ghcr.io/home-assistant/aarch64-base:3.13", 6 | "amd64": "ghcr.io/home-assistant/amd64-base:3.13", 7 | "i386": "ghcr.io/home-assistant/i386-base:3.13" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /container-stats/config.json: -------------------------------------------------------------------------------- 1 | 2 | { 3 | "name": "Docker Container Stats", 4 | "version": "1.5.0-migrate", 5 | "slug": "container-stats", 6 | "description": "🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository", 7 | "url": "https://github.com/Poeschl/Hassio-Addons/tree/main/container-stats", 8 | "arch": [ 9 | "armhf", 10 | "armv7", 11 | "aarch64", 12 | "amd64", 13 | "i386" 14 | ], 15 | "ingress": true, 16 | "ingress_port": 8080, 17 | "panel_title": "Docker Container Stats", 18 | "panel_icon": "mdi:chart-line", 19 | "stage": "experimental", 20 | "docker_api": true, 21 | "image": "ghcr.io/poeschl-homeassistant-addons/container-stats-{arch}", 22 | "ports": { 23 | "8080/tcp": null 24 | }, 25 | "ports_description": { 26 | "8080/tcp": "Web Interface (Not required for Supervisor Ingress)" 27 | }, 28 | "map": [], 29 | "schema": { 30 | "update_interval": "int?", 31 | "persistent": "bool" 32 | }, 33 | "options": { 34 | "persistent": "true" 35 | }, 36 | "homeassistant_api": "true" 37 | } 38 | -------------------------------------------------------------------------------- /container-stats/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/container-stats/icon.png -------------------------------------------------------------------------------- /container-stats/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/container-stats/logo.png -------------------------------------------------------------------------------- /container-stats/root/etc/services.d/stats/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | bashio::log.info 'Start docker statistics' 5 | 6 | if bashio::config.has_value 'update_interval'; then 7 | export STATS_UPDATE_INTERVAL=$(bashio::config 'update_interval') 8 | fi 9 | 10 | if [ ! -d /container-stats/db ] && bashio::config 'persistent'; then 11 | [ ! -d /data/db ] && mkdir -p /data/db 12 | ln -s /data/db/ /container-stats/db 13 | else 14 | mkdir -p /container-stats/db 15 | fi 16 | 17 | cd /container-stats 18 | node stats.js 19 | -------------------------------------------------------------------------------- /container-stats/root/etc/services.d/webserver/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | if [ ! -d /container-stats/db ]; then 5 | bashio::log.debug 'Wait for database' 6 | sleep 2s 7 | fi 8 | 9 | bashio::log.info 'Start webserver' 10 | cd /container-stats 11 | node httpd.js 12 | -------------------------------------------------------------------------------- /git-exporter/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | RUN apk add --no-cache \ 5 | 'git=2.36.6-r0' \ 6 | 'make=4.3-r0' 7 | 8 | ENV GIT_SECRET_VERSION 1.3.0 9 | # hadolint ignore=DL3003 10 | RUN git config --global advice.detachedHead false && \ 11 | git clone https://github.com/awslabs/git-secrets.git -b ${GIT_SECRET_VERSION} /git-secrets && \ 12 | cd /git-secrets && make install 13 | 14 | FROM $BUILD_FROM AS RUNNING 15 | 16 | RUN apk add --no-cache \ 17 | 'git=2.36.6-r0' \ 18 | 'rsync=3.2.7-r0' \ 19 | 'grep=3.7-r0' \ 20 | 'sed=4.8-r0' \ 21 | 'python3=3.10.13-r0' \ 22 | 'py3-pip=22.1.1-r0' \ 23 | 'findutils=4.9.0-r0' \ 24 | && pip3 install --no-cache-dir PyYAML==5.3.1 dotty-dict==1.3.1 25 | 26 | COPY --from=BUILD /usr/local/bin/git-secrets /usr/local/bin/git-secrets 27 | 28 | COPY root / 29 | RUN chmod a+x /run.sh /utils/* 30 | ENTRYPOINT [ "/run.sh" ] 31 | -------------------------------------------------------------------------------- /git-exporter/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Home Assistant Git Exporter 12 | 13 | Export all of your Home Assistant configuration to a git repository of your choice. 14 | Can be used to show your Home Assistant setup in public repositories. 15 | 16 | ![Addon Stage][stage-badge] 17 | ![Supports aarch64 Architecture][aarch64-badge] 18 | ![Supports amd64 Architecture][amd64-badge] 19 | ![Supports armhf Architecture][armhf-badge] 20 | ![Supports armv7 Architecture][armv7-badge] 21 | ![Supports i386 Architecture][i386-badge] 22 | 23 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 24 | [![Install on my Home Assistant][install-badge]][install-url] 25 | [![Donate][donation-badge]][donation-url] 26 | 27 | # Functionality 28 | 29 | * Export Home Assistant configuration. 30 | * Export Supervisor Addon configuration. 31 | * Export Lovelace configuration. 32 | * Export ESPHome configurations. 33 | * Export Node-RED flows. 34 | * Check for plaintext secrets based on your `secrets.yaml` file and common patterns. 35 | * Check for plaintext ip and addresses in your config. 36 | 37 | # Example 38 | 39 | For an example take a look at my own [Home Assistant configuration](https://github.com/Poeschl/home-assistant-config). 40 | The folders there are gettings synced with this addon. 41 | 42 | 43 | # Badge 44 | 45 | If you export your config with this addon and want to help me to spread it further, here is a badge you can embed in your README. 46 | 47 | [![Home Assistant Git Exporter](https://img.shields.io/badge/Powered%20by-Home%20Assistant%20Git%20Exporter-%23d32f2f)](https://github.com/Poeschl/Hassio-Addons/tree/main/git-exporter) 48 | 49 | ```markdown 50 | [![Home Assistant Git Exporter](https://img.shields.io/badge/Powered%20by-Home%20Assistant%20Git%20Exporter-%23d32f2f)](https://github.com/Poeschl/Hassio-Addons/tree/main/git-exporter) 51 | ``` 52 | 53 | 54 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 55 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 56 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 57 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 58 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 59 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 60 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 61 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 62 | [donation-url]: https://www.buymeacoffee.com/Poeschl 63 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 64 | 65 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_git-exporter 66 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 67 | -------------------------------------------------------------------------------- /git-exporter/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.16 5 | amd64: ghcr.io/home-assistant/amd64-base:3.16 6 | i386: ghcr.io/home-assistant/i386-base:3.16 7 | -------------------------------------------------------------------------------- /git-exporter/config.yaml: -------------------------------------------------------------------------------- 1 | name: Home Assistant Git Exporter 2 | version: 1.17.1-migrate 3 | slug: git-exporter 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/git-exporter 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | - amd64 11 | - i386 12 | startup: once 13 | boot: manual 14 | init: false 15 | image: ghcr.io/poeschl-homeassistant-addons/git-exporter-{arch} 16 | hassio_api: true 17 | hassio_role: manager 18 | map: 19 | - config 20 | options: 21 | repository: 22 | url: '' 23 | username: '' 24 | password: '' 25 | pull_before_push: true 26 | commit_message: Home Assistant Git Exporter 27 | branch_name: main 28 | export: 29 | lovelace: true 30 | addons: true 31 | esphome: true 32 | node_red: true 33 | check: 34 | enabled: true 35 | check_for_secrets: true 36 | check_for_ips: true 37 | exclude: 38 | - '*.db' 39 | - '*.log*' 40 | - __pycache__ 41 | - ._* 42 | - .DS_Store 43 | - deps/ 44 | - known_devices.yaml 45 | - tts/ 46 | - '*.db-shm' 47 | - '*.db-wal' 48 | - '*.gz' 49 | secrets: [] 50 | allowed_secrets: [] 51 | dry_run: false 52 | schema: 53 | repository: 54 | url: match(https://.*) 55 | email: match(.+@.+)? 56 | username: str 57 | password: password 58 | pull_before_push: bool 59 | commit_message: str 60 | branch_name: str 61 | ssl_verification: bool? 62 | export: 63 | lovelace: bool 64 | addons: bool 65 | esphome: bool 66 | node_red: bool 67 | check: 68 | enabled: bool 69 | check_for_secrets: bool 70 | check_for_ips: bool 71 | exclude: 72 | - str 73 | secrets: 74 | - str 75 | allowed_secrets: 76 | - str 77 | dry_run: bool 78 | homeassistant_api: true 79 | -------------------------------------------------------------------------------- /git-exporter/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/git-exporter/icon.png -------------------------------------------------------------------------------- /git-exporter/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/git-exporter/logo.png -------------------------------------------------------------------------------- /git-exporter/root/utils/jsonToYaml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import json 3 | import sys 4 | import os 5 | import yaml 6 | from dotty_dict import dotty 7 | 8 | def convert_file(file, path): 9 | yaml_file_name = os.path.splitext(file)[0] + ".yaml" 10 | #print (file + ' -> ' + yaml_file_name) 11 | with open(file, 'r') as infile: 12 | with open(yaml_file_name, 'w+') as outfile: 13 | if path is not None: 14 | data = dotty(json.load(infile)).get(path) 15 | else: 16 | data = json.load(infile) 17 | 18 | yaml.dump(data, outfile, default_flow_style=False) 19 | 20 | input_file = sys.argv[1] 21 | if len(sys.argv) > 2: 22 | path = sys.argv[2] 23 | else: 24 | path = None 25 | 26 | if os.path.isfile(input_file): 27 | convert_file(input_file, path) 28 | else: 29 | #print ('Convert folder ' + input_file) 30 | for json_file in os.listdir(input_file): 31 | convert_file(os.path.dirname(input_file) + '/' + json_file, path) 32 | -------------------------------------------------------------------------------- /juice-shop/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.2.0 - 2022-07-28 2 | 3 | * 🔼 Updated Juice Shop to `14.1.1` 4 | * 🔼 Updated Alpine to `3.16` 5 | * 🔼 Updated git to `2.36.2-r0` 6 | * 🔼 Updated npm to `14.19.0-r0` 7 | * 🔼 Updated python(3) to `3.10.5-r0` 8 | * 🔼 Updated build-base to `0.5-r3` 9 | * 🔼 Updated typescript to `4.7.4` 10 | * 🔼 Updated ts-node to `10.9.1` 11 | * 🔥 Remove support for armhf, armv7, aarch64 architectures (literally Pi's) 12 | * 🔨 Migrated to S6-Overlay `V3` 13 | * 📝 Updated to new repository structure + Yaml config 14 | s 15 | 16 | ## 1.1.0 - 2022-04-10 17 | 18 | * 🔼 Updated npm to `14.19.0-r0` 19 | * 📝 Updated Readme 20 | 21 | 22 | ## 1.0.0 - 2021-07-07 23 | 24 | * ➕ Addon Juice Shop `12.8.1` 25 | -------------------------------------------------------------------------------- /juice-shop/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | ENV LANG C.UTF-8 5 | 6 | RUN apk add --no-cache \ 7 | git=2.36.2-r0 \ 8 | npm=8.10.0-r0 \ 9 | python3=3.10.5-r0 \ 10 | build-base=0.5-r3 11 | 12 | # Splited RUN for better layer caching 13 | # hadolint ignore=DL3059 14 | RUN git config --global advice.detachedHead false && \ 15 | git clone https://github.com/bkimminich/juice-shop.git -b v14.1.1 /app 16 | 17 | WORKDIR /app 18 | RUN npm install typescript@4.7.4 ts-node@10.9.1 && \ 19 | npm install --omit=dev --unsafe-perm && \ 20 | npm dedupe && \ 21 | rm -rf frontend/node_modules && \ 22 | rm -rf frontend/.angular && \ 23 | rm -rf frontend/src/assets && \ 24 | mkdir logs && \ 25 | chown -R 65532 logs && \ 26 | chgrp -R 0 ftp/ frontend/dist/ logs/ data/ i18n/ && \ 27 | chmod -R g=u ftp/ frontend/dist/ logs/ data/ i18n/ 28 | 29 | 30 | FROM $BUILD_FROM AS RUNNING 31 | 32 | RUN apk add --no-cache \ 33 | npm=8.10.0-r0 34 | 35 | WORKDIR /app 36 | 37 | COPY --from=BUILD /app /app 38 | 39 | ENTRYPOINT [ "/init" ] 40 | CMD [] 41 | COPY root / 42 | -------------------------------------------------------------------------------- /juice-shop/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # OWASP Juice Shop (Home Assistant Addon) 12 | 13 | [OWASP Juice Shop](https://owasp.org/www-project-juice-shop/) is probably the most modern and sophisticated insecure web application! It can be used in security trainings, awareness demos, CTFs and as a guinea pig for security tools! Juice Shop encompasses vulnerabilities from the entire OWASP Top Ten along with many other security flaws found in real-world applications! 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | ![Screenshots](https://raw.githubusercontent.com/bkimminich/juice-shop/main/screenshots/slideshow.gif) 27 | 28 | I ported it over as Home Assistant Addon as a fun project. Just in case you want to do the juice shop on your Home Assistant OS. 29 | 30 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 31 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 32 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 33 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 34 | [i386-badge]: https://img.shields.io/badge/i386-no-red.svg?style=for-the-badge 35 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 36 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 37 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 38 | [donation-url]: https://www.buymeacoffee.com/Poeschl 39 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 40 | 41 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_juice-shop 42 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 43 | -------------------------------------------------------------------------------- /juice-shop/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | amd64: ghcr.io/home-assistant/amd64-base:3.16 3 | -------------------------------------------------------------------------------- /juice-shop/config.yaml: -------------------------------------------------------------------------------- 1 | name: OWASP Juice Shop 2 | version: 1.2.1-migrate 3 | slug: juice-shop 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/juice-shop 6 | arch: 7 | - amd64 8 | image: ghcr.io/poeschl-homeassistant-addons/juice-shop-{arch} 9 | init: false 10 | ports: 11 | 3000/tcp: 12 | ports_description: 13 | 3000/tcp: Port serving the Juice Shop (Not required for Supervisor Ingress) 14 | ingress: true 15 | ingress_port: 3000 16 | panel_title: OWASP Juice Shop 17 | panel_icon: mdi:basket 18 | homeassistant_api: true 19 | -------------------------------------------------------------------------------- /juice-shop/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/juice-shop/icon.png -------------------------------------------------------------------------------- /juice-shop/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/juice-shop/logo.png -------------------------------------------------------------------------------- /juice-shop/root/etc/s6-overlay/s6-rc.d/juice-shop/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | # Enable Jemalloc for better memory handling 5 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 6 | 7 | bashio::log.info 'Start OWASP Juice Shop' 8 | cd /app 9 | npm start 10 | -------------------------------------------------------------------------------- /juice-shop/root/etc/s6-overlay/s6-rc.d/juice-shop/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /juice-shop/root/etc/s6-overlay/s6-rc.d/user/contents.d/juice-shop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/juice-shop/root/etc/s6-overlay/s6-rc.d/user/contents.d/juice-shop -------------------------------------------------------------------------------- /mitmproxy/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.2.0 - 2022-04-05 2 | 3 | * 🔼 Updated python3 to `3.8.10-r0` 4 | * 🔼 Updated python3-dev to `3.8.10-r0` 5 | * 🔼 Update openssl to `1.1.1n-r0` 6 | * 🔼 Update openssl-dev to `1.1.1n-r0` 7 | * 🔼 Update haproxy to `2.2.22-r0` 8 | * 🔼 Update ca-certificates to `20211220-r0` 9 | * 📝 Updated config.json and Readme 10 | 11 | 12 | ## 1.1.0 - 2021-04-02 13 | 14 | * 🔨 Use ghcr.io/home-assistant for base images 15 | * 🔼 Update openssl to `1.1.1k-r0` 16 | * 🔼 Update openssl-dev to `1.1.1k-r0` 17 | * 🔼 Update haproxy to `2.1.12-r0` 18 | 19 | 20 | ## 1.0.5 - 2021-03-17 21 | 22 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 23 | * 🔼 Updated python3 to `3.8.8-r0` 24 | 25 | 26 | ## 1.0.4 - 2021-03-04 27 | 28 | * 🔼 Update python3 to `3.8.5-r1` 29 | * 🔼 Update python3-dev to `3.8.5-r1` 30 | * 🔼 Update haproxy to `2.1.11-r0` 31 | * 🔼 Update openssl to `1.1.1j-r0` 32 | * 🔼 Update openssl-dev to `1.1.1j-r0` 33 | 34 | 35 | ## 1.0.3 - 2020-11-24 36 | 37 | * 🔼 Update haproxy to `2.1.10-r0` 38 | 39 | 40 | ## 1.0.2 - 2020-10-22 41 | 42 | * 🔨 Start as `application` startup type 43 | 44 | 45 | ## 1.0.1 - 2020-10-06 46 | 47 | * 🔼 Update python3 to `3.8.5-r0` 48 | * 🔼 Update python3-dev to `3.8.5-r0` 49 | * 🔼 Update py3-brotli to `1.0.9-r1` 50 | * 🔼 Update ca-certificates to `20191127-r4` 51 | * 🔼 Update haproxy to `2.1.9-r0` 52 | 53 | 54 | ## 1.0.0 - 2020-07-05 55 | 56 | * ➕ Add mitmproxy version `5.1.1` 57 | * ➕ Add haproxy version `2.1.4-r0` 58 | -------------------------------------------------------------------------------- /mitmproxy/DOCS.md: -------------------------------------------------------------------------------- 1 | # Web UI 2 | 3 | To access the web ui of mitmproxy, visit `http://:8081` (or the port you configured). 4 | Currently there is no other method. Will change when [#3234](https://github.com/mitmproxy/mitmproxy/issues/3234) is fixed completly. 5 | 6 | 7 | # Configuration 8 | 9 | The configuration for the mitmproxy can be done via the key-value pairs in the addon configuration. 10 | Just add an new pair to the `options` array. _Please add all settings as strings!_ 11 | 12 | Example: 13 | 14 | ```yaml 15 | options: 16 | - name: "anticache" 17 | value: "true" 18 | - name: "certs" 19 | value: "/ssl/mycert.pem" 20 | ``` 21 | 22 | The list with all possible settings can be found [here](https://docs.mitmproxy.org/stable/concepts-options/#available-options). 23 | If you need to write into a file, the `/share` folder is mapped into the addon. 24 | 25 | 26 | ## Certificates 27 | 28 | To access also the certificates of Home Assistant the `/ssl` folder is mapped in read-only. 29 | Notice that mitmproxy requests the certificates as pem files. 30 | 31 | 32 | ### Own ca certificate 33 | 34 | If you want your own ca signing the traffic the `custom_ca` option can be used. 35 | For more about the ca certificate requirements see [here](https://docs.mitmproxy.org/stable/concepts-certificates/#ca-and-cert-files) 36 | 37 | Example: 38 | 39 | ```yaml 40 | options: 41 | - name: "anticache" 42 | value: "true" 43 | custom_ca: /ssl/ca-cert.pem 44 | ``` 45 | 46 | 47 | ## Fixed Settings 48 | 49 | There are also a few settings which are fixed to their values. Those are: 50 | 51 | * `web_host` 52 | * `web_port` 53 | * `listen_port` 54 | * `confdir` 55 | * `onboarding_host` 56 | * `onboarding_port` 57 | 58 | 59 | # Onboarding 60 | 61 | To install the mitmproxy ca as an trusted certificate authority the onboarding page can be accessed on `http://:8082`. 62 | Notice that your trafic must be routed over mitmproxy to access the page. 63 | -------------------------------------------------------------------------------- /mitmproxy/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | RUN apk add --no-cache \ 5 | python3=3.8.10-r0 \ 6 | python3-dev=3.8.10-r0 \ 7 | py3-pip=20.1.1-r0 \ 8 | py3-wheel=0.34.2-r1 \ 9 | py3-six=1.15.0-r0 \ 10 | py3-parsing=2.4.7-r0 \ 11 | py3-certifi=2020.4.5.1-r0 \ 12 | py3-setuptools=47.0.0-r0 \ 13 | py3-cryptography=2.9.2-r0 \ 14 | py3-brotli=1.0.9-r1 \ 15 | py3-sortedcontainers=2.1.0-r3 \ 16 | py3-tornado=6.0.4-r0 \ 17 | py3-urwid=2.1.0-r0 \ 18 | py3-ruamel.yaml.clib=0.2.0-r0 \ 19 | build-base=0.5-r2 \ 20 | libffi=3.3-r2 \ 21 | libffi-dev=3.3-r2 \ 22 | libstdc++=9.3.0-r2 \ 23 | openssl=1.1.1n-r0 \ 24 | openssl-dev=1.1.1n-r0 &&\ 25 | pip3 install --no-cache-dir --user --upgrade mitmproxy==5.1.1 26 | 27 | 28 | FROM $BUILD_FROM AS RUNNING 29 | 30 | RUN apk add --no-cache \ 31 | python3=3.8.10-r0 \ 32 | ca-certificates=20211220-r0 \ 33 | haproxy=2.2.22-r0 \ 34 | && rm -rf /var/cache/apk/* /tmp/* 35 | 36 | COPY --from=BUILD /root/.local /root/.local 37 | COPY --from=BUILD /usr/lib/python3.8/site-packages /usr/lib/python3.8/site-packages 38 | 39 | ENV PATH /root/.local/bin:$PATH 40 | 41 | ENTRYPOINT [ "/init" ] 42 | CMD [] 43 | COPY root / 44 | -------------------------------------------------------------------------------- /mitmproxy/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # mitmproxy 12 | 13 | # 🕸️ Depreciated 14 | 15 | [mitmproxy](https://mitmproxy.org/) is your swiss-army knife for debugging, testing, privacy measurements, and penetration testing. It can be used to intercept, inspect, modify and replay web traffic such as HTTP/1, HTTP/2, WebSockets, or any other SSL/TLS-protected protocols. You can prettify and decode a variety of message types ranging from HTML to Protobuf, intercept specific messages on-the-fly, modify them before they reach their destination, and replay them to a client or server later on. 16 | 17 | ![Addon Stage][stage-badge] 18 | ![Supports aarch64 Architecture][aarch64-badge] 19 | ![Supports amd64 Architecture][amd64-badge] 20 | ![Supports armhf Architecture][armhf-badge] 21 | ![Supports armv7 Architecture][armv7-badge] 22 | ![Supports i386 Architecture][i386-badge] 23 | 24 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 25 | [![Install on my Home Assistant][install-badge]][install-url] 26 | [![Donate][donation-badge]][donation-url] 27 | 28 | ![Screenshot Webinterface](https://mitmproxy.org/mitmweb.png) 29 | 30 | 31 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 32 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 33 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 34 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 35 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 36 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 37 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 38 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 39 | [donation-url]: https://www.buymeacoffee.com/Poeschl 40 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 41 | 42 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_mitmproxy 43 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 44 | -------------------------------------------------------------------------------- /mitmproxy/build.json: -------------------------------------------------------------------------------- 1 | { 2 | "build_from": { 3 | "armhf": "ghcr.io/home-assistant/armhf-base:3.12", 4 | "armv7": "ghcr.io/home-assistant/armv7-base:3.12", 5 | "aarch64": "ghcr.io/home-assistant/aarch64-base:3.12", 6 | "amd64": "ghcr.io/home-assistant/amd64-base:3.12", 7 | "i386": "ghcr.io/home-assistant/i386-base:3.12" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /mitmproxy/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "mitmproxy", 3 | "version": "1.2.0-migrate", 4 | "slug": "mitmproxy", 5 | "panel_icon": "mdi:lan-connect", 6 | "description": "🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository", 7 | "url": "https://github.com/Poeschl/Hassio-Addons/tree/main/mitmproxy", 8 | "arch": [ 9 | "armv7", 10 | "armhf", 11 | "aarch64", 12 | "amd64", 13 | "i386" 14 | ], 15 | "hassio_api": true, 16 | "image": "ghcr.io/poeschl-homeassistant-addons/mitmproxy-{arch}", 17 | "map": ["ssl", "share:rw"], 18 | "ports": { 19 | "8081/tcp": 8081, 20 | "8080/tcp": 8080 21 | }, 22 | "ports_description": { 23 | "8081/tcp": "Web Frontend", 24 | "8080/tcp": "Proxy listening port" 25 | }, 26 | "options": { 27 | "options": [{ "name": "anticache", "value": "true" }] 28 | }, 29 | "schema": { 30 | "options": [{ "name": "str", "value": "str" }], 31 | "custom_ca": "match(^/ssl/.*)?" 32 | }, 33 | "homeassistant_api": "true" 34 | } 35 | -------------------------------------------------------------------------------- /mitmproxy/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mitmproxy/icon.png -------------------------------------------------------------------------------- /mitmproxy/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mitmproxy/logo.png -------------------------------------------------------------------------------- /mitmproxy/root/etc/cont-init.d/01-setup-own-ca: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | CUSTOM_CA=$(bashio::config custom_ca) 4 | 5 | if [ "$CUSTOM_CA" != 'null' ] && [ ! -z "$CUSTOM_CA" ]; then 6 | bashio::log.info "Use custom ca certificate $CUSTOM_CA" 7 | rm /data/mitmproxy/mitmproxy-ca.pem /data/mitmproxy/mitmproxy-ca-cert.pem /data/mitmproxy/mitmproxy-ca-cert.p12 /data/mitmproxy/mitmproxy-ca-cert.cer 8 | ln -s "$CUSTOM_CA" /data/mitmproxy/mitmproxy-ca.pem 9 | fi 10 | -------------------------------------------------------------------------------- /mitmproxy/root/etc/haproxy/haproxy.cfg: -------------------------------------------------------------------------------- 1 | 2 | #--------------------------------------------------------------------- 3 | # Example configuration for a possible web application. See the 4 | # full configuration options online. 5 | # 6 | # http://haproxy.1wt.eu/download/1.5/doc/configuration.txt 7 | # 8 | #--------------------------------------------------------------------- 9 | 10 | #--------------------------------------------------------------------- 11 | # Global settings 12 | #--------------------------------------------------------------------- 13 | global 14 | # to have these messages end up in /var/log/haproxy.log you will 15 | # need to: 16 | # 17 | # 1) configure syslog to accept network log events. This is done 18 | # by adding the '-r' option to the SYSLOGD_OPTIONS in 19 | # /etc/sysconfig/syslog 20 | # 21 | # 2) configure local2 events to go to the /var/log/haproxy.log 22 | # file. A line like the following can be added to 23 | # /etc/sysconfig/syslog 24 | # 25 | # local2.* /var/log/haproxy.log 26 | # 27 | log 127.0.0.1 local2 28 | 29 | chroot /var/lib/haproxy 30 | pidfile /var/run/haproxy.pid 31 | maxconn 4000 32 | user haproxy 33 | group haproxy 34 | daemon 35 | 36 | # turn on stats unix sockets 37 | stats socket /var/lib/haproxy/stats 38 | 39 | #--------------------------------------------------------------------- 40 | # common defaults that all the 'listen' and 'backend' sections will 41 | # use if not designated in their block 42 | #--------------------------------------------------------------------- 43 | defaults 44 | mode http 45 | log global 46 | option dontlognull 47 | option http-server-close 48 | option forwardfor except 127.0.0.0/8 49 | timeout connect 10s 50 | timeout client 1m 51 | timeout server 1m 52 | timeout tunnel 5m 53 | 54 | frontend main 55 | bind *:8081 56 | 57 | http-response del-header x-frame-options 58 | default_backend mitmweb 59 | 60 | backend mitmweb 61 | balance roundrobin 62 | server mitm 127.0.0.1:9090 check 63 | -------------------------------------------------------------------------------- /mitmproxy/root/etc/services.d/haproxy/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | bashio::net.wait_for 9090 3 | 4 | bashio::log.info "Start Reverse proxy for frontend" 5 | haproxy -p /tmp/haproxy.pid -f /etc/haproxy/haproxy.cfg -db 6 | -------------------------------------------------------------------------------- /mitmproxy/root/etc/services.d/mitmproxy/run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | OPTIONS=$(bashio::jq "${__BASHIO_ADDON_CONFIG}" '.options | map("\(.name)=\(.value|tostring)") | [.[] | "--set " + .] | join(" ")') 4 | HOST=$(bashio::host.hostname) 5 | 6 | bashio::log.info "Start mitmproxy with options: $OPTIONS" 7 | bashio::log.info "For the onboarding page visit http://${HOST}:8082" 8 | # shellcheck disable=SC2086 9 | mitmweb $OPTIONS \ 10 | --set 'web_host=0.0.0.0' \ 11 | --set 'web_port=9090' \ 12 | --set 'listen_port=8080' \ 13 | --set 'confdir=/data/mitmproxy' \ 14 | --set 'onboarding_port=8082' \ 15 | --set "onboarding_host=$HOST" \ 16 | --set 'web_open_browser=false' 17 | --no-web-open-browser 18 | -------------------------------------------------------------------------------- /mopidy/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 2.2.0 - 2022-08-07 2 | 3 | * 🔼 Update alpine to `3.16` 4 | * 🔼 Update Mopidy to `3.3.0-r0` 5 | * 🔼 Update Mopidy-Iris to `3.64.1` 6 | * 🔼 Update Mopidy-MPD to `3.3.0` 7 | * 🔼 Update python3 to `3.10.5-r0` 8 | * 🔼 Update py3-gst to `1.20.3-r0` 9 | * 🔼 Update py3-pip to `22.1.1-r0` 10 | * 🔼 Update ca-certificates to `20220614-r0` 11 | * 🔼 Update sudo to `1.9.10-r0` 12 | * 🔨 Migrated to S6-Overlay `V3` 13 | * 📝 Updated to new repository structure + Yaml config 14 | 15 | 16 | ## 2.1.1 - 2022-04-11 17 | 18 | * 🐛 Fix alpine package repositories 19 | * ➖ Removed fixed tornado version 20 | 21 | 22 | ## 2.1.0 - 2022-04-05 23 | 24 | * 🔼 Update alpine to `3.14` 25 | * 🔼 Update Mopidy-Iris to `3.62.0` 26 | * 🔼 Update Mopidy-MPD to `3.2.0` 27 | * 🔼 Update python3 to `3.9.5-r2` 28 | * 🔼 Update ca-certificates to `20211220-r0` 29 | * 🔼 Update sudo to `1.9.7_p1-r1` 30 | * 📝 Updated config.json and Readme 31 | 32 | 33 | ## 2.0.1 - 2020-06-03 34 | 35 | * 🔼 Update python3 to `3.9.5-r1` 36 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 37 | 38 | 39 | ## 2.0.0 - 2020-05-02 40 | 41 | * ✨ Resurrect Mopidy 42 | * 🔼 Update Mopidy to `3.1.1-r3` 43 | * 🔨 Use Alpine as base image 44 | * 🔨 Migrate to new `devices` option format. Thanks @LiJu09 45 | 46 | ### ⚠️ Breaking Change ⚠️ 47 | 48 | When coming from a previous version validate your settings, since the addon got completly redone! 49 | 50 | 51 | ## 1.2.3 - 2020-05-22 52 | 53 | * 🔨 Updated Changelog to new format 54 | * 🕸️ Marked as deprecated 55 | 56 | 57 | ## 1.2.2 - 2020-02-09 58 | 59 | ### Changed 60 | 61 | * 🔨 Start mopidy as `system` startup 62 | 63 | 64 | ## 1.2.1 - 2020-02-07 65 | 66 | * 🔽 Downgrade Mopidy to `2.2.2-1` 67 | * 🔼 Use mopidy-youtube `2.1.0` 68 | * 🔼 Update youtube-dl to `2020.1.24` 69 | 70 | 71 | ## 1.2.0 - 2019-12-06 72 | 73 | * ➕ Use Youtube-Mopidy integration from [@natumbri](https://github.com/natumbri/mopidy-youtube) 74 | * 🔼 Updated Mopidy to `2.3.1-1` 75 | * 🔼 Updated youtube-dl to `2019.11.28` 76 | * 🔼 Update certifi to same version as youtube-dl 77 | * 🔨 More startup logging 78 | 79 | 80 | ## 1.1.0 - 2019-10-19 81 | 82 | * 🔼 Updated OS to debian buster (thanks @Nickerchen) 83 | * ➖ Removed aarch64 support 84 | 85 | 86 | ## 1.0.0 - 2019-10-16 87 | 88 | * 🔨 Set mopidy version to `2.1.0-1` 89 | * ➕ Own versioning starting with 1.0.0 90 | * ➕ Added example config setting for media dir 91 | * 🐛 Fixed ALSA not forwarding sound correctly 92 | 93 | 94 | ## 2.2.3 - 2019-10-06 (old versioning) 95 | 96 | * ➕ Put mopidy 2.2.3-1 inside the addon. 97 | * 🔨 Added device mapping for `/dev/snd` 98 | * 🔨 Adjust mopidy version for aarch64 systems. It will be the version `2.1.0-1` on those systems. 99 | -------------------------------------------------------------------------------- /mopidy/DOCS.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ```yaml 4 | media_folder: /media/mopidy/media 5 | playlist_folder: /media/mopidy/playlists 6 | locale: en_US 7 | country: en 8 | radio_net: 9 | language: net 10 | favorite_radiostations: [] 11 | ``` 12 | 13 | ### `media_folder` 14 | 15 | This option let you specify an custom media folder. 16 | 17 | ### `playlist_folder` 18 | 19 | This option let you specify an custom playlist folder. 20 | 21 | ### `locale` 22 | 23 | Your locale as 2x2 format. This used for the ui and also some extensions. 24 | Default is `en_US` A list of locale's is [here](https://github.com/umpirsky/locale-list/blob/main/data/en_US/locales.yaml). 25 | 26 | ### `country` 27 | 28 | Your country as two letter country code. This used for the ui and also some extensions. 29 | Default here is is the code `en`. 30 | 31 | ### `radio_net/language` 32 | 33 | The language text information is shown for radio stations. Possible options are: `net`, `at`, `de` , `dk`, `es`, `fr`, `it`, `pl`, `pt`, `se`. 34 | 35 | ### `radio_net/favorite_radiostations` 36 | 37 | Your favorite radio station slugs for the radio.net Extension. [More about that setting](https://github.com/plintx/mopidy-radionet#configuration). 38 | 39 | ### `custom_config` (optional) 40 | 41 | **If this is specified, all other options are ignored.** 42 | 43 | This option let you specify an custom configuration file for mopidy. 44 | To keep all MPD files in one place I restricted the path prefix to `/share/mopidy` 45 | Please use the default [mopidy.conf of the addon](https://github.com/Poeschl/Hassio-Addons/blob/main/mopidy/root/etc/mopidy-template.conf) as starting point. 46 | 47 | Working example: 48 | 49 | ```yaml 50 | ... 51 | custom_config: /share/mopidy/mopidy.conf 52 | ``` 53 | 54 | 55 | # Local Media 56 | 57 | Local media can be stored on any folder on `/media` or `/share` (which can be accessed through the samba addon). 58 | By default the directory for media is `/media/mopidy/media` and the default for playlists `/media/mopidy/playlists`. 59 | 60 | # Panel integration 61 | 62 | Since Mopidy-Iris don't play well (at least out-of-the-box) with the ingress feature Mopidy can be added to the side-panel in the configuration with those lines: 63 | 64 | ```yaml 65 | panel_iframe: 66 | morpidy: 67 | title: 'Morpidy' 68 | icon: 'mdi:music-circle' 69 | url: 'http://:6680/iris' 70 | ``` 71 | 72 | 73 | # MPD 74 | 75 | To connect from Home Assistant use the following configuration: 76 | 77 | ```yaml 78 | media_player: 79 | - platform: mpd 80 | host: 243ffc37-mopidy 81 | port: 6600 82 | ``` 83 | -------------------------------------------------------------------------------- /mopidy/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | 3 | FROM $BUILD_FROM AS build-base 4 | 5 | RUN apk add --no-cache \ 6 | python3=3.10.5-r0 \ 7 | py3-gst=1.20.3-r0 \ 8 | py3-pip=22.1.1-r0 \ 9 | mopidy=3.3.0-r0 \ 10 | && ln -s /usr/lib/libpython3.10.so.1.0 /usr/lib/libpython3.10.so 11 | 12 | 13 | FROM build-base AS mopidy-iris 14 | 15 | RUN pip3 install --no-cache-dir --user Mopidy-Iris==3.64.1 &&\ 16 | ls -al /root/.local/lib/python3.10/site-packages 17 | 18 | 19 | FROM build-base AS mopidy-mpd 20 | 21 | RUN pip3 install --no-cache-dir --user Mopidy-MPD==3.3.0 &&\ 22 | ls -al /root/.local/lib/python3.10/site-packages 23 | 24 | 25 | FROM build-base AS mopidy-radionet 26 | 27 | RUN pip3 install --no-cache-dir --user Mopidy-RadioNet==0.2.2 &&\ 28 | ls -al /root/.local/lib/python3.10/site-packages 29 | 30 | 31 | FROM $BUILD_FROM AS run 32 | 33 | RUN apk add --no-cache \ 34 | python3=3.10.5-r0 \ 35 | py3-gst=1.20.3-r0 \ 36 | mopidy=3.3.0-r0 \ 37 | ca-certificates=20220614-r0 \ 38 | sudo=1.9.10-r0 \ 39 | && ln -s /usr/lib/libpython3.10.so.1.0 /usr/lib/libpython3.10.so 40 | 41 | COPY --from=mopidy-iris /root/.local/lib/python3.10/site-packages /usr/lib/python3.10/site-packages/ 42 | COPY --from=mopidy-mpd /root/.local/lib/python3.10/site-packages /usr/lib/python3.10/site-packages/ 43 | COPY --from=mopidy-radionet /root/.local/lib/python3.10/site-packages /usr/lib/python3.10/site-packages/ 44 | 45 | RUN echo "root ALL=NOPASSWD: /usr/lib/python3.10/site-packages/mopidy_iris/system.sh" >> /etc/sudoers 46 | 47 | ENTRYPOINT [ "/init" ] 48 | CMD [] 49 | COPY root / 50 | -------------------------------------------------------------------------------- /mopidy/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Mopidy 12 | 13 | Mopidy with plugins inside Home Assistant Supervisor. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | It contains following extensions: 27 | 28 | * [Mopidy-Iris](https://github.com/jaedb/iris) 29 | * [Mopidy-MPD](https://github.com/mopidy/mopidy-mpd) 30 | * [Mopidy-RadioNet](https://github.com/plintx/mopidy-radionet) 31 | 32 | 33 | [aarch64-badge]: https://img.shields.io/badge/aarch64-no-red.svg?style=for-the-badge 34 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 35 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 36 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 37 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 38 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 39 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 40 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 41 | [donation-url]: https://www.buymeacoffee.com/Poeschl 42 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 43 | 44 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_mopidy 45 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 46 | -------------------------------------------------------------------------------- /mopidy/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | amd64: ghcr.io/home-assistant/amd64-base:3.16 5 | i386: ghcr.io/home-assistant/i386-base:3.16 6 | -------------------------------------------------------------------------------- /mopidy/config.yaml: -------------------------------------------------------------------------------- 1 | name: Mopidy 2 | version: 2.2.1-migrate 3 | slug: mopidy 4 | panel_icon: mdi:music-circle 5 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/mopidy 7 | webui: http://[HOST]:[PORT:6680]/iris 8 | arch: 9 | - armv7 10 | - armhf 11 | - amd64 12 | - i386 13 | homeassistant: 0.115.0 14 | startup: system 15 | image: ghcr.io/poeschl-homeassistant-addons/mopidy-{arch} 16 | init: false 17 | audio: true 18 | devices: 19 | - /dev/snd 20 | map: 21 | - share:rw 22 | - media:rw 23 | ports: 24 | 6680/tcp: 6680 25 | 6600/tcp: 6600 26 | ports_description: 27 | 6680/tcp: Web Frontend 28 | 6600/tcp: MDP Connection 29 | options: 30 | media_folder: /media/mopidy/media 31 | playlist_folder: /media/mopidy/playlists 32 | locale: en_US 33 | country: en 34 | radio_net: 35 | language: net 36 | favorite_radiostations: 37 | - radiobob 38 | schema: 39 | media_folder: match(/share/.+|/media/.+|(smb|nfs)://.+) 40 | playlist_folder: match(/share/.+|/media/.+|(smb|nfs)://.+) 41 | custom_config: match(/share/mopidy/.+)? 42 | locale: match([a-z]{2}_[A-Z{2}]) 43 | country: match([a-z]{2}) 44 | radio_net: 45 | language: list(net|at|de|dk|es|fr|it|pl|pt|se) 46 | favorite_radiostations: 47 | - str 48 | homeassistant_api: true 49 | -------------------------------------------------------------------------------- /mopidy/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mopidy/icon.png -------------------------------------------------------------------------------- /mopidy/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mopidy/logo.png -------------------------------------------------------------------------------- /mopidy/root/etc/mopidy-template.conf: -------------------------------------------------------------------------------- 1 | [core] 2 | cache_dir = /data/mopidy/cache 3 | data_dir = /data/mopidy/data_dir 4 | 5 | [http] 6 | hostname = 0.0.0.0 7 | 8 | [mpd] 9 | hostname = 0.0.0.0 10 | 11 | [file] 12 | media_dirs = {{ .media_folder }} 13 | 14 | [m3u] 15 | playlists_dir = {{ .playlist_folder }} 16 | 17 | [stream] 18 | enabled = true 19 | protocols = 20 | http 21 | https 22 | 23 | [iris] 24 | data_dir = /data/mopidy/iris 25 | locale = {{ .locale }} 26 | country = {{ .country }} 27 | 28 | [radionet] 29 | language = {{ .radio_net.language }} 30 | favorite_stations = {{ range .radio_net.favorite_radiostations }} 31 | '{{ . }}' 32 | {{ end }} 33 | -------------------------------------------------------------------------------- /mopidy/root/etc/s6-overlay/s6-rc.d/mopidy/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | # Enable Jemalloc for better memory handling 5 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 6 | 7 | bashio::log.info 'Create media folder if not existing' 8 | MEDIA_FOLDER=$(bashio::config 'media_folder') 9 | PLAYLIST_FOLDER=$(bashio::config 'playlist_folder') 10 | 11 | mkdir -p /data/database \ 12 | "${MEDIA_FOLDER}" \ 13 | "${PLAYLIST_FOLDER}" 14 | 15 | if [ "$(bashio::config 'custom_config')" != 'null' ]; then 16 | bashio::log.info 'Use custom config' 17 | cp "$(bashio::config 'custom_config')" '/etc/mopidy.conf' 18 | else 19 | 20 | bashio::log.info 'Apply addon settings' 21 | tempio -conf /data/options.json -template /etc/mopidy-template.conf -out /etc/mopidy.conf 22 | fi 23 | 24 | bashio::log.info 'Start Mopidy....' 25 | mopidy --config /etc/mopidy.conf 26 | -------------------------------------------------------------------------------- /mopidy/root/etc/s6-overlay/s6-rc.d/mopidy/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /mopidy/root/etc/s6-overlay/s6-rc.d/user/contents.d/mopidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mopidy/root/etc/s6-overlay/s6-rc.d/user/contents.d/mopidy -------------------------------------------------------------------------------- /mpd/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.7.2 - 2022-08-17 2 | 3 | * 🔨 Migrated to S6-Overlay `V3` 4 | * 📝 Updated to new repository structure + Yaml config 5 | 6 | 7 | ## 1.7.1 - 2022-04-05 8 | 9 | * 📝 Updated config.json and Readme 10 | 11 | 12 | ## 1.7.0 - 2021-04-02 13 | 14 | * 🔨 Use ghcr.io/home-assistant for base images 15 | 16 | 17 | ## 1.6.0 - 2021-03-27 18 | 19 | * 🐛 Fixed `media_folder`, `playlist_folder` options overwriting custom config. Thanks @LiJu09 20 | * 🔨 Change how custom_config behave. Check docs. Thanks @LiJu09 21 | 22 | 23 | ## 1.5.4 - 2021-03-25 24 | 25 | * ➕ Add `media_folder`, `playlist_folder` option. Thanks @LiJu09 26 | 27 | 28 | ## 1.5.3 - 2021-03-17 29 | 30 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 31 | 32 | 33 | ## 1.5.2 - 2021-02-09 34 | 35 | * 🔨 Migrate to new `devices` option format. Thanks @LiJu09 36 | 37 | 38 | ## 1.5.1 - 2021-01-30 39 | 40 | * 🐛 Fixed missing permissions on startup 41 | 42 | 43 | ## 1.5.0 - 2021-01-30 44 | 45 | * 🔼 Updated alpine image to `3.13` 46 | * 🔼 Updated mpd to `0.22.3-r0` 47 | * 🔨 Use Jemalloc for better memory handling 48 | 49 | 50 | ## 1.4.2 - 2020-11-11 51 | 52 | * 🔨 Add httpd output config 53 | * 🐛 Make debug config optional 54 | 55 | 56 | ## 1.4.1 - 2020-10-24 57 | 58 | * ➕ Add `verbose` option 59 | 60 | 61 | ## 1.4.0 - 2020-10-20 62 | 63 | * 🔼 Update alpine to `3.12` 64 | * 🔼 Update mpd to `0.21.23-r0` 65 | * 🔼 Update ympd to `1.3.0-r9` 66 | * 🔼 Update mpc to `0.33-r2` 67 | * 🔨 Use S6-Overlay for execution 68 | * 🔨 Disable Avahi Discovery 69 | * 🔨 Change audio output to Pulseaudio 70 | * 🔨 Start mpd as `application` startup 71 | * ➖ Removed alsa-plugins-pulse 72 | 73 | 74 | ## 1.3.2 - 2020-10-06 75 | 76 | * ➕ Support `/media` folder 77 | 78 | 79 | ## 1.3.1 - 2020-05-26 80 | 81 | * 🐛 Fixed startup without custom config file 82 | 83 | 84 | ## 1.3.0 - 2020-05-22 85 | 86 | * ➕ Added `custom_config` option for own mpd configuration file. 87 | * ➕ Added configuration docs 88 | * 🔨 Updated Changelog to new format 89 | 90 | 91 | ## 1.2.0 - 2020-03-09 92 | 93 | * ➕ Added `alsa-plugins-pulse` to be compatible with latest HassOS (> 3.11) 94 | 95 | 96 | ## 1.1.2 - 2020-02-09 97 | 98 | * 🔨 Start mpd as `system` startup 99 | 100 | 101 | ## 1.1.1 - 2020-02-07 102 | 103 | * 🔼 Update mpd to `0.21.16-r1` 104 | * 🔼 Update ympd to `1.3.0-r8` 105 | * 🔼 Update alpine to `3.11` 106 | * 🔼 Update mpc to `0.33-r0` 107 | 108 | 109 | ## 1.1.0 - 2019-12-14 110 | 111 | * ➕ Add `volume_normalization` option to addon 112 | 113 | 114 | ## 1.0.0 - 2019-12-x 115 | 116 | * ➕ Add MPD version `0.20.21` 117 | * ➕ Add ympd version `1.3.0` 118 | -------------------------------------------------------------------------------- /mpd/DOCS.md: -------------------------------------------------------------------------------- 1 | # Configuration 2 | 3 | ```yaml 4 | media_folder: /media/mpd/media 5 | playlist_folder: /media/mpd/playlists 6 | volume_normalization: false 7 | httpd_output: false 8 | ``` 9 | 10 | ### `volume_normalization` 11 | 12 | Enables the built-in volume normalization feature. 13 | 14 | ### `httpd_output` 15 | 16 | Enables the httpd audio output. 17 | 18 | ### `media_folder` 19 | 20 | This option let you specify an custom media folder. 21 | 22 | ### `playlist_folder` 23 | 24 | This option let you specify an custom playlist folder. 25 | 26 | ### `verbose` (optional) 27 | 28 | Make `mpd` verbose. 29 | 30 | ```yaml 31 | verbose: true 32 | ``` 33 | 34 | ### `custom_config` (optional) 35 | 36 | **If this is specified, all other options are ignored.** 37 | 38 | This option let you specify an custom configuration file for MPD. 39 | To keep all MPD files in one place I restricted the path prefix to `/share/mpd` 40 | Please use the default [mpd.conf of the addon](https://github.com/Poeschl/Hassio-Addons/blob/main/mpd/root/etc/mpd.conf) as starting point. 41 | In case you have issues with your configuration, the [MPD docs](https://www.musicpd.org/doc/html/user.html#configuration) might help you out. 42 | 43 | Working example: 44 | 45 | ```yaml 46 | ... 47 | custom_config: /share/mpd/mpd.conf 48 | ``` 49 | 50 | # Troubleshooting 51 | 52 | ### `RTIOThread could not get realtime scheduling, continuing anyway: sched_setscheduler` 53 | 54 | This error is shown on any none-glibc system like alpine linux is. MPD should work without it. 55 | More see here: [MPD Issue](https://github.com/MusicPlayerDaemon/MPD/issues/218) 56 | 57 | ### `Failed to open '/data/database/mpd.db': No such file or directory` 58 | 59 | This error is shown on the first start, when no database exists. It will be there on the second run. 60 | 61 | # MPD 62 | 63 | To connect from Home Assistant use the following configuration: 64 | 65 | ```yaml 66 | media_player: 67 | - platform: mpd 68 | host: 243ffc37-mpd 69 | port: 6600 70 | ``` 71 | -------------------------------------------------------------------------------- /mpd/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM 3 | 4 | RUN apk add --no-cache \ 5 | mpc=0.33-r2 \ 6 | mpd=0.22.3-r0 \ 7 | ympd=1.3.0-r9 8 | 9 | ENTRYPOINT [ "/init" ] 10 | CMD [] 11 | COPY root / 12 | -------------------------------------------------------------------------------- /mpd/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # MPD 12 | 13 | [MPD](https://www.musicpd.org/) is a free and open source music player. It plays audio files, organizes playlists and maintains a music database. For interaction client software is needed. 14 | Inside this addon there is [ympd](https://ympd.org/), a simple web frontend for interacting. 15 | 16 | ![Addon Stage][stage-badge] 17 | ![Supports aarch64 Architecture][aarch64-badge] 18 | ![Supports amd64 Architecture][amd64-badge] 19 | ![Supports armhf Architecture][armhf-badge] 20 | ![Supports armv7 Architecture][armv7-badge] 21 | ![Supports i386 Architecture][i386-badge] 22 | 23 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 24 | [![Install on my Home Assistant][install-badge]][install-url] 25 | [![Donate][donation-badge]][donation-url] 26 | 27 | # Configuration 28 | 29 | The configuration is located under the Docs tab or [DOCS.md](https://github.com/Poeschl/Hassio-Addons/blob/main/mpd/DOCS.md). 30 | 31 | 32 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 33 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 34 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 35 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 36 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 37 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 38 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 39 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 40 | [donation-url]: https://www.buymeacoffee.com/Poeschl 41 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 42 | 43 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_mpd 44 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 45 | -------------------------------------------------------------------------------- /mpd/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.13 3 | armv7: ghcr.io/home-assistant/armv7-base:3.13 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.13 5 | amd64: ghcr.io/home-assistant/amd64-base:3.13 6 | i386: ghcr.io/home-assistant/i386-base:3.13 7 | -------------------------------------------------------------------------------- /mpd/config.yaml: -------------------------------------------------------------------------------- 1 | name: MPD 2 | version: 1.7.3-migrate 3 | slug: mpd 4 | panel_icon: mdi:music-circle 5 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/mpd 7 | ingress: true 8 | ingress_port: 6680 9 | arch: 10 | - armv7 11 | - armhf 12 | - aarch64 13 | - amd64 14 | - i386 15 | image: ghcr.io/poeschl-homeassistant-addons/mpd-{arch} 16 | init: false 17 | audio: true 18 | devices: 19 | - /dev/snd 20 | map: 21 | - share:rw 22 | - media:rw 23 | ports: 24 | 6680/tcp: null 25 | 6600/tcp: 6600 26 | 8000/tcp: null 27 | ports_description: 28 | 6680/tcp: Web Frontend (Not needed with ingress feature) 29 | 6600/tcp: MDP Connection 30 | 8000/tcp: HTTPd Connection (if enabled) 31 | options: 32 | media_folder: /media/mpd/media 33 | playlist_folder: /media/mpd/playlists 34 | volume_normalization: false 35 | httpd_output: false 36 | schema: 37 | media_folder: match(/share/.+|/media/.+|(smb|nfs)://.+) 38 | playlist_folder: match(/share/.+|/media/.+|(smb|nfs)://.+) 39 | volume_normalization: bool 40 | httpd_output: bool 41 | verbose: bool? 42 | custom_config: match(/share/mpd/.+)? 43 | homeassistant_api: true 44 | -------------------------------------------------------------------------------- /mpd/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mpd/icon.png -------------------------------------------------------------------------------- /mpd/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mpd/logo.png -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/mpd/producer-for: -------------------------------------------------------------------------------- 1 | ympd 2 | -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/mpd/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | # Enable Jemalloc for better memory handling 5 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 6 | 7 | bashio::log.info 'Setup Folders' 8 | 9 | MEDIA_FOLDER=$(bashio::config 'media_folder') 10 | PLAYLIST_FOLDER=$(bashio::config 'playlist_folder') 11 | 12 | mkdir -p /data/database \ 13 | "${MEDIA_FOLDER}" \ 14 | "${PLAYLIST_FOLDER}" 15 | 16 | bashio::log.info 'Setup settings' 17 | 18 | if [ "$(bashio::config 'custom_config')" != 'null' ]; then 19 | bashio::log.info 'Use custom config' 20 | cp "$(bashio::config 'custom_config')" '/etc/mpd.conf' 21 | else 22 | bashio::log.info 'Set media folder' 23 | MEDIA_FOLDER=$(bashio::config 'media_folder') 24 | sed -i "s/music_directory.*/music_directory \"${MEDIA_FOLDER//\//\\/}\"/" /etc/mpd.conf 25 | 26 | bashio::log.info 'Set playlist folder' 27 | PLAYLIST_FOLDER=$(bashio::config 'playlist_folder') 28 | sed -i "s/playlist_directory.*/playlist_directory \"${PLAYLIST_FOLDER//\//\\/}\"/" /etc/mpd.conf 29 | 30 | if [ "$(bashio::config 'volume_normalization')" == 'true' ]; then 31 | sed -i "/^#volume_normalization/s/^#//" /etc/mpd.conf 32 | fi 33 | 34 | if [ "$(bashio::config 'verbose')" == 'true' ]; then 35 | sed -i "/^log_level/s/default/verbose/" /etc/mpd.conf 36 | fi 37 | 38 | if [ "$(bashio::config 'httpd_output')" == 'true' ]; then 39 | printf '\n 40 | audio_output { \n 41 | type "httpd" \n 42 | name "HTTPd Output" \n 43 | port "8000" \n 44 | bitrate "192" \n 45 | }' >> /etc/mpd.conf 46 | bashio::log.info 'HTTPd output enabled' 47 | fi 48 | fi 49 | 50 | chown root:root /usr/bin/mpd 51 | chown root:root /usr/bin/mpc 52 | chmod 0774 /usr/bin/mpd 53 | chmod 0774 /usr/bin/mpc 54 | 55 | bashio::log.info 'Start MPD' 56 | mpd --stdout --no-daemon 57 | -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/mpd/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/user/contents.d/mpd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mpd/root/etc/s6-overlay/s6-rc.d/user/contents.d/mpd -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/user/contents.d/ympd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/mpd/root/etc/s6-overlay/s6-rc.d/user/contents.d/ympd -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/ympd/consumer-for: -------------------------------------------------------------------------------- 1 | mpd 2 | -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/ympd/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | bashio::net.wait_for 6600 4 | 5 | # Enable Jemalloc for better memory handling 6 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 7 | 8 | chown root:root /usr/bin/ympd 9 | chmod 0774 /usr/bin/ympd 10 | 11 | bashio::log.info 'Start ympd' 12 | ympd -w 6680 13 | -------------------------------------------------------------------------------- /mpd/root/etc/s6-overlay/s6-rc.d/ympd/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /picoTTS/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.6.0 - 2022-07-28 2 | 3 | * 🔼 Updated Alpine to `3.16` 4 | * 🔼 Updated git to `2.36.2-r0` 5 | * 🔼 Updated build-base to `0.5-r3` 6 | * 🔼 Updated autoconf to `2.71-r0` 7 | * 🔼 Updated libtool to `2.4.7-r0` 8 | * 🔼 Updated automake to `1.16.5-r0` 9 | * 🔼 Updated python3 to `3.10.5-r0` 10 | * 🔨 Migrated to S6-Overlay `V3` 11 | * 📝 Updated to new repository structure + Yaml config 12 | 13 | 14 | ## 1.5.0 - 2022-04-05 15 | 16 | * 🔼 Updated python3 to `3.8.10-r0` 17 | * 📝 Updated config.json and Readme 18 | 19 | 20 | ## 1.4.0 - 2021-04-02 21 | 22 | * 🔨 Use ghcr.io/home-assistant for base images 23 | 24 | 25 | ## 1.3.2 - 2021-03-17 26 | 27 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 28 | * 🔼 Updated git to `2.30.2-r0` 29 | * 🔼 Updated python3 to `3.8.8-r0` 30 | 31 | 32 | ## 1.3.1 - 2021-03-04 33 | 34 | * 🔼 Updated git to `2.30.1-r0` 35 | * 🔼 Updated python3 to `3.8.7-r1` 36 | 37 | 38 | ## 1.3.0 - 2021-01-30 39 | 40 | * 🔼 Updated alpine image to `3.13` 41 | * 🔼 Updated git to `2.30.0-r0` 42 | * 🔼 Updated g++ to `10.2.1_pre1-r3` 43 | * 🔼 Updated autoconf to `2.69-r3` 44 | * 🔼 Updated popt/popt-dev to `1.18-r0` 45 | * 🔼 Updated automake to `1.16.3-r0` 46 | * 🔼 Updated python3 to `3.8.7-r0` 47 | * 🔨 Use Jemalloc for better memory handling 48 | 49 | 50 | ## 1.2.0 - 2020-10-21 51 | 52 | * ➕ Icon and Logo 53 | * 🔨 change startup to `application` level 54 | 55 | 56 | ## 1.1.0 - 2020-10-16 57 | 58 | * 🔼 Update alpine to `3.12` 59 | * 🔼 Update git to `2.26.2-r0` 60 | * 🔼 Update make to `4.3-r0` 61 | * 🔼 Update g++ to `9.3.0-r2` 62 | * 🔼 Update automake to `1.16.2-r0` 63 | * 🔼 Update python3 to `3.8.5-r0` 64 | * 🔨 Use S6-Overlay for execution 65 | 66 | 67 | ## 1.0.9 - 2020-10-06 68 | 69 | * 🔼 Updated g++ to `9.3.0-r0` 70 | * 🔼 Updated python3 to `3.8.2-r1` 71 | 72 | 73 | ## 1.0.8 - 2020-05-22 74 | 75 | * ➕ Added docs file 76 | * 🔨 Updated Changelog to new format 77 | 78 | ## 1.0.7 - 2020-04-29 79 | 80 | * 🔼 Updated git to `2.24.3-r0` 81 | 82 | 83 | ## 1.0.6 - 2020-04-16 84 | 85 | * 🔼 Updated git to `2.24.2-r0` 86 | 87 | 88 | ## 1.0.5 - 2019-10-15 89 | 90 | * 🔼 Update g++ to `9.2.0-r4` 91 | * 🔼 Update python to `3.8.2-r0` 92 | 93 | 94 | ## 1.0.4 - 2019-10-15 95 | 96 | * 🔼 Use alpine `3.11` 97 | * 🔼 Update dependencies 98 | * git `2.24.1-r0` 99 | * g++ `9.2.0-r3` 100 | * libtool `2.4.6-r7` 101 | * python3 `1.16-r7` 102 | 103 | 104 | ## 1.0-3 - 2019-10-15 105 | 106 | * 🔼 Use alpine 3.9 as base image 107 | * 🐛 Fixed wrong log command in startup script, which was confusing HASS.io [#20](https://github.com/Poeschl/Hassio-Addons/issues/20). 108 | 109 | 110 | ## 1.0-2 - 2019-10-06 111 | 112 | * 🔨 ntegration into new build setup 113 | 114 | 115 | ## 1.0-1 - 2019-09-11 116 | 117 | * 🐛 Fixed wrong voice name decoding 118 | 119 | 120 | ## 1.0 - 2019-08-07 121 | 122 | * ➕ Put latest picoTTS inside HASS.io addon 123 | * ➕ Added python wrapper around local picoTTS to use it from outside. 124 | -------------------------------------------------------------------------------- /picoTTS/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Homeassistant Integration 2 | 3 | For easy integration I also published a [custom component](https://github.com/Poeschl/Remote-PicoTTS). 4 | Its available on the HACS for easy integration. 5 | 6 | ## Requests 7 | 8 | ### Ping 9 | 10 | `http://ip:59126/ping` 11 | 12 | ### TTS 13 | 14 | `http://ip:59126/speak?lang=&text=` 15 | 16 | `language` can be one of those `de-DE, en-GB, en-US, es-ES, fr-FR, it-IT`. If not set it defaults to `en-US`. 17 | `text` is the text you want to have sinthesized (url-encoded). 18 | -------------------------------------------------------------------------------- /picoTTS/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | RUN apk update && \ 5 | apk add --no-cache \ 6 | git=2.36.2-r0 \ 7 | build-base=0.5-r3 \ 8 | autoconf=2.71-r0 \ 9 | libtool=2.4.7-r0 \ 10 | popt-dev=1.18-r0 \ 11 | automake=1.16.5-r0 12 | 13 | ENV COMMIT_SHA '2f86050dc5da9ab68fc61510b594d8e6975c4d2d' 14 | # hadolint ignore=DL3003 15 | RUN git config --global advice.detachedHead false && \ 16 | git clone https://github.com/naggety/picotts.git -b master /build && \ 17 | cd build && git checkout ${COMMIT_SHA} &&\ 18 | cd pico && ./autogen.sh && ./configure && make install 19 | 20 | FROM $BUILD_FROM AS RUNNING 21 | 22 | RUN apk add --no-cache \ 23 | 'python3=3.10.5-r0' \ 24 | 'popt=1.18-r0' && \ 25 | python3 -m ensurepip 26 | 27 | COPY --from=BUILD /usr/local/bin/pico2wave /usr/local/bin/pico2wave 28 | COPY --from=BUILD /usr/local/lib/libttspico.* /usr/local/lib/ 29 | COPY --from=BUILD /usr/local/share/pico /usr/local/share/pico 30 | 31 | COPY wrapper/ /app 32 | WORKDIR /app 33 | RUN pip3 install --no-cache-dir -r requirements.txt 34 | 35 | ENTRYPOINT [ "/init" ] 36 | CMD [] 37 | COPY root / 38 | -------------------------------------------------------------------------------- /picoTTS/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # PicoTTS (Hass.io Addon) 12 | 13 | The [naggety/picotts](https://github.com/naggety/picotts) as Home Assistant Supervisor addon. (Useable on Raspberry Pi 3-) 14 | 15 | This addon executes the tts engine behind a webservice. It provides support for all default languages. 16 | 17 | ![Addon Stage][stage-badge] 18 | ![Supports aarch64 Architecture][aarch64-badge] 19 | ![Supports amd64 Architecture][amd64-badge] 20 | ![Supports armhf Architecture][armhf-badge] 21 | ![Supports armv7 Architecture][armv7-badge] 22 | ![Supports i386 Architecture][i386-badge] 23 | 24 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 25 | [![Install on my Home Assistant][install-badge]][install-url] 26 | [![Donate][donation-badge]][donation-url] 27 | 28 | 29 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 30 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 31 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 32 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 33 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 34 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 35 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 36 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 37 | [donation-url]: https://www.buymeacoffee.com/Poeschl 38 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 39 | 40 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_picotts 41 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 42 | -------------------------------------------------------------------------------- /picoTTS/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.16 5 | amd64: ghcr.io/home-assistant/amd64-base:3.16 6 | i386: ghcr.io/home-assistant/i386-base:3.16 7 | -------------------------------------------------------------------------------- /picoTTS/config.yaml: -------------------------------------------------------------------------------- 1 | name: PicoTTS 2 | version: 1.6.1-migrate 3 | slug: picotts 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/picoTTS 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | - amd64 11 | - i386 12 | image: ghcr.io/poeschl-homeassistant-addons/picotts-{arch} 13 | init: false 14 | ports: 15 | 59126/tcp: 59126 16 | ports_description: 17 | 59126/tcp: Http interface of the REST wrapper 18 | homeassistant_api: true 19 | -------------------------------------------------------------------------------- /picoTTS/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/picoTTS/icon.png -------------------------------------------------------------------------------- /picoTTS/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/picoTTS/logo.png -------------------------------------------------------------------------------- /picoTTS/root/etc/s6-overlay/s6-rc.d/picotts/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | 3 | # Enable Jemalloc for better memory handling 4 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 5 | 6 | bashio::log.info 'Start PicoTTS webserver' 7 | cd /app 8 | python3 -u src/picowrapper.py 9 | -------------------------------------------------------------------------------- /picoTTS/root/etc/s6-overlay/s6-rc.d/picotts/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /picoTTS/root/etc/s6-overlay/s6-rc.d/user/contents.d/picotts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/picoTTS/root/etc/s6-overlay/s6-rc.d/user/contents.d/picotts -------------------------------------------------------------------------------- /picoTTS/wrapper/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### JetBrains template 3 | 4 | .idea/ 5 | *.iml 6 | *.ipr 7 | 8 | # IntelliJ 9 | out/ 10 | 11 | # mpeltonen/sbt-idea plugin 12 | .idea_modules/ 13 | 14 | # JIRA plugin 15 | atlassian-ide-plugin.xml 16 | 17 | # Crashlytics plugin (for Android Studio and IntelliJ) 18 | com_crashlytics_export_strings.xml 19 | crashlytics.properties 20 | crashlytics-build.properties 21 | fabric.properties 22 | 23 | 24 | ### Python template 25 | # Byte-compiled / optimized / DLL files 26 | __pycache__/ 27 | *.py[cod] 28 | *$py.class 29 | 30 | # C extensions 31 | *.so 32 | 33 | # Distribution / packaging 34 | .Python 35 | build/ 36 | develop-eggs/ 37 | dist/ 38 | downloads/ 39 | eggs/ 40 | .eggs/ 41 | lib/ 42 | lib64/ 43 | parts/ 44 | sdist/ 45 | var/ 46 | wheels/ 47 | pip-wheel-metadata/ 48 | share/python-wheels/ 49 | *.egg-info/ 50 | .installed.cfg 51 | *.egg 52 | MANIFEST 53 | 54 | # PyInstaller 55 | # Usually these files are written by a python script from a template 56 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 57 | *.manifest 58 | *.spec 59 | 60 | # Installer logs 61 | pip-log.txt 62 | pip-delete-this-directory.txt 63 | 64 | # Unit test / coverage reports 65 | htmlcov/ 66 | .tox/ 67 | .nox/ 68 | .coverage 69 | .coverage.* 70 | .cache 71 | nosetests.xml 72 | coverage.xml 73 | *.cover 74 | .hypothesis/ 75 | .pytest_cache/ 76 | 77 | # Translations 78 | *.mo 79 | *.pot 80 | 81 | # Django stuff: 82 | *.log 83 | local_settings.py 84 | db.sqlite3 85 | db.sqlite3-journal 86 | 87 | # Flask stuff: 88 | instance/ 89 | .webassets-cache 90 | 91 | # Scrapy stuff: 92 | .scrapy 93 | 94 | # Sphinx documentation 95 | docs/_build/ 96 | 97 | # PyBuilder 98 | target/ 99 | 100 | # Jupyter Notebook 101 | .ipynb_checkpoints 102 | 103 | # IPython 104 | profile_default/ 105 | ipython_config.py 106 | 107 | # pyenv 108 | .python-version 109 | 110 | # pipenv 111 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 112 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 113 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 114 | # install all needed dependencies. 115 | #Pipfile.lock 116 | 117 | # celery beat schedule file 118 | celerybeat-schedule 119 | 120 | # SageMath parsed files 121 | *.sage.py 122 | 123 | # Environments 124 | .env 125 | .venv 126 | env/ 127 | venv/ 128 | ENV/ 129 | env.bak/ 130 | venv.bak/ 131 | 132 | # Spyder project settings 133 | .spyderproject 134 | .spyproject 135 | 136 | # Rope project settings 137 | .ropeproject 138 | 139 | # mkdocs documentation 140 | /site 141 | 142 | # mypy 143 | .mypy_cache/ 144 | .dmypy.json 145 | dmypy.json 146 | 147 | # Pyre type checker 148 | .pyre/ 149 | 150 | -------------------------------------------------------------------------------- /picoTTS/wrapper/requirements.txt: -------------------------------------------------------------------------------- 1 | httpserver==1.1.0 2 | -------------------------------------------------------------------------------- /picoTTS/wrapper/src/picowrapper.py: -------------------------------------------------------------------------------- 1 | """It wraps picoTTS into a simple webserver which responds with a file to a text request.""" 2 | from http.server import HTTPServer, BaseHTTPRequestHandler 3 | from subprocess import Popen, PIPE, STDOUT 4 | from tempfile import NamedTemporaryFile 5 | from urllib.parse import urlparse, unquote, unquote_plus 6 | 7 | 8 | class PicoTTS: 9 | LANGUAGES = ['de-DE', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT'] 10 | 11 | @staticmethod 12 | def _exec_picotts(args): 13 | cmd = ['pico2wave'] 14 | cmd.extend(args) 15 | 16 | print("Execute: " + " ".join(cmd)) 17 | process = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=False) 18 | process.wait() 19 | for out in process.stdout: 20 | print(str(out)) 21 | if process.returncode > 0: 22 | print("pico2wave returned exit code: '" + str(process.returncode) + "'") 23 | exit(process.returncode) 24 | 25 | def generate_wav_file(self, outfilename, lang, text): 26 | self._exec_picotts(["-w", outfilename, "-l", lang, '"' + text + '"']) 27 | print("Create audio file '" + outfilename + "'") 28 | 29 | 30 | class Handler(BaseHTTPRequestHandler): 31 | SPEAK_PATH = "/speak" 32 | PING_PATH = "/ping" 33 | PICO_TTS = PicoTTS() 34 | 35 | def do_GET(self): 36 | paths = {self.SPEAK_PATH: self._speak_path, 37 | self.PING_PATH: self._ping_path} 38 | handler_path = paths.get(urlparse(self.path).path, self._error_path) 39 | handler_path() 40 | 41 | def _error_path(self): 42 | self.send_response(404) 43 | self.end_headers() 44 | 45 | def _ping_path(self): 46 | self.send_response(204) 47 | self.end_headers() 48 | 49 | def _speak_path(self): 50 | query = urlparse(self.path).query 51 | request_parameter = dict(qc.split("=") for qc in query.split("&")) 52 | 53 | lang = str(request_parameter.get('lang', "en-US")) 54 | text = unquote_plus(unquote(str(request_parameter.get('text', "")))) 55 | 56 | if lang in self.PICO_TTS.LANGUAGES: 57 | with NamedTemporaryFile(suffix='.wav') as tempFile: 58 | self.PICO_TTS.generate_wav_file(tempFile.name, lang, text) 59 | 60 | with open(tempFile.name, 'rb') as audiofile: 61 | wave_data = audiofile.read() 62 | 63 | self.send_response(200) 64 | self.send_header('Content-type', 'audio/wav') 65 | self.end_headers() 66 | self.wfile.write(wave_data) 67 | 68 | else: 69 | self.send_response(400) 70 | self.wfile.write("Invalid Language") 71 | 72 | 73 | PORT = 59126 74 | 75 | if __name__ == '__main__': 76 | httpd = HTTPServer(('', PORT), Handler) 77 | print("Start server on port " + str(PORT) + '...') 78 | httpd.serve_forever() 79 | -------------------------------------------------------------------------------- /pigpio/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.5.2 - 2022-08-17 2 | 3 | * 🔨 Migrated to S6-Overlay `V3` 4 | * 📝 Updated to new repository structure + Yaml config 5 | 6 | 7 | ## 1.5.1 - 2022-04-10 8 | 9 | * 📝 Updated Readme 10 | 11 | ## 1.5.0 - 2022-02-18 12 | 13 | * ✨ Added option for additional pigpiod arguments 14 | * 🔼 Update debian to `bullseye` 15 | * 🔼 Update python2 to `2.7.18-3` 16 | * 🔼 Update python3 to `3.9.2-3` 17 | * 🔼 Update python-setuptools to `44.1.1-1` 18 | * 🔼 Update python3-setuptools to `52.0.0-4` 19 | * 🔼 Update git to `1:2.30.2-1` 20 | * 🔼 Update build-essential to `12.9` 21 | * 🔼 Update python3-minimal to `3.9.2-3` 22 | 23 | ## 1.4.0 - 2021-06-27 24 | 25 | * 🏗️ Added `aarch64` architecture 26 | * 🔼 Update pigpio to `V79` 27 | 28 | 29 | ## 1.3.0 - 2021-04-02 30 | 31 | * 🔨 Use ghcr.io/home-assistant for base images 32 | 33 | 34 | ## 1.2.1 - 2021-03-17 35 | 36 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 37 | 38 | 39 | ## 1.2.0 - 2021-02-13 40 | 41 | * 🐛 Relocate pigpio's pipe files in `/dev` to make it work inside the addon environment ([#178](https://github.com/Poeschl/Hassio-Addons/issues/178)). 42 | * ➖ Disabled local fifo interface, since its not used 43 | 44 | 45 | ## 1.1.1 - 2021-02-09 46 | 47 | * 🔨 Migrate to new `devices` option format. Thanks @LiJu09 48 | 49 | 50 | ## 1.1.0 - 2020-12-31 51 | 52 | * 🔼 Update pigpio to `V78` 53 | 54 | 55 | ## 1.0.0 - 2020-10-22 56 | 57 | * 🔨 Own versioning scheme 58 | * 🔨 Use S6-Overlay for execution 59 | * 🔨 Start as `service` startup type 60 | 61 | 62 | ## V71-2 - 2020-05-22 63 | 64 | * 🔨 Updated Changelog to new format 65 | * 🔼 Update git to `1:2.20.1-2+deb10u3` 66 | 67 | 68 | ## V71-1 - 2019-10-15 69 | 70 | * 🔼 Updated the OS to debian buster (thanks to @Nickerchen) 71 | 72 | 73 | ## V71 - 2019-10-15 74 | 75 | * ➕ Put pigpio V71 inside the addon. 76 | -------------------------------------------------------------------------------- /pigpio/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | RUN apt-get update && apt-get -y --no-install-recommends install \ 5 | python2=2.7.18-3 \ 6 | python3=3.9.2-3 \ 7 | python-setuptools=44.1.1-1 \ 8 | python3-setuptools=52.0.0-4 \ 9 | git=1:2.30.2-1 \ 10 | build-essential=12.9 11 | 12 | # hadolint ignore=DL3003 13 | RUN git config --global advice.detachedHead false && \ 14 | git clone 'https://github.com/joan2937/pigpio.git' -b v79 /pigpio &&\ 15 | cd /pigpio &&\ 16 | echo 'Reroute "/dev/pig*" to "/tmp/pig*", to make pigpio addon compatible.' &&\ 17 | find . -type f -exec sed -i -re 's#/dev/pig(pio|out|err)#/tmp/pig\1#g' {} \; &&\ 18 | make &&\ 19 | make install 20 | 21 | FROM $BUILD_FROM AS RUNNING 22 | 23 | RUN apt-get update && apt-get -y --no-install-recommends install \ 24 | python3-minimal=3.9.2-3 &&\ 25 | apt-get clean && rm -rf /var/lib/apt/lists/* 26 | 27 | COPY --from=BUILD /usr/local/include/pigpio* /usr/local/include/ 28 | COPY --from=BUILD /usr/local/lib/libpigpio* /usr/local/lib/ 29 | COPY --from=BUILD /usr/local/bin/pig* /usr/local/bin/ 30 | COPY --from=BUILD /usr/local/lib/python3.9/dist-packages/* /usr/local/lib/python3.9/dist-packages/ 31 | 32 | # Point to the right libs 33 | RUN echo "/usr/local/lib" > /etc/ld.so.conf && ldconfig 34 | 35 | ENTRYPOINT [ "/init" ] 36 | CMD [] 37 | COPY root / 38 | 39 | -------------------------------------------------------------------------------- /pigpio/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # pigpio 12 | 13 | Wraps the C control lib [pigpio](https://github.com/joan2937/pigpio) in a Home Assistant addon to allow an easy installation. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | ## Usage 27 | 28 | This addon runs the pigpio deamon which listens on http commands and control the GPIO on a Raspberry Pi accordingly. 29 | Running this and using the [remote_rpi_pgio integration](https://www.home-assistant.io/integrations/remote_rpi_gpio/) in your Home Assistant configuration pointing to `localhost` will connect both worlds. 30 | 31 | For additional options for the deamon use the optional addon setting `additional_options`. 32 | The options`-g -f` will be always set! 33 | 34 | ## Security 35 | 36 | It accesses `/dev/mem` on the host and also has full access to the raw io data. 37 | 38 | 39 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 40 | [amd64-badge]: https://img.shields.io/badge/amd64-no-red.svg?style=for-the-badge 41 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 42 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 43 | [i386-badge]: https://img.shields.io/badge/i386-no-red.svg?style=for-the-badge 44 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 45 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 46 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 47 | [donation-url]: https://www.buymeacoffee.com/Poeschl 48 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 49 | 50 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_pigpio 51 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 52 | -------------------------------------------------------------------------------- /pigpio/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base-debian:bullseye 3 | armv7: ghcr.io/home-assistant/armv7-base-debian:bullseye 4 | aarch64: ghcr.io/home-assistant/aarch64-base-debian:bullseye 5 | -------------------------------------------------------------------------------- /pigpio/config.yaml: -------------------------------------------------------------------------------- 1 | name: pigpio 2 | version: 1.5.3-migrate 3 | slug: pigpio 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/pigpio 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | startup: services 11 | gpio: true 12 | privileged: 13 | - SYS_RAWIO 14 | devices: 15 | - /dev/mem 16 | - /dev/vcio 17 | image: ghcr.io/poeschl-homeassistant-addons/pigpio-{arch} 18 | init: false 19 | ports: 20 | 8888/tcp: 8888 21 | ports_description: 22 | 8888/tcp: The port to control pigpio 23 | schema: 24 | additional_options: str? 25 | homeassistant_api: true 26 | -------------------------------------------------------------------------------- /pigpio/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pigpio/icon.png -------------------------------------------------------------------------------- /pigpio/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pigpio/logo.png -------------------------------------------------------------------------------- /pigpio/root/etc/s6-overlay/s6-rc.d/pigpio/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | additional_options=$(bashio::config 'additional_options') 5 | 6 | bashio::log.info 'Started pigpio' 7 | # shellcheck disable=SC2086 8 | pigpiod -g -f $additional_options 9 | -------------------------------------------------------------------------------- /pigpio/root/etc/s6-overlay/s6-rc.d/pigpio/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /pigpio/root/etc/s6-overlay/s6-rc.d/user/contents.d/pigpio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pigpio/root/etc/s6-overlay/s6-rc.d/user/contents.d/pigpio -------------------------------------------------------------------------------- /pixelflut/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1 - 2023-01-08 2 | 3 | * 🐛 Fix init for S6 (#355) 4 | * 🔼 Update git to `1:2.39.0-1` 5 | * 🔼 Updated libvncserver/libvncserver-dev to `0.9.13+dfsg-5` 6 | * 🔼 Updated libvncclient/libvncclient-dev to `0.9.13+dfsg-5` 7 | * 🔼 Updated pkg-config to `1.8.0-12` 8 | * 🔼 Updated python3 to `3.10.6-3+b1` 9 | * 🔼 Updated python3-numpy to `1:1.23.5-2` 10 | * 🔼 Updated python3-setuptools to `65.5.0-1.1` 11 | * 🔼 Updated python3-pip to `22.3.1+dfsg-1` 12 | * 🔼 Update procps to `2:4.0.2-3` 13 | * 🔼 Update libsdl2-2.0-0 / libsdl2-dev to `2.0.20+dfsg-2` 14 | * 🔼 Update libnuma1 / libnuma-dev to `2.0.16-1` 15 | 16 | ## 1.2.0 - 2022-07-31 17 | 18 | * 🔼 Updated vncmux to latest commit `b376f97` 19 | * 🔼 Updated python3 to `3.10.5-3` 20 | * 🔼 Updated python3-numpy to `1:1.21.5-1+b1` 21 | * 🔼 Updated python3-pip to `22.2+dfsg-1` 22 | * 🔼 Updated Cython to `0.29.32` 23 | * 🔼 Updated libvncserver/libvncserver-dev to `0.9.13+dfsg-4` 24 | * 🔼 Updated libvncclient/libvncclient-dev to `0.9.13+dfsg-4` 25 | * 🔼 Updated libsdl2/libsdl2-dev to `2.0.22+dfsg-6` 26 | * 🔼 Updated libfreetype6/libfreetype6-dev to `2.12.1+dfsg-3` 27 | * 🔨 Migrated to S6-Overlay `V3` 28 | * 📝 Updated to new repository structure + Yaml config 29 | 30 | ## 1.1.0 - 2022-04-10 31 | 32 | * 🔼 Update git to `1:2.35.1-1` 33 | * 🔼 Update python3 to `3.9.8-1` 34 | * 🔼 Update python3-setuptools to `59.6.0-1.2` 35 | * 🔼 Update python3-pip to `22.0.2+dfsg-1` 36 | * 🔼 Update procps to `2:3.3.17-7+b1` 37 | * 🔼 Update libsdl2-2.0-0 / libsdl2-dev to `2.0.20+dfsg-2` 38 | * 📝 Updated Readme 39 | 40 | 41 | ## 1.0.0 - 2022-01-07 42 | 43 | ### Added 44 | 45 | * ➕ Create Addon 46 | -------------------------------------------------------------------------------- /pixelflut/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Configuration 2 | 3 | Example config: 4 | 5 | ```yaml 6 | width: 1280, 7 | height: 720, 8 | description: Pixelflut 9 | ``` 10 | 11 | ### `width` 12 | 13 | The width of the Pixelflut canvas. 14 | 15 | ### `height` 16 | 17 | The height of the Pixelflut canvas. 18 | 19 | ### `description` 20 | 21 | The text which is displayed on the top as description. 22 | -------------------------------------------------------------------------------- /pixelflut/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS NO_VNC 3 | 4 | RUN apt-get update && apt-get -y --no-install-recommends install \ 5 | git=1:2.39.0-1 6 | 7 | RUN git config --global advice.detachedHead false && \ 8 | git clone https://github.com/novnc/noVNC.git -b v1.3.0 /noVNC 9 | 10 | 11 | FROM $BUILD_FROM AS WEBSOCKIFY 12 | 13 | RUN apt-get update && apt-get -y --no-install-recommends install \ 14 | git=1:2.39.0-1 \ 15 | python3=3.10.6-3+b1 \ 16 | python3-setuptools=65.5.0-1.1 \ 17 | python3-numpy=1:1.23.5-2 \ 18 | python3-pip=22.3.1+dfsg-1 19 | 20 | RUN pip3 install --no-cache-dir Cython==0.29.32 21 | 22 | # hadolint ignore=DL3003 23 | RUN git config --global advice.detachedHead false && \ 24 | git clone https://github.com/novnc/websockify -b v0.10.0 /websockify && \ 25 | cd /websockify && python3 setup.py install 26 | 27 | 28 | FROM $BUILD_FROM AS SHORELINE 29 | 30 | RUN apt-get update && apt-get -y --no-install-recommends install \ 31 | git=1:2.39.0-1 \ 32 | build-essential=12.9 \ 33 | libvncserver-dev=0.9.13+dfsg-5 \ 34 | libsdl2-dev=2.26.1+dfsg-1 \ 35 | libpthread-stubs0-dev=0.4-1 \ 36 | libfreetype6-dev=2.12.1+dfsg-3 \ 37 | libnuma-dev=2.0.16-1 38 | 39 | ENV COMMIT_SHA '05a2bbfb4559090727c51673e1fb47d20eac5672' 40 | # hadolint ignore=DL3003 41 | RUN git config --global advice.detachedHead false && \ 42 | git clone https://github.com/TobleMiner/shoreline.git -b master shoreline && \ 43 | cd shoreline && \ 44 | git checkout ${COMMIT_SHA} && \ 45 | make 46 | 47 | 48 | FROM $BUILD_FROM AS VNCMUX 49 | 50 | RUN apt-get update && apt-get -y --no-install-recommends install \ 51 | git=1:2.39.0-1 \ 52 | build-essential=12.9 \ 53 | libvncserver-dev=0.9.13+dfsg-5 \ 54 | pkg-config=1.8.0-12 55 | 56 | ENV COMMIT_SHA 'b376f972f1e343615ec42b26e8650dc65d28c76e' 57 | # hadolint ignore=DL3003 58 | RUN git config --global advice.detachedHead false && \ 59 | git clone https://github.com/tobleminer/vncmux.git -b master vncmux && \ 60 | cd vncmux && \ 61 | git checkout ${COMMIT_SHA} && \ 62 | make 63 | 64 | 65 | FROM $BUILD_FROM AS RUNNING 66 | 67 | RUN apt-get update && apt-get -y --no-install-recommends install \ 68 | python3=3.10.6-3+b1 \ 69 | python3-numpy=1:1.23.5-2 \ 70 | procps=2:4.0.2-3 \ 71 | libvncserver1=0.9.13+dfsg-5 \ 72 | libvncclient1=0.9.13+dfsg-5 \ 73 | libsdl2-2.0-0=2.26.1+dfsg-1 \ 74 | libpthread-stubs0-dev=0.4-1 \ 75 | libfreetype6=2.12.1+dfsg-3 \ 76 | libnuma1=2.0.16-1 \ 77 | && apt-get clean \ 78 | && rm -rf /var/lib/apt/lists/* 79 | 80 | COPY --from=NO_VNC /noVNC /noVNC 81 | COPY --from=WEBSOCKIFY /usr/local/lib/python3.10/dist-packages/ /usr/local/lib/python3.10/dist-packages/ 82 | COPY --from=WEBSOCKIFY /usr/local/bin/websockify /usr/local/bin/websockify 83 | COPY --from=SHORELINE /shoreline/shoreline /usr/local/bin/shoreline 84 | COPY --from=VNCMUX /vncmux/vncmux /usr/local/bin/vncmux 85 | 86 | ENTRYPOINT [ "/init" ] 87 | CMD [] 88 | COPY root / 89 | -------------------------------------------------------------------------------- /pixelflut/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Pixelflut 12 | 13 | Pixelflut is a very simple (and inefficient) ASCII based network protocol to draw pixels on a screen. 14 | This multiplayer canvas is a known game for tech enthusiasts. 15 | More at [defnull/pixelflut](https://github.com/defnull/pixelflut) 16 | 17 | The addon contains the [shoreline PixelFlut server](https://github.com/TobleMiner/shoreline) for playing and [noVnc](https://github.com/novnc/noVNC) to show the canvas inside Home Assistant. 18 | 19 | ![Addon Stage][stage-badge] 20 | ![Supports aarch64 Architecture][aarch64-badge] 21 | ![Supports amd64 Architecture][amd64-badge] 22 | ![Supports armhf Architecture][armhf-badge] 23 | ![Supports armv7 Architecture][armv7-badge] 24 | ![Supports i386 Architecture][i386-badge] 25 | 26 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 27 | [![Install on my Home Assistant][install-badge]][install-url] 28 | [![Donate][donation-badge]][donation-url] 29 | 30 | 31 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 32 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 33 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 34 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 35 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 36 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 37 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 38 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 39 | [donation-url]: https://www.buymeacoffee.com/Poeschl 40 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 41 | 42 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_pixelflut 43 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 44 | -------------------------------------------------------------------------------- /pixelflut/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base-debian:bookworm 3 | armv7: ghcr.io/home-assistant/armv7-base-debian:bookworm 4 | aarch64: ghcr.io/home-assistant/aarch64-base-debian:bookworm 5 | amd64: ghcr.io/home-assistant/amd64-base-debian:bookworm 6 | i386: ghcr.io/home-assistant/i386-base-debian:bookworm 7 | -------------------------------------------------------------------------------- /pixelflut/config.yaml: -------------------------------------------------------------------------------- 1 | name: Pixelflut 2 | version: 1.2.2-migrate 3 | slug: pixelflut 4 | panel_icon: mdi:waves 5 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/pixelflut 7 | ingress: true 8 | ingress_port: 6080 9 | ingress_entry: vnc.html?autoconnect=true 10 | arch: 11 | - armv7 12 | - armhf 13 | - aarch64 14 | - amd64 15 | - i386 16 | image: ghcr.io/poeschl-homeassistant-addons/pixelflut-{arch} 17 | init: false 18 | ports: 19 | 1234/tcp: 1234 20 | 1235/tcp: null 21 | 5900/tcp: null 22 | ports_description: 23 | 1234/tcp: The Pixelflut port to send your requests 24 | 1235/tcp: Provides json statistics about the running canvas 25 | 5900/tcp: VNC access of the Pixelflut canvas 26 | options: 27 | width: "1280" 28 | height: "720" 29 | description: Pixelflut 30 | schema: 31 | width: int(0,) 32 | height: int(0,) 33 | description: str 34 | homeassistant_api: true 35 | -------------------------------------------------------------------------------- /pixelflut/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/icon.png -------------------------------------------------------------------------------- /pixelflut/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/logo.png -------------------------------------------------------------------------------- /pixelflut/root/arial.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/root/arial.ttf -------------------------------------------------------------------------------- /pixelflut/root/etc/cont-init.d/setup-novnc-defaults: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | bashio::log.info 'Set some defaults' 5 | 6 | sed -i "/UI.initSetting('view_only'/ s/false/true/; /UI.initSetting('view_clip'/ s/false/true/" /noVNC/app/ui.js -------------------------------------------------------------------------------- /pixelflut/root/etc/cont-init.d/setup-novnc-ingress: -------------------------------------------------------------------------------- 1 | #!/usr/bin/with-contenv bashio 2 | set -e 3 | 4 | bashio::log.info 'Prepare noVNC for Home Assistant ingress' 5 | 6 | ingress_url=$(bashio::addon.ingress_entry) 7 | 8 | sed -i "/UI.initSetting/ s@'websockify'@'${ingress_url:1}/websockify'@" /noVNC/app/ui.js -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/noVNC/consumer-for: -------------------------------------------------------------------------------- 1 | vncmux -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/noVNC/pipeline-name: -------------------------------------------------------------------------------- 1 | pixelflut-pipeline -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/noVNC/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | bashio::net.wait_for 5900 4 | 5 | bashio::log.info 'Start noVNC' 6 | bashio::log.info "Binding to Pixelflut canvas" 7 | /noVNC/utils/novnc_proxy --listen 6080 --vnc localhost:5900 8 | -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/noVNC/type: -------------------------------------------------------------------------------- 1 | longrun -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/shoreline/producer-for: -------------------------------------------------------------------------------- 1 | vncmux -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/shoreline/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | width=$(bashio::config 'width') 5 | height=$(bashio::config 'height') 6 | description=$(bashio::config 'description') 7 | 8 | bashio::log.info 'Start shoreline pixelflut server' 9 | shoreline -f "vnc,port=5901" -f "statistics,listen=0.0.0.0,port=1235" -b 0.0.0.0 -p 1234 -t '/arial.ttf' -w "$width" -h "$height" -d "$description" 10 | -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/shoreline/type: -------------------------------------------------------------------------------- 1 | longrun -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/noVNC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/noVNC -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/shoreline: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/shoreline -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/vncmux: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/pixelflut/root/etc/s6-overlay/s6-rc.d/user/contents.d/vncmux -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/vncmux/consumer-for: -------------------------------------------------------------------------------- 1 | shoreline -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/vncmux/producer-for: -------------------------------------------------------------------------------- 1 | noVNC -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/vncmux/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | bashio::net.wait_for 5900 4 | 5 | width=$(bashio::config 'width') 6 | height=$(bashio::config 'height') 7 | 8 | bashio::log.info 'Start vncmux' 9 | vncmux -l 5900 -w "$width" -h "$height" localhost 5901 10 | -------------------------------------------------------------------------------- /pixelflut/root/etc/s6-overlay/s6-rc.d/vncmux/type: -------------------------------------------------------------------------------- 1 | longrun -------------------------------------------------------------------------------- /repository.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Poeschl Home Assistant Add-ons (🚨 These addons are moved!)", 3 | "url": "https://github.com/Poeschl/Hassio-Addons", 4 | "maintainer": "Poeschl " 5 | } 6 | -------------------------------------------------------------------------------- /rsync-local/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.7.0 - 2023-10-13 2 | 3 | * 🔨 Correct --archive argument (thanks @reedy | #418) 4 | * 🔼 Updated to alpine `3.18` 5 | * 🔼 Updated rsync to `3.2.7-r4` 6 | * 🔼 Update coreutils to `9.3-r1` 7 | * ✨ Add more device mappings (`/dev/sd[a-e][1-5]`) 8 | 9 | ## 1.6.0 - 2023-01-08 10 | 11 | * 🔼 Updated rsync to `3.2.7-r0` 12 | * 🐛 Fix broken options (#344) 13 | 14 | ## 1.5.1 - 2022-08-28 15 | 16 | * 🐛 Fix Copy-Paste code for local rsync execution 17 | * 📝 Updated docs to new addon config 18 | 19 | ## 1.5.0 - 2022-08-15 20 | 21 | * 🔼 Updated to alpine `3.16` 22 | * 🔼 Updated rsync to `3.2.4-r2` 23 | * 🔼 Update coreutils to `9.1-r0` 24 | * 🔨 Change the config to seperate options and destination per folder (#276) 25 | * 📝 Updated to new repository structure + Yaml config 26 | 27 | ### ⚠️ Breaking Change ⚠️ 28 | 29 | Your addon config needs to be changed to the new per-folder options and destinations. 30 | 31 | ## 1.4.0 - 2022-04-05 32 | 33 | * 🔼 Update rsync to `3.2.3-r4` 34 | * 📝 Updated config.json and Readme 35 | 36 | 37 | ## 1.3.0 - 2021-04-02 38 | 39 | * 🔨 Use ghcr.io/home-assistant for base images 40 | 41 | 42 | ## 1.2.0 - 2021-02-27 43 | 44 | * 🔼 Update rsync to `3.2.3-r1` 45 | * 🔼 Update alpine to `3.13` 46 | * 🔼 Update coreutils to `8.32-r2` 47 | 48 | 49 | ## 1.0.1 - 2021-02-09 50 | 51 | * 🔨 Migrate to new `devices` option format. Thanks @LiJu09 52 | 53 | 54 | ## 1.0.0 - 2019-10-28 55 | 56 | * ➕ Introduced local rsync addon 57 | -------------------------------------------------------------------------------- /rsync-local/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Security 2 | 3 | In order to mount your external device the integrated AppArmor feature is disabled. 4 | This addon has access to the devices with the path from the available `external_device` config option! 5 | 6 | ## Config 7 | 8 | Example config: 9 | 10 | ```yaml 11 | folders: 12 | - source: /config 13 | - source: /media/playlists 14 | options: '--archive --recursive --compress' 15 | external_folder: backup 16 | external_device: '' 17 | ``` 18 | 19 | ### `folders` 20 | 21 | The list of folders you want to sync with the remote machine. 22 | 23 | ### `folders` - `source` 24 | 25 | The source folder for rsync. 26 | 27 | ### `folders` - `options` (optional) 28 | 29 | Use your own options for rsync. This string is replacing the default one and get directly to rsync. The default is `--archive --recursive --compress --delete --prune-empty-dirs`. 30 | 31 | ### `external_folder` 32 | 33 | The base folder on the external usb drive or usb stick for syncing the folders. Sub-folders with the folders from above will be created there. 34 | This path should not start with `/`. 35 | 36 | ### `external_device` 37 | 38 | If you need to pin down a specific device to make your backup too, here is the option. Per default the device is `/dev/sda1`. 39 | Make sure to adjust it when for example running Home Assistant from a external drive. The `sda1` will be a partition of the Home Assistant drive. 40 | 41 | If no device is specified all available devices will be displayed in the log. No sync takes place without device. 42 | 43 | Available options: `/dev/sd[a-e][1-5]` 44 | -------------------------------------------------------------------------------- /rsync-local/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS RUNNING 3 | 4 | RUN apk update && \ 5 | apk add --no-cache \ 6 | 'rsync=3.2.7-r4' \ 7 | 'coreutils=9.3-r1' 8 | 9 | COPY root / 10 | RUN chmod a+x /run.sh 11 | ENTRYPOINT [ "/run.sh" ] 12 | 13 | -------------------------------------------------------------------------------- /rsync-local/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # rsync local (Home Assistant Addon) 12 | 13 | Sync folders to a external usb drive with rsync. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 27 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 28 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 29 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 30 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 31 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 32 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 33 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 34 | [donation-url]: https://www.buymeacoffee.com/Poeschl 35 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 36 | 37 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_rsync-local 38 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 39 | -------------------------------------------------------------------------------- /rsync-local/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.18 3 | armv7: ghcr.io/home-assistant/armv7-base:3.18 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.18 5 | amd64: ghcr.io/home-assistant/amd64-base:3.18 6 | i386: ghcr.io/home-assistant/i386-base:3.18 7 | -------------------------------------------------------------------------------- /rsync-local/config.yaml: -------------------------------------------------------------------------------- 1 | name: rsync local 2 | version: 1.7.1-migrate 3 | slug: rsync-local 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/rsync-local 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | - amd64 11 | - i386 12 | homeassistant: 0.115.0 13 | boot: manual 14 | init: false 15 | image: ghcr.io/poeschl-homeassistant-addons/rsync-local-{arch} 16 | ports: {} 17 | ports_description: {} 18 | map: 19 | - share:rw 20 | - config:rw 21 | - backup:rw 22 | - addons:rw 23 | - ssl:rw 24 | - media:rw 25 | devices: 26 | - /dev/sda1 27 | - /dev/sda2 28 | - /dev/sda3 29 | - /dev/sda4 30 | - /dev/sda5 31 | - /dev/sdb1 32 | - /dev/sdb2 33 | - /dev/sdb3 34 | - /dev/sdb4 35 | - /dev/sdb5 36 | - /dev/sdc1 37 | - /dev/sdc2 38 | - /dev/sdc3 39 | - /dev/sdc4 40 | - /dev/sdc5 41 | - /dev/sdd1 42 | - /dev/sdd2 43 | - /dev/sdd3 44 | - /dev/sdd4 45 | - /dev/sdd5 46 | - /dev/sde1 47 | - /dev/sde2 48 | - /dev/sde3 49 | - /dev/sde4 50 | - /dev/sde5 51 | privileged: 52 | - SYS_ADMIN 53 | apparmor: false 54 | schema: 55 | folders: 56 | - source: str 57 | options: str? 58 | external_folder: match(^[^/].+) 59 | external_device: match(^(/dev/sd[a|b|c|d|e][1|2|3|4|5])?) 60 | options: 61 | folders: 62 | - source: /config 63 | external_folder: backup 64 | external_device: "" 65 | homeassistant_api: true 66 | -------------------------------------------------------------------------------- /rsync-local/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/rsync-local/icon.png -------------------------------------------------------------------------------- /rsync-local/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/rsync-local/logo.png -------------------------------------------------------------------------------- /rsync-local/root/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | FOLDERS=$(bashio::addon.config | jq -r ".folders") 6 | EXTERNAL_FOLDER=$(bashio::config 'external_folder') 7 | 8 | if ! bashio::config.has_value 'external_device'; then 9 | bashio::log.info "Detected devices..." 10 | ls -h1 /dev/sd* 11 | 12 | bashio::log.info "Select your device and insert it in the 'external_device' addon option." 13 | bashio::log.info "For example: \"External_device: /dev/sda1\"" 14 | bashio::log.info "Then restart the addon for the first sync." 15 | 16 | else 17 | bashio::log.info "Starting sync..." 18 | EXTERNAL_DEVICE=$(bashio::config 'external_device') 19 | 20 | 21 | bashio::log.info "Mounting device ${EXTERNAL_DEVICE}" 22 | mkdir -p /external 23 | mount "${EXTERNAL_DEVICE}" /external 24 | 25 | folder_count=$(echo "$FOLDERS" | jq -r '. | length') 26 | for (( i=0; i ${EXTERNAL_DEVICE}/${EXTERNAL_FOLDER} with options \"${options}\"" 31 | set -x 32 | # shellcheck disable=SC2086 33 | rsync ${options} \ 34 | "$local" "/external/${EXTERNAL_FOLDER}" 35 | set +x 36 | done 37 | 38 | umount /external 39 | bashio::log.info "Synced all folders" 40 | fi 41 | -------------------------------------------------------------------------------- /rsync/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.7.0 - 2023-10-13 2 | 3 | * 🔨 Correct --archive argument (thanks @reedy | #418) 4 | * 🔼 Updated to alpine `3.18` 5 | * 🔼 Updated rsync to `3.2.7-r4` 6 | * 🔼 Update coreutils to `9.3-r1` 7 | * 🔼 Update openssh-client-default to `9.3_p2-r0` 8 | 9 | ## 1.6.0 - 2023-01-08 10 | 11 | * 🔼 Updated rsync to `3.2.7-r0` 12 | * 🐛 Fix broken options (#344) 13 | 14 | ## 1.5.1 - 2022-09-03 15 | 16 | * 📝 Updated docs to new addon config 17 | 18 | ## 1.5.0 - 2022-08-15 19 | 20 | * 🔼 Updated to alpine `3.16` 21 | * 🔼 Updated rsync to `3.2.4-r2` 22 | * 🔼 Update coreutils to `9.1-r0` 23 | * 🔼 Update openssh-client-default to `9.0_p1-r2` 24 | * 🔨 Change the config to seperate options and destination per folder (#276) 25 | * 📝 Updated to new repository structure + Yaml config 26 | 27 | ### ⚠️ Breaking Change ⚠️ 28 | 29 | Your addon config needs to be changed to the new per-folder options and destinations. 30 | 31 | 32 | ## 1.4.0 - 2022-04-05 33 | 34 | * 🔼 Update rsync to `3.2.3-r4` 35 | * 🔼 Update openssh-client to `8.4_p1-r4` 36 | * 📝 Updated config.json and Readme 37 | 38 | 39 | ## 1.3.0 - 2021-04-02 40 | 41 | * 🔨 Use ghcr.io/home-assistant for base images 42 | * 🔼 Update openssh-client to `8.4_p1-r3` 43 | 44 | 45 | ## 1.2.0 - 2021-02-27 46 | 47 | * 🔼 Update rsync to `3.2.3-r1` 48 | * 🔼 Update alpine to `3.13` 49 | * 🔼 Update coreutils to `8.32-r2` 50 | * 🔼 Update openssh-client to `8.4_p1-r2` 51 | 52 | 53 | ## 1.1.1 - 2020-10-22 54 | 55 | * 🔨 Disable S6-Overlay Init 56 | 57 | 58 | ## 1.1.0 - 2019-10-12 59 | 60 | * ➕ Introduced option for own rsync flags. 61 | * 🔨 Updated Docs for folders 62 | 63 | 64 | ## 1.0.0 - 2019-10-10 65 | 66 | * ➕ Introduced rsync addon 67 | -------------------------------------------------------------------------------- /rsync/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Precondition 2 | 3 | Make sure to have `rsync` installed on the remote machine. In case the addon gives you an `bash: rsync: command not found` in the logs `rsync` is missing there. 4 | 5 | ## Key files 6 | 7 | The addon generates its own key files when no file is found at the specified location. If you use your own key make sure it is passwordless. 8 | 9 | ## Config 10 | 11 | Example config: 12 | 13 | ```yaml 14 | private_key_file: /ssl/rsync/id_rsa 15 | username: user 16 | folders: 17 | - source: /config 18 | destination: /home/user/config-target 19 | - source: /media/playlists 20 | destination: /home/user/cool-playlists 21 | options: '-archive --recursive --compress' 22 | remote_host: '' 23 | remote_folder: /home/user 24 | 25 | ``` 26 | 27 | ### `private_key_file` 28 | 29 | The private key for the authentification on the remote machine. It specifies also the location of the generated key-pair if no key file is found. 30 | The location of the file is fixed to the `/ssl` volume. 31 | 32 | ### `username` 33 | 34 | The username for the user on the remote machine the key is accepted. 35 | 36 | ### `folders` 37 | 38 | The list of folders you want to sync with the remote machine. 39 | 40 | ### `folders` - `source` 41 | 42 | The source folder for rsync. 43 | 44 | ### `folders` - `destination` 45 | 46 | The destination folder for rsync 47 | 48 | ### `folders` - `options` (optional) 49 | 50 | Use your own options for rsync. This string is replacing the default one and get directly to rsync. The default is `--archive --recursive --compress --delete --prune-empty-dirs`. 51 | 52 | ### `remote_host` 53 | 54 | The ip or host of the remote machine you want to connect to. 55 | 56 | ### `remote_port` (optional) 57 | 58 | The ssh port on the remote machine. If not set the default `22` is assumed. 59 | 60 | -------------------------------------------------------------------------------- /rsync/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS RUNNING 3 | 4 | RUN apk update && \ 5 | apk add --no-cache \ 6 | 'rsync=3.2.7-r4' \ 7 | 'openssh-client-default=9.3_p2-r0' \ 8 | 'coreutils=9.3-r1' 9 | 10 | COPY root / 11 | RUN chmod a+x /run.sh 12 | ENTRYPOINT [ "/run.sh" ] 13 | 14 | -------------------------------------------------------------------------------- /rsync/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # rsync (Home Assistant Addon) 12 | 13 | Sync folders to a remote machine via ssh and rsync. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | 27 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 28 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 29 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 30 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 31 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 32 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 33 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 34 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 35 | [donation-url]: https://www.buymeacoffee.com/Poeschl 36 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 37 | 38 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_rsync 39 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 40 | -------------------------------------------------------------------------------- /rsync/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.18 3 | armv7: ghcr.io/home-assistant/armv7-base:3.18 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.18 5 | amd64: ghcr.io/home-assistant/amd64-base:3.18 6 | i386: ghcr.io/home-assistant/i386-base:3.18 7 | -------------------------------------------------------------------------------- /rsync/config.yaml: -------------------------------------------------------------------------------- 1 | name: rsync 2 | version: 1.7.1-migrate 3 | slug: rsync 4 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/rsync 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | - amd64 11 | - i386 12 | homeassistant: 0.115.0 13 | boot: manual 14 | init: false 15 | image: ghcr.io/poeschl-homeassistant-addons/rsync-{arch} 16 | ports: {} 17 | ports_description: {} 18 | map: 19 | - share:rw 20 | - config:rw 21 | - backup:rw 22 | - addons:rw 23 | - ssl:rw 24 | - media:rw 25 | schema: 26 | private_key_file: match(^/ssl/.+) 27 | username: str 28 | folders: 29 | - source: str 30 | destination: str 31 | options: str? 32 | remote_host: str 33 | remote_port: port? 34 | options: 35 | private_key_file: /ssl/rsync/id_rsa 36 | username: user 37 | folders: 38 | - source: /config 39 | destination: /home/user 40 | remote_host: "" 41 | homeassistant_api: true 42 | -------------------------------------------------------------------------------- /rsync/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/rsync/icon.png -------------------------------------------------------------------------------- /rsync/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/rsync/logo.png -------------------------------------------------------------------------------- /rsync/root/run.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | PRIVATE_KEY_FILE=$(bashio::config 'private_key_file') 6 | if [ ! -f "$PRIVATE_KEY_FILE" ]; then 7 | bashio::log.info 'Generate keypair' 8 | 9 | mkdir -p "$(dirname "$PRIVATE_KEY_FILE")" 10 | ssh-keygen -t rsa -b 4096 -f "$PRIVATE_KEY_FILE" -N '' 11 | 12 | bashio::log.info "Generated key-pair in $PRIVATE_KEY_FILE" 13 | else 14 | bashio::log.info "Use private key from $PRIVATE_KEY_FILE" 15 | fi 16 | 17 | HOST=$(bashio::config 'remote_host') 18 | USERNAME=$(bashio::config 'username') 19 | FOLDERS=$(bashio::addon.config | jq -r ".folders") 20 | 21 | if bashio::config.has_value 'remote_port'; then 22 | PORT=$(bashio::config 'remote_port') 23 | bashio::log.info "Use port $PORT" 24 | else 25 | PORT=22 26 | fi 27 | folder_count=$(echo "$FOLDERS" | jq -r '. | length') 28 | for (( i=0; i ${remote} with options \"${options}\"" 34 | set -x 35 | # shellcheck disable=SC2086 36 | rsync ${options} \ 37 | -e "ssh -p ${PORT} -i ${PRIVATE_KEY_FILE} -oStrictHostKeyChecking=no" \ 38 | "$local" "${USERNAME}@${HOST}:${remote}" 39 | set +x 40 | done 41 | 42 | bashio::log.info "Synced all folders" 43 | -------------------------------------------------------------------------------- /syncthing/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM 3 | 4 | RUN apk add --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community \ 5 | "syncthing=1.27.4-r2" 6 | 7 | COPY root / 8 | RUN chmod +x /etc/s6-overlay/s6-rc.d/syncthing-setup/run 9 | 10 | ENV HOME=/share \ 11 | STCONFDIR=/config \ 12 | STDATADIR=/data \ 13 | STNODEFAULTFOLDER=1 \ 14 | STNORESTART=1 \ 15 | STNOUPGRADE=1 16 | 17 | ENTRYPOINT [ "/init" ] 18 | CMD [] 19 | -------------------------------------------------------------------------------- /syncthing/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/blob/main/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # Syncthing Add-on 12 | 13 | [**Syncthing**](https://syncthing.net/) wrapped inside a [Home Assistant Supervisor add-on](https://www.home-assistant.io/addons/). 14 | 15 | > Syncthing is a continuous file synchronization program. It synchronizes files between two or more computers in real time, safely protected from prying eyes. Your data is your data alone and you deserve to choose where it is stored, whether it is shared with some third party, and how it's transmitted over the internet. 16 | 17 | ![Addon Stage][stage-badge] 18 | ![Supports aarch64 Architecture][aarch64-badge] 19 | ![Supports amd64 Architecture][amd64-badge] 20 | ![Supports armhf Architecture][armhf-badge] 21 | ![Supports armv7 Architecture][armv7-badge] 22 | ![Supports i386 Architecture][i386-badge] 23 | 24 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 25 | [![Install on my Home Assistant][install-badge]][install-url] 26 | [![Donate][donation-badge]][donation-url] 27 | 28 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 29 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 30 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 31 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 32 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 33 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 34 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 35 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 36 | [donation-url]: https://www.buymeacoffee.com/Poeschl 37 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 38 | 39 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_syncthing 40 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 41 | -------------------------------------------------------------------------------- /syncthing/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.16 5 | amd64: ghcr.io/home-assistant/amd64-base:3.16 6 | i386: ghcr.io/home-assistant/i386-base:3.16 7 | -------------------------------------------------------------------------------- /syncthing/config.yaml: -------------------------------------------------------------------------------- 1 | name: Syncthing 2 | version: "1.19.3-migrate" 3 | slug: syncthing 4 | description: "🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository" 5 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/syncthing 6 | arch: 7 | - armhf 8 | - armv7 9 | - aarch64 10 | - amd64 11 | - i386 12 | homeassistant: 0.115.0 13 | image: ghcr.io/poeschl-homeassistant-addons/syncthing-{arch} 14 | init: false 15 | ports: 16 | 8384/tcp: null 17 | 22000/tcp: 22000 18 | 21027/udp: 21027 19 | ports_description: 20 | 8384/tcp: Web frontend (not needed with Ingress) 21 | 22000/tcp: Sync protocol 22 | 21027/udp: Discovery broadcast 23 | ingress: true 24 | ingress_port: 8384 25 | panel_title: Syncthing 26 | panel_icon: mdi:sync 27 | map: 28 | - addon_config:rw 29 | - addons:rw 30 | - all_addon_configs:rw 31 | - backup:rw 32 | - homeassistant_config:rw 33 | - media:rw 34 | - share:rw 35 | - ssl:rw 36 | homeassistant_api: true 37 | -------------------------------------------------------------------------------- /syncthing/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/syncthing/icon.png -------------------------------------------------------------------------------- /syncthing/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/syncthing/logo.png -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing-setup/dependencies.d/legacy-services: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/syncthing/root/etc/s6-overlay/s6-rc.d/syncthing-setup/dependencies.d/legacy-services -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing-setup/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | # determine IP address for api requests 6 | ip=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{sub("addr:",""); print $2}' | head -n 1) 7 | 8 | if [ -z "$ip" ] 9 | then 10 | ip=0.0.0.0 11 | bashio::log.info "Couldn't detect local syncthing address. Falling back to: $ip" 12 | else 13 | bashio::log.info "Detected syncthing address: $ip" 14 | fi 15 | 16 | bashio::net.wait_for 8384 "$ip" 17 | bashio::log.info 'Post-Start syncthing setup' 18 | 19 | apikey=$(grep -o '[^<]*' /config/config.xml | sed 's///;s/<\/apikey>//') 20 | syncthing cli --gui-address="$ip:8384" --gui-apikey="$apikey" config gui insecure-admin-access set true 21 | -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing-setup/type: -------------------------------------------------------------------------------- 1 | oneshot 2 | -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing-setup/up: -------------------------------------------------------------------------------- 1 | /etc/s6-overlay/s6-rc.d/syncthing-setup/run -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | # shellcheck shell=bash 3 | set -e 4 | 5 | bashio::log.info 'Intializing Syncthing' 6 | 7 | # determine IP address to serve Syncthing's GUI on 8 | ip=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{sub("addr:",""); print $2}' | head -n 1) 9 | 10 | if [ -z "$ip" ] 11 | then 12 | ip=0.0.0.0 13 | bashio::log.info "Couldn't detect IP address. Falling back to: $ip" 14 | else 15 | bashio::log.info "Detected IP address: $ip" 16 | fi 17 | 18 | # move config and DB state from old to new locations if necessary, cf. https://github.com/Poeschl/Hassio-Addons/pull/450 19 | if [ -d /data/config ] 20 | then 21 | for CONF_FILE in config.xml cert.pem key.pem https-cert.pem https-key.pem 22 | do 23 | [ -f "/data/config/${CONF_FILE}" ] && mv -fn "/data/config/${CONF_FILE}" /config/ && rm -f "/data/config/${CONF_FILE}" 24 | done 25 | mv -fn /data/config/* /data/ && rm -rf /data/config 26 | fi 27 | 28 | bashio::log.info 'Starting Syncthing' 29 | syncthing --gui-address="$ip:8384" --no-browser 30 | -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/syncthing/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/user/contents.d/syncthing: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/syncthing/root/etc/s6-overlay/s6-rc.d/user/contents.d/syncthing -------------------------------------------------------------------------------- /syncthing/root/etc/s6-overlay/s6-rc.d/user2/contents.d/syncthing-setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/syncthing/root/etc/s6-overlay/s6-rc.d/user2/contents.d/syncthing-setup -------------------------------------------------------------------------------- /valetudo-mapper/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.12.0 - 2024-01-13 2 | 3 | * 🔼 Update Valetudo-Mapper to commit `54aba35` (thanks @gerard33 #442) 4 | * 🔼 Update git to `2.36.6-r0` 5 | 6 | ## 1.11.0 - 2022-08-03 7 | 8 | * 🔼 Update Valetudo-Mapper to commit `bd97779` 9 | * 🔼 Update alpine to `3.16` 10 | * 🔼 Update git to `2.36.2-r0` 11 | * 🔼 Update npm to `8.10.0-r0` 12 | * 🔨 Migrated to S6-Overlay `V3` 13 | * 📝 Updated to new repository structure + Yaml config 14 | 15 | 16 | ## 1.10.1 - 2022-04-10 17 | 18 | * 📝 Updated Readme 19 | 20 | ## 1.10.0 - 2021-07-27 21 | 22 | * 🔧 Add port of mqtt broker to schema validaton 23 | * 🔼 Update Valetudo-Mapper to commit `8500701` 24 | * 🔼 Update alpine to `3.14` 25 | * 🔼 Update git to `2.32.0-r0` 26 | * 🔼 Update npm to `7.17.0-r0` 27 | 28 | ## 1.9.0 - 2021-04-02 29 | 30 | * 🔨 Use ghcr.io/home-assistant for base images 31 | 32 | 33 | ## 1.8.1 - 2021-03-17 34 | 35 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image. 36 | * 🔨 Use Multi-Stage Build to reduce download size 37 | * 🔼 Updated git to `2.30.2-r0` 38 | * 🔼 Updated npm to `14.16.0-r0` 39 | 40 | 41 | ## 1.8.0 - 2021-02-15 42 | 43 | * 🔨 Allow also anonymous access in mqtt broker url 44 | 45 | 46 | ## 1.7.1 - 2021-02-10 47 | 48 | * 🔼 Updated git to `2.30.1-r0` 49 | 50 | 51 | ## 1.7.0 - 2021-01-30 52 | 53 | * 🔨 Use Jemalloc for better memory handling 54 | * 🔼 Update alpine to `3.13` 55 | * 🔼 Update git to `2.30.0-r0` 56 | * 🔼 Update npm to `14.15.4-r0` 57 | 58 | ## 1.6.1 - 2020-11-27 59 | 60 | * 🐛 fix rotation config 61 | * 🔨 Modernise Readme 62 | 63 | ## 1.6.0 - 2020-11-27 64 | 65 | * 🔼 Update Valetudo-Mapper to commit `1ae822c` 66 | * 🔼 Update alpine to `3.12` 67 | * 🔼 Update git to `2.26.2-r0` 68 | * 🔼 Update npm to `12.18.4-r0` 69 | * ➕ Add rotation setting 70 | 71 | 72 | ## 1.5.0 - 2020-10-22 73 | 74 | * 🔨 Use S6-Overlay for execution 75 | * 🔨 Start as `application` startup type 76 | 77 | 78 | ## 1.4.0 - 2020-05-29 79 | 80 | * 🔼 Updated Valetudo-Mapper to commit `8e23ac2` 81 | * ➕ Added all missing settings until now 82 | 83 | ### ⚠️ Breaks existing config 84 | 85 | More: see [#82](https://github.com/Poeschl/Hassio-Addons/pull/82) 86 | 87 | 88 | ## 1.3.2 - 2020-05-22 89 | 90 | * 🔨 Updated Changelog to new format 91 | 92 | 93 | ## 1.3.1 - 2020-04-29 94 | 95 | * 🔼 Updated git to `2.24.3-r0` 96 | 97 | 98 | ## 1.3.0 - 2020-04-16 99 | 100 | * 🔼 Updated Valetudo-Mapper to commit `4bd62e2` 101 | 102 | 103 | ## 1.2.1 - 2020-04-16 104 | 105 | * 🔼 Updated git to `2.24.2-r0` 106 | 107 | 108 | ## 1.2.0 - 2020-02-09 109 | 110 | * ➕ Added new config settings (thanks @thundergreen) 111 | * `drawForbiddenZones` 112 | * `drawVirtualWalls` 113 | * `gradientBackground` 114 | 115 | 116 | ## 1.1.1 - 2020-02-07 117 | 118 | * 🔼 Updated dependencies: 119 | * alpine `3.11` 120 | * git `2.24.1-r0` 121 | * npm `12.15.0-r1` 122 | 123 | 124 | ## 1.1.0 - 2020-02-04 125 | 126 | * 🐛 fix compatibility with 2008 firmware for S50/55 127 | 128 | 129 | ## 1.0.0 - 2019-12-09 130 | 131 | * ➕ Add Valetudo-Mapper in its basic form (master commit) 132 | -------------------------------------------------------------------------------- /valetudo-mapper/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS BUILD 3 | 4 | ENV LANG C.UTF-8 5 | 6 | RUN apk add --no-cache git=2.36.6-r0 npm=8.10.0-r0 7 | 8 | ENV COMMIT_SHA '54aba3534e9e797b9a22c0e134fa2706effd2e9d' 9 | # hadolint ignore=DL3003 10 | RUN git config --global advice.detachedHead false && \ 11 | git clone https://github.com/rand256/valetudo-mapper -b master /app && \ 12 | cd app && git checkout $COMMIT_SHA 13 | 14 | WORKDIR /app 15 | RUN npm install 16 | 17 | FROM $BUILD_FROM AS RUNNING 18 | 19 | RUN apk add --no-cache npm=8.10.0-r0 20 | 21 | WORKDIR /app 22 | COPY --from=BUILD /app /app 23 | 24 | ENTRYPOINT [ "/init" ] 25 | CMD [] 26 | COPY root / 27 | -------------------------------------------------------------------------------- /valetudo-mapper/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/blob/main/docs/migrate_from_Poeschl_repository.md) 8 | 9 | 10 | --- 11 | 12 | # Valetudo RE Mapper (Home Assistant Supervisor Addon) 13 | 14 | This is the adaption of [valetudo-mapper](https://github.com/rand256/valetudo-mapper) as a Supervisor addon. 15 | 16 | ![Addon Stage][stage-badge] 17 | ![Supports aarch64 Architecture][aarch64-badge] 18 | ![Supports amd64 Architecture][amd64-badge] 19 | ![Supports armhf Architecture][armhf-badge] 20 | ![Supports armv7 Architecture][armv7-badge] 21 | ![Supports i386 Architecture][i386-badge] 22 | 23 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 24 | [![Install on my Home Assistant][install-badge]][install-url] 25 | [![Donate][donation-badge]][donation-url] 26 | 27 | ## Config 28 | 29 | The config of the addon is identical to the `mqtt` section described in the README of Valetudo Mapper. 30 | The `webserver` section is fixed to `{ "enabled": true, "port": 3000 }` 31 | 32 | If you use the Mosquitto Addon in Home Assistant `core-mosquitto` can be used as broker address like this: `mqtt://:@core-mosquitto`. 33 | 34 | ## PNG image 35 | 36 | The generated image will be served over the Supervisor Ingress feature. So the floor plan can be accessed via the build-in side panel or the auto-configured mqtt camera. 37 | 38 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 39 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 40 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 41 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 42 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 43 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 44 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 45 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 46 | [donation-url]: https://www.buymeacoffee.com/Poeschl 47 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 48 | 49 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_valetudomapper 50 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 51 | -------------------------------------------------------------------------------- /valetudo-mapper/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.16 5 | amd64: ghcr.io/home-assistant/amd64-base:3.16 6 | i386: ghcr.io/home-assistant/i386-base:3.16 7 | -------------------------------------------------------------------------------- /valetudo-mapper/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/valetudo-mapper/icon.png -------------------------------------------------------------------------------- /valetudo-mapper/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/valetudo-mapper/logo.png -------------------------------------------------------------------------------- /valetudo-mapper/root/app/config-template.jq: -------------------------------------------------------------------------------- 1 | { 2 | "mapSettings": (.mapSettings + {"colors": (.mapColors // {})}), 3 | "mqtt" : .mqtt, 4 | "webserver": { 5 | "enabled": true, 6 | "port": 3000 7 | } 8 | } -------------------------------------------------------------------------------- /valetudo-mapper/root/etc/s6-overlay/s6-rc.d/user/contents.d/valetudo-mapper: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/valetudo-mapper/root/etc/s6-overlay/s6-rc.d/user/contents.d/valetudo-mapper -------------------------------------------------------------------------------- /valetudo-mapper/root/etc/s6-overlay/s6-rc.d/valetudo-mapper/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | # Enable Jemalloc for better memory handling 5 | export LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" 6 | 7 | bashio::log.info 'Setup config' 8 | jq -f /app/config-template.jq /data/options.json > /app/config.json 9 | 10 | bashio::log.info 'Start valetudo-mapper' 11 | cd /app 12 | npm start 13 | -------------------------------------------------------------------------------- /valetudo-mapper/root/etc/s6-overlay/s6-rc.d/valetudo-mapper/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /vnc-viewer/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.6.0 - 2022-08-03 2 | 3 | * 🔼 Update python3 to `3.10.5-3` 4 | * 🔼 Update python3-pip to `22.2+dfsg-1` 5 | * 🔼 Update python3-numpy to `1:1.21.5-1+b1` 6 | * 🔼 Update Cython to `0.29.32` 7 | * 🔨 Migrated to S6-Overlay `V3` 8 | * 📝 Updated to new repository structure + Yaml config 9 | 10 | 11 | ## 1.5.0 - 2022-04-10 12 | 13 | * 🔼 Update git to `1:2.35.1-1` 14 | * 🔼 Update python3 to `3.9.8-1` 15 | * 🔼 Update python3-setuptools to `59.6.0-1.2` 16 | * 🔼 Update python3-pip to `22.0.2+dfsg-1` 17 | * 🔼 Update procps to `2:3.3.17-7+b1` 18 | * 📝 Updated Readme 19 | 20 | 21 | ## 1.4.0 - 2022-01-06 22 | 23 | * 🐛 Let noVNC decide about the correct Home Assistant port. This will make it also work via https. 24 | * 🔼 Update noVNC to `1.3.0` 25 | * 🔼 Update websockify to `0.10.0` 26 | * 🔼 Update debian to `bookworm` 27 | * 🔼 Update git to `1:2.34.1-1` 28 | * 🔼 Update python3 to `3.9.7-1` 29 | * 🔼 Update python3-setuptools to `58.2.0-1` 30 | * 🔼 Update python3-numpy to `1:1.21.5-1` 31 | * 🔼 Update python3-pip to `20.3.4-4` 32 | * 🔼 Update procps to `2:3.3.17-5` 33 | * 🔼 Update Cython to `0.29.26` 34 | 35 | ## 1.3.0 - 2021-04-02 36 | 37 | * 🔨 Use ghcr.io/home-assistant for base images 38 | 39 | 40 | ## 1.2.1 - 2021-03-17 41 | 42 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image 43 | 44 | 45 | ## 1.2.0 - 2012-01-10 46 | 47 | * ➕ Add password option, for not retyping the password every time 48 | * 🔨 Use noVNC icons since the addon is based on noVNC 49 | 50 | 51 | ## 1.1.1 - 2021-01-05 52 | 53 | * 🔨 Use rounded icons, thanks @LiJu09 54 | * 🔨 Fixed addon github link, thanks @LiJu09 55 | 56 | 57 | ## 1.1.0 - 2020-12-31 58 | 59 | * 🐛 Fix websocket url to connect to the included websockify 60 | 61 | 62 | ## 1.0.0 - 2020-12-27 63 | 64 | * ➕ Add noVNC version `1.3.0-r8` 65 | -------------------------------------------------------------------------------- /vnc-viewer/DOCS.md: -------------------------------------------------------------------------------- 1 | ## Config 2 | 3 | Example config: 4 | 5 | ```yaml 6 | vnc_server_host: 192.168.0.23 7 | ``` 8 | 9 | ### `vnc_server_host` 10 | 11 | The hostname or ip address of the VNC server the addon should connect to. 12 | 13 | ### `vnc_server_port` (Optional) 14 | 15 | The remote port of the VNC server. (Default: `5900`) 16 | 17 | ### `vnc_server_password` (Optional) 18 | 19 | The password of the the VNC server. When not set and the connection requires a password, it is asked at connection time. 20 | -------------------------------------------------------------------------------- /vnc-viewer/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM AS NO_VNC 3 | 4 | RUN apt-get update && apt-get -y --no-install-recommends install \ 5 | git=1:2.35.1-1 6 | 7 | RUN git config --global advice.detachedHead false && \ 8 | git clone https://github.com/novnc/noVNC.git -b v1.3.0 /noVNC 9 | 10 | FROM $BUILD_FROM AS WEBSOCKIFY 11 | 12 | RUN apt-get update && apt-get -y --no-install-recommends install \ 13 | git=1:2.35.1-1 \ 14 | python3=3.10.5-3 \ 15 | python3-setuptools=59.6.0-1.2 \ 16 | python3-numpy=1:1.21.5-1+b1 \ 17 | python3-pip=22.2+dfsg-1 18 | 19 | RUN pip3 install --no-cache-dir Cython==0.29.32 20 | 21 | # hadolint ignore=DL3003 22 | RUN git config --global advice.detachedHead false && \ 23 | git clone https://github.com/novnc/websockify -b v0.10.0 /websockify && \ 24 | cd /websockify && python3 setup.py install 25 | 26 | FROM $BUILD_FROM AS RUNNING 27 | 28 | RUN apt-get update && apt-get -y --no-install-recommends install \ 29 | git=1:2.35.1-1 \ 30 | python3=3.10.5-3 \ 31 | python3-setuptools=59.6.0-1.2 \ 32 | python3-numpy=1:1.21.5-1+b1 \ 33 | procps=2:3.3.17-7+b1 \ 34 | && apt-get clean \ 35 | && rm -rf /var/lib/apt/lists/* 36 | 37 | COPY --from=NO_VNC /noVNC /noVNC 38 | COPY --from=WEBSOCKIFY /usr/local/lib/python3.10/dist-packages/ /usr/local/lib/python3.10/dist-packages/ 39 | COPY --from=WEBSOCKIFY /usr/local/bin/websockify /usr/local/bin/websockify 40 | 41 | ENTRYPOINT [ "/init" ] 42 | CMD [] 43 | COPY root / 44 | -------------------------------------------------------------------------------- /vnc-viewer/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # VNC Viewer 12 | 13 | Bundles the noVNC application inside an Home Assistant Addon. This allows the integration of any VNC server into Home Assistant. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | ## Note 27 | 28 | Currently only one connection is possible, if more are needed create or join the thread in the repository discussions. 29 | 30 | 31 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 32 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 33 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 34 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 35 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 36 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 37 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 38 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 39 | [donation-url]: https://www.buymeacoffee.com/Poeschl 40 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 41 | 42 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_vnc 43 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 44 | -------------------------------------------------------------------------------- /vnc-viewer/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base-debian:bookworm 3 | armv7: ghcr.io/home-assistant/armv7-base-debian:bookworm 4 | aarch64: ghcr.io/home-assistant/aarch64-base-debian:bookworm 5 | amd64: ghcr.io/home-assistant/amd64-base-debian:bookworm 6 | i386: ghcr.io/home-assistant/i386-base-debian:bookworm 7 | -------------------------------------------------------------------------------- /vnc-viewer/config.yaml: -------------------------------------------------------------------------------- 1 | name: VNC Viewer 2 | version: 1.6.2-migrate 3 | slug: vnc 4 | panel_icon: mdi:remote-desktop 5 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/vnc-viewer 7 | ingress: true 8 | ingress_port: 6080 9 | ingress_entry: vnc.html?autoconnect=true 10 | arch: 11 | - armv7 12 | - armhf 13 | - aarch64 14 | - amd64 15 | - i386 16 | boot: manual 17 | hassio_api: true 18 | image: ghcr.io/poeschl-homeassistant-addons/vnc-viewer-{arch} 19 | init: false 20 | options: 21 | vnc_server_host: localhost 22 | schema: 23 | vnc_server_host: str 24 | vnc_server_port: int? 25 | vnc_server_password: str? 26 | homeassistant_api: true 27 | -------------------------------------------------------------------------------- /vnc-viewer/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/vnc-viewer/icon.png -------------------------------------------------------------------------------- /vnc-viewer/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/vnc-viewer/logo.png -------------------------------------------------------------------------------- /vnc-viewer/root/etc/s6-overlay/s6-rc.d/noVNC/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | bashio::log.info 'Set some defaults' 5 | sed -i "/UI.initSetting('show_dot'/ s/false/true/; /UI.initSetting('resize'/ s/off/scale/" /noVNC/app/ui.js 6 | 7 | bashio::log.info 'Prepare noVNC for Home Assistant ingress' 8 | host_port=$(bashio::core.port) 9 | ingress_url=$(bashio::addon.ingress_entry) 10 | 11 | sed -i "/UI.initSetting/ s@'websockify'@'${ingress_url:1}/websockify'@" /noVNC/app/ui.js 12 | 13 | if bashio::config.has_value 'vnc_server_password'; then 14 | bashio::log.info 'Inject vnc connection password' 15 | password=$(bashio::config 'vnc_server_password') 16 | sed -i "s/WebUtil.getConfigVar('password');/'${password}';/" /noVNC/app/ui.js 17 | fi 18 | 19 | server_host=$(bashio::config 'vnc_server_host') 20 | server_port=5900 21 | if bashio::config.has_value 'vnc_server_port'; then 22 | server_port=$(bashio::config 'vnc_server_port') 23 | fi 24 | 25 | server="${server_host}:${server_port}" 26 | 27 | 28 | bashio::log.info 'Start noVNC' 29 | bashio::log.info "Connecting to VNC $server" 30 | # shellcheck disable=SC2086 31 | /noVNC/utils/novnc_proxy --listen 6080 --vnc $server 32 | -------------------------------------------------------------------------------- /vnc-viewer/root/etc/s6-overlay/s6-rc.d/noVNC/type: -------------------------------------------------------------------------------- 1 | longrun 2 | -------------------------------------------------------------------------------- /vnc-viewer/root/etc/s6-overlay/s6-rc.d/user/contents.d/noVNC: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/vnc-viewer/root/etc/s6-overlay/s6-rc.d/user/contents.d/noVNC -------------------------------------------------------------------------------- /ympd/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## 1.5.0 - 2023-01-22 2 | 3 | * 🐛 Fixed wrong shebang 4 | * 🔨 Removed jemalloc memory handling 5 | 6 | 7 | ## 1.4.0 - 2022-08-17 8 | 9 | * 🔼 Update alpine to `3.16` 10 | * 🔼 Update ympd to `1.3.0-r10` 11 | * 🔨 Migrated to S6-Overlay `V3` 12 | * 📝 Updated to new repository structure + Yaml config 13 | 14 | 15 | ## 1.3.1 - 2022-04-05 16 | 17 | * 📝 Updated config.json and Readme 18 | 19 | 20 | ## 1.3.0 - 2021-04-02 21 | 22 | * 🔨 Use ghcr.io/home-assistant for base images 23 | 24 | 25 | ## 1.2.1 - 2021-03-17 26 | 27 | * 🐛 Specifiy own S6 entrypoint, don't rely on the base image 28 | 29 | 30 | ## 1.2.0 - 2021-01-30 31 | 32 | * 🔼 Update alpine to `3.13` 33 | * 🔨 Use Jemalloc for better memory handling 34 | 35 | 36 | ## 1.1.0 - 2020-10-22 37 | 38 | * 🔼 Update alpine to `3.12` 39 | * 🔼 Update ympd to `1.3.0-r9` 40 | * 🔨 Use S6-Overlay for execution 41 | * 🔨 Start ympd as `application` startup 42 | 43 | 44 | ## 1.0.1 - 2020-05-22 45 | 46 | * 🔨 Updated Changelog to new format 47 | 48 | 49 | ## 1.0.0 - 2020-02-12 50 | 51 | ### Added 52 | 53 | * ➕ Add ympd version `1.3.0-r8` 54 | -------------------------------------------------------------------------------- /ympd/Dockerfile: -------------------------------------------------------------------------------- 1 | ARG BUILD_FROM 2 | FROM $BUILD_FROM 3 | 4 | RUN apk add --no-cache ympd=1.3.0-r10 5 | 6 | ENTRYPOINT [ "/init" ] 7 | CMD [] 8 | COPY root / 9 | -------------------------------------------------------------------------------- /ympd/README.md: -------------------------------------------------------------------------------- 1 | # 🚨 Addons are moved 🚚 2 | 3 | __I moved my addons to a own organisation for easier maintaining and maybe allowing contributers to maintain one addon as well. Please switch to the new repository to get future updates.__ 4 | 5 | The new home of my addons is: https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | 7 | A migration guide is available here: [migrate_from_Poeschl_repository.md](https://github.com/Poeschl-HomeAssistant-Addons/repository/docs/migrate_from_Poeschl_repository.md) 8 | 9 | --- 10 | 11 | # ympd 12 | 13 | [ympd](https://ympd.org/) is a lightweight MPD (Music Player Daemon) web client that runs without a dedicated webserver or interpreters like PHP, NodeJS or Ruby. It's tuned for minimal resource usage and requires only very litte dependencies. 14 | 15 | ![Addon Stage][stage-badge] 16 | ![Supports aarch64 Architecture][aarch64-badge] 17 | ![Supports amd64 Architecture][amd64-badge] 18 | ![Supports armhf Architecture][armhf-badge] 19 | ![Supports armv7 Architecture][armv7-badge] 20 | ![Supports i386 Architecture][i386-badge] 21 | 22 | [![Add repository on my Home Assistant][repository-badge]][repository-url] 23 | [![Install on my Home Assistant][install-badge]][install-url] 24 | [![Donate][donation-badge]][donation-url] 25 | 26 | 27 | [aarch64-badge]: https://img.shields.io/badge/aarch64-yes-green.svg?style=for-the-badge 28 | [amd64-badge]: https://img.shields.io/badge/amd64-yes-green.svg?style=for-the-badge 29 | [armhf-badge]: https://img.shields.io/badge/armhf-yes-green.svg?style=for-the-badge 30 | [armv7-badge]: https://img.shields.io/badge/armv7-yes-green.svg?style=for-the-badge 31 | [i386-badge]: https://img.shields.io/badge/i386-yes-green.svg?style=for-the-badge 32 | [stage-badge]: https://img.shields.io/badge/Addon%20stage-stable-green.svg?style=for-the-badge 33 | [install-badge]: https://img.shields.io/badge/Install%20on%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 34 | [donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=for-the-badge&logoColor=white 35 | [donation-url]: https://www.buymeacoffee.com/Poeschl 36 | [repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge 37 | 38 | [install-url]: https://my.home-assistant.io/redirect/supervisor_addon?addon=243ffc37_ympd 39 | [repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2FPoeschl%2FHassio-Addons 40 | -------------------------------------------------------------------------------- /ympd/build.yaml: -------------------------------------------------------------------------------- 1 | build_from: 2 | armhf: ghcr.io/home-assistant/armhf-base:3.16 3 | armv7: ghcr.io/home-assistant/armv7-base:3.16 4 | aarch64: ghcr.io/home-assistant/aarch64-base:3.16 5 | amd64: ghcr.io/home-assistant/amd64-base:3.16 6 | i386: ghcr.io/home-assistant/i386-base:3.16 7 | -------------------------------------------------------------------------------- /ympd/config.yaml: -------------------------------------------------------------------------------- 1 | name: ympd 2 | version: 1.5.1-migrate 3 | slug: ympd 4 | panel_icon: mdi:play-circle-outline 5 | description: 🚨 Addons are moved to https://github.com/Poeschl-HomeAssistant-Addons/repository 6 | url: https://github.com/Poeschl/Hassio-Addons/tree/main/ympd 7 | ingress: true 8 | ingress_port: 6680 9 | arch: 10 | - armv7 11 | - armhf 12 | - aarch64 13 | - amd64 14 | - i386 15 | image: ghcr.io/poeschl-homeassistant-addons/ympd-{arch} 16 | init: false 17 | ports: 18 | 6680/tcp: 19 | ports_description: 20 | 6680/tcp: Web Frontend (Not needed with ingress feature) 21 | options: 22 | host: localhost 23 | port: "6600" 24 | schema: 25 | host: str 26 | port: port 27 | homeassistant_api: true 28 | -------------------------------------------------------------------------------- /ympd/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ympd/icon.png -------------------------------------------------------------------------------- /ympd/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ympd/logo.png -------------------------------------------------------------------------------- /ympd/root/etc/s6-overlay/s6-rc.d/user/contents.d/ympd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Poeschl/Hassio-Addons/fcf82361451c3c2ab886be6bb7072edd31fc872a/ympd/root/etc/s6-overlay/s6-rc.d/user/contents.d/ympd -------------------------------------------------------------------------------- /ympd/root/etc/s6-overlay/s6-rc.d/ympd/run: -------------------------------------------------------------------------------- 1 | #!/command/with-contenv bashio 2 | set -e 3 | 4 | host=$(bashio::config 'host') 5 | port=$(bashio::config 'port') 6 | 7 | bashio::log.info 'Start ympd' 8 | ympd -w 6680 -h "$host" -p "$port" 9 | -------------------------------------------------------------------------------- /ympd/root/etc/s6-overlay/s6-rc.d/ympd/type: -------------------------------------------------------------------------------- 1 | longrun 2 | --------------------------------------------------------------------------------