Merge branch 'master' into master

This commit is contained in:
lorenzo farnararo
2023-04-14 10:09:50 +02:00
committed by GitHub
615 changed files with 7691 additions and 1604 deletions

View File

@@ -3,8 +3,10 @@
# name: slug/filename ; could be slug/config.* for all files
addons_updater: addons_updater/config.* # Image : yes
arpspoof: arpspoof/config.* # Image : yes
autobrr: autobrr/config.* # Image : yes
baikal: baikal/config.* # Image : yes
bazarr: bazarr/config.* # Image : yes
binance-trading-bot: binance-trading-bot/config.* # Image : yes
bitwarden: bitwarden/config.* # Image : yes
booksonic_air: booksonic_air/config.* # Image : yes
browserless_chrome: browserless_chrome/config.* # Image : yes
@@ -67,6 +69,7 @@ scrutiny: scrutiny/config.* # Image : yes
scrutiny_fa: scrutiny_fa/config.* # Image : yes
seafile: seafile/config.* # Image : yes
sonarr: sonarr/config.* # Image : yes
sponsorblockcast: sponsorblockcast/config.* # Image : yes
spotweb: spotweb/config.* # Image : yes
tandoor_recipes: tandoor_recipes/config.* # Image : yes
tdarr: tdarr/config.* # Image : yes

311
.github/stars.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 122 KiB

213
.github/stars2.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 999 KiB

4
.github/starsevol.svg vendored Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 59 KiB

BIN
.github/stats.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
.github/stats_addons.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -60,6 +60,6 @@ jobs:
fetch-depth: 0
- name: 🔎 Run markdownlint
uses: nosborn/github-action-markdown-cli@v3.2.0
uses: nosborn/github-action-markdown-cli@v3.3.0
with:
config_file: .markdownlint.yaml

View File

@@ -134,6 +134,7 @@ jobs:
STATS_ONE="$(awk 'NR==3{print $(NF)}' Stats)" && \
STATS_TWO="$(awk 'NR==4{print $(NF)}' Stats)" && \
STATS_THREE="$(awk 'NR==5{print $(NF)}' Stats)"
echo "Best addon is $STATS_ONE"
sed -i "s|%%STATS_ONE%%|${STATS_ONE^}|g" README2.md
sed -i "s|%%STATS_TWO%%|${STATS_TWO^}|g" README2.md
sed -i "s|%%STATS_THREE%%|${STATS_THREE^}|g" README2.md
@@ -165,19 +166,15 @@ jobs:
if [ "$i" -eq "$i" ] && [ "$i" -gt "$j" ]; then j="$i"; fi
done
sed -i "s|${var^}|${var^} (${j}x)|g" README2.md
echo "$STATS_ONE has $j downloads"
done
echo "... done"
# Replace template if change
echo "Replace template..."
if [[ "$(stat -c%s "README2.md")" == "$(stat -c%s "README.md")" ]]; then
echo "no changes"
rm README2.md
else
rm README.md
mv README2.md README.md
fi
mv README2.md README.md
echo "... done"
shell: bash

View File

@@ -20,7 +20,7 @@ jobs:
pull-requests: write
steps:
- uses: actions/stale@v7
- uses: actions/stale@v8
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.'
@@ -30,3 +30,4 @@ jobs:
days-before-stale: '5'
days-before-close: '2'
exempt-issue-labels: 'prevent stale'
remove-stale-when-updated: true

View File

@@ -0,0 +1,246 @@
# yamllint disable rule:line-length
---
name: Generate weekly graphs
on:
schedule:
- cron: 0 18 * * *
workflow_call:
workflow_dispatch:
jobs:
stats_graphs:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Install apps
run: |
git pull --rebase origin master
sudo apt-get install gawk -y
sudo apt-get install gnuplot-nox -y
- name: Create addons stats
run: |
# Prepare data
cp Stats Stats3
# Remove Totals
sed -i "2d" Stats3
# Inverse file
gawk -i inplace '{for(i=NF;i>1;i--)printf "%s ",$i;printf "%s",$1;print ""}' Stats3
# Only top 10
head -n 11 Stats3 > tmp_file && mv tmp_file Stats3
# Transpose data
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' Stats3 > StatsTmp && mv StatsTmp .github/Stats3
cd .github || true
# Add download count to names
#build_list="$(head -n 1 Stats3)"
# shellcheck disable=SC2206
#build_list=($build_list)
# shellcheck disable=SC2013
#for var in "${build_list[@]:1}"; do
#i=0
#j=0
#k=0
# shellcheck disable=SC2013
# for i in $(sed -n "/${var}/p" Stats); do
# k="$((k+1))"
# if [ "$k" -eq 3 ]; then break; fi
# if [ "$i" -eq "$i" ] && [ "$i" -gt "$j" ]; then j="$i"; fi
# done
#sed -i "s|${var}|${var}_(${j}x)|g" Stats3
#done
echo "... done"
# Remove series with less than 4 points
sed -i "/^[0-9|-]* [0-9*|-]* [0-9*|-]* -/d" Stats3
# Plot graph
( gnuplot-nox -persist <<-EOFMarker
set title 'Top 10 addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,300
set output 'stats_addons.png'
set term png tiny
plot for [i=2:*] 'Stats3' using 1:i w l title columnhead(i) smooth bezier
EOFMarker
) || ( gnuplot-nox -persist <<-EOFMarker
set title 'Top 10 addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,300
set output 'stats_addons.png'
set term png tiny
plot for [i=2:*] 'Stats3' using 1:i w l title columnhead(i)
EOFMarker
)
#plot for [i=1:*] 'Stats3' using 0:i
rm Stats3
cd .. || true
- name: Create individual stats
run: |
# Prepare data
cp Stats Stats3
# Remove Totals
sed -i "2d" Stats3
# Inverse file
gawk -i inplace '{for(i=NF;i>1;i--)printf "%s ",$i;printf "%s",$1;print ""}' Stats3
# For each addon
# shellcheck disable=SC2013
for line in $(awk '{ print $1 }' Stats3); do
TITLE="${line%% *}"
FOLDER="$(grep -irl "ghcr.io/alexbelgium/$TITLE-{arch}" --include="config.*" . | xargs -r dirname)"
FOLDER="${FOLDER:2}"
echo "$TITLE found in $FOLDER"
# If non null
if [[ "${#FOLDER}" -gt 2 ]]; then
sed -n "/Date /p" Stats3 > "$FOLDER"/StatsTmp
sed -n "/$TITLE /p" Stats3 >> "$FOLDER"/StatsTmp
# Go in folder
cd "$FOLDER" || true
cat StatsTmp
# Transpose data
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' StatsTmp > StatsTmp2 && mv StatsTmp2 StatsTmp
#Normalize data
#awk 'FNR==NR{max=($2+0>max)?$2:max;next} {print $1,$2/max}' StatsTmp StatsTmp
# Plot graph
( gnuplot-nox -persist <<-EOFMarker
set title "$TITLE"
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,150
set output "stats.png"
set term png tiny
plot for [i=2:*] 'StatsTmp' using 1:i w l title columnhead(i) smooth bezier
EOFMarker
) || ( gnuplot-nox -persist <<-EOFMarker
set title "$TITLE"
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,150
set output "stats.png"
set term png tiny
plot for [i=2:*] 'StatsTmp' using 1:i w l title columnhead(i)
EOFMarker
) || true
rm StatsTmp || true
cd .. || true
fi || true
done
# Clean files
rm StatsTmp2
rm Stats3
- name: Create global stats
run: |
# Prepare data
cp Stats Stats3
# Inverse file
gawk -i inplace '{for(i=NF;i>1;i--)printf "%s ",$i;printf "%s",$1;print ""}' Stats3
# Only totals
head -n 2 Stats3 > tmp_file && mv tmp_file Stats3
# Transpose data
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' Stats3 > StatsTmp && mv StatsTmp .github/Stats3
cd .github || true
sed -i "1d" Stats3
# Plot graph
gnuplot-nox -persist <<-EOFMarker
set title 'Total addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set key top left autotitle columnheader
set autoscale
set terminal png size 500,300
set output 'stats.png'
set term png tiny
plot 'Stats3' using 1:2 lt rgb 'red' w l title 'Total addons' smooth bezier
EOFMarker
rm Stats3
cd .. || true
- name: Clean
run: |
echo "Starting run"
if [ -f stats.png ]; then rm stats.png; fi
if [ -f Stats3 ]; then rm Stats3; fi
- name: Update stars
run: |
echo "Starting run"
# Get stars
wget -S -O .github/stars.svg https://contrib.rocks/image?repo=alexbelgium/hassio-addons || true
# Get stars2
wget -S -O .github/stars2.svg https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30 || \
wget -S -O .github/stars2.svg https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons || \
wget -S -O .github/stars2.svg https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=31 || true
# Get stars evolution
wget -S -O .github/starsevol.svg "https://api.star-history.com/svg?repos=alexbelgium/hassio-addons&type=Date"
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
message: "GitHub bot : graphs updated"
default_author: github_actions

View File

@@ -36,12 +36,11 @@ jobs:
#Get variables
TITLE="$(jq -r --arg COUNTER $COUNTER ".[$COUNTER].title" issueslist)"
#Check if relevant to addon
TITLE2="${TITLE,,}"
f2="${f,,}"
if [[ "$TITLE2" == *"$f2"* ]]; then
echo "Title has an issue"
SLUG="$(jq -r --arg f "$f" ".slug" "$f"/config.json)"
NAME="$(jq -r --arg f "$f" ".name" "$f"/config.json)"
if [[ "${TITLE,,}" == *"${f,,}"* ]] || [[ "${TITLE,,}" == *"${SLUG,,}"* ]] || [[ "${TITLE,,}" == *"${NAME,,}"* ]]; then
echo "Project $TITLE, $SLUG, $NAME has an issue"
REQ="$(jq -r --arg COUNTER $COUNTER ".[$COUNTER].user.login" issueslist)"
URL="$(jq -r --arg COUNTER $COUNTER ".[$COUNTER].html_url" issueslist)"
LABEL="$(jq -r --arg COUNTER $COUNTER ".[$COUNTER].labels[].name" issueslist)"

View File

@@ -14,30 +14,8 @@ on:
- "**/config.*"
jobs:
make-executable:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Make scripts executable
run: |
echo "Starting"
git config core.filemode true
# shellcheck disable=SC2086,SC2046
#git update-index --chmod=+x $(find . -type f -iname "*.sh")
chmod u+x $(find . -type f -iname "*.sh")
#git commit -am "fixing the script permissions..."
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
commit: -u
message: "GitHub bot : scripts executable"
default_author: github_actions
check-addon-changes:
runs-on: ubuntu-latest
needs: make-executable
outputs:
changedAddons: ${{ steps.filter.outputs.changes }}
steps:
@@ -50,6 +28,34 @@ jobs:
with:
filters: .github/paths-filter.yml
make-executable:
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }}
needs: check-addon-changes
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }}
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Make scripts executable
run: |
echo "Starting"
git config core.filemode true
# shellcheck disable=SC2086,SC2046
#git update-index --chmod=+x $(find "$path" -type f -iname "*.sh")
chmod u+x $(find "$path" -type f -iname "*.sh")
#git commit -am "fixing the script permissions..."
env:
path: "./${{ matrix.addon }}"
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
commit: -u
message: "GitHub bot : scripts executable"
default_author: github_actions
lint_config:
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }}
needs: check-addon-changes
@@ -68,7 +74,7 @@ jobs:
build:
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }}
needs: check-addon-changes
needs: [check-addon-changes, make-executable, lint_config]
runs-on: ubuntu-latest
environment: CR_PAT
name: Build ${{ matrix.arch }} ${{ matrix.addon }} add-on
@@ -128,3 +134,50 @@ jobs:
--image "${{ steps.check.outputs.image }}" \
--docker-hub "ghcr.io/${{ github.repository_owner }}" \
--addon
make-changelog:
if: ${{ needs.check-addon-changes.outputs.changedAddons != '[]' }}
needs: [check-addon-changes, build]
runs-on: ubuntu-latest
strategy:
matrix:
addon: ${{ fromJSON(needs.check-addon-changes.outputs.changedAddons) }}
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Update changelog for minor versions
run: |
echo "Starting"
cd "$path"
# Get version
if [ -f config.yaml ]; then
version="$(sed -e '/version/!d' -e 's/.*version: //' config.yaml)"
elif [ -f config.json ]; then
version="$(sed -e '/version/!d' -e 's/.*[^"]*"\([^"]*\)"/\1/' config.json)"
version="${version//,}"
else
exit 1
fi
# Exit if test
if [[ "$version" == *"test"* ]]; then exit 0; fi
# Create changelog
touch CHANGELOG.md
# If the version does not exist
if ! grep -q "$version" CHANGELOG.md; then
# And if latest wasn't a minor version
#if [ "$(sed -n '/^###/p;q' CHANGELOG.md)" ]; then
# sed -i "1d" CHANGELOG.md
# sed -i "1i\### $version ($(date '+%d-%m-%Y'))" CHANGELOG.md
#else
sed -i "1i\- Minor bugs fixed" CHANGELOG.md
sed -i "1i\### $version ($(date '+%d-%m-%Y'))" CHANGELOG.md
#fi
fi
env:
path: "./${{ matrix.addon }}"
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
commit: -u
message: "GitHub bot : changelog"
default_author: github_actions

View File

@@ -11,7 +11,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
ref: ${{ github.head_ref }}
- uses: actions/setup-python@v3

View File

@@ -20,7 +20,7 @@ jobs:
grep -rl '^M$' . | xargs sed 's/^M$//'
shell: bash
- name: Create New Pull Request If Needed
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v5
with:
title: "Github bot : crlf removed"
branch-suffix: timestamp

View File

@@ -22,7 +22,7 @@ jobs:
compressOnly: true
- name: Create New Pull Request If Needed
if: steps.calibre.outputs.markdown != ''
uses: peter-evans/create-pull-request@v4
uses: peter-evans/create-pull-request@v5
with:
title: "Github bot : image compressed"
branch-suffix: timestamp

View File

@@ -35,7 +35,7 @@ jobs:
# shellcheck disable=SC2086
for f in $( find -- * -maxdepth 0 -type d | sort -r ); do
DOWNLOADS=0
if [ -f "$f"/config.json ]; then
if [ -f "$f"/config.json ] && jq -e '.image' "$f/config.json"; then
SLUG="$(jq -r '.image' "$f/config.json" | awk -F 'alexbelgium/|-{arch' '{print $2}')"
if [[ "$(jq '.arch[]' "$f/config.json")" == *"armv7"* ]]; then
ARCH=armv7 && COUNT="$(curl -f -s -L https://github.com/alexbelgium/hassio-addons/pkgs/container/$SLUG-$ARCH/latest | awk '/Total downloads/{getline; print}' | awk -F '<|>' '{print $3}')"
@@ -99,142 +99,7 @@ jobs:
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
message: "GitHub bot : README updated"
default_author: github_actions
stats_graphs:
runs-on: ubuntu-20.04
needs: stats_updater
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Install apps
run: |
git pull --rebase origin master
sudo apt-get install gawk -y
sudo apt-get install gnuplot-nox -y
- name: Create global stats
run: |
# Prepare data
cp Stats Stats3
# Inverse file
gawk -i inplace '{for(i=NF;i>1;i--)printf "%s ",$i;printf "%s",$1;print ""}' Stats3
# Only totals
head -n 2 Stats3 > tmp_file && mv tmp_file Stats3
# Transpose data
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' Stats3 > StatsTmp && mv StatsTmp Stats3
sed -i "1d" Stats3
# Plot graph
gnuplot-nox -persist <<-EOFMarker
set title 'Total addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set key top left autotitle columnheader
set autoscale
set terminal png size 500,300
set output 'stats.png'
set term png tiny
plot 'Stats3' using 1:2 lt rgb 'red' w l title 'Total addons' smooth csplines
EOFMarker
rm Stats3
- name: Create addons stats
run: |
# Prepare data
cp Stats Stats3
# Remove Totals
sed -i "2d" Stats3
# Inverse file
gawk -i inplace '{for(i=NF;i>1;i--)printf "%s ",$i;printf "%s",$1;print ""}' Stats3
# Only top 10
head -n 11 Stats3 > tmp_file && mv tmp_file Stats3
# Transpose data
awk '
{
for (i=1; i<=NF; i++) {
a[NR,i] = $i
}
}
NF>p { p = NF }
END {
for(j=1; j<=p; j++) {
str=a[1,j]
for(i=2; i<=NR; i++){
str=str" "a[i,j];
}
print str
}
}' Stats3 > StatsTmp && mv StatsTmp Stats3
# Add download count to names
build_list="$(head -n 1 Stats3)"
# shellcheck disable=SC2206
build_list=($build_list)
# shellcheck disable=SC2013
for var in "${build_list[@]:1}"; do
i=0
j=0
k=0
# shellcheck disable=SC2013
for i in $(sed -n "/${var}/p" Stats); do
k="$((k+1))"
if [ "$k" -eq 3 ]; then break; fi
if [ "$i" -eq "$i" ] && [ "$i" -gt "$j" ]; then j="$i"; fi
done
sed -i "s|${var}|${var}_(${j}x)|g" Stats3
done
echo "... done"
# Plot graph
( gnuplot-nox -persist <<-EOFMarker
set title 'Top 10 addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,300
set output 'stats_addons.png'
set term png tiny
plot for [i=2:*] 'Stats3' using 1:i w l title columnhead(i) smooth csplines
EOFMarker
) || ( gnuplot-nox -persist <<-EOFMarker
set title 'Top 10 addons'
set ylabel 'Number of installations'
set xdata time
set datafile missing "-"
set timefmt "%Y-%m-%d"
set format x "%y-%m-%d"
set datafile sep ' '
set autoscale
set terminal png size 500,300
set output 'stats_addons.png'
set term png tiny
plot for [i=2:*] 'Stats3' using 1:i w l title columnhead(i)
EOFMarker
)
#plot for [i=1:*] 'Stats3' using 0:i
rm Stats3
- name: Commit if needed
uses: EndBug/add-and-commit@v9
with:
message: "GitHub bot : README updated"
default_author: github_actions
message : "Github bot : stats updated"
Generate_graphs:
uses: ./.github/workflows/helper_stats_graphs.yaml

View File

@@ -16,12 +16,11 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
_Thanks to all contributors !_
[![contributors](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)
[![contributors](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)](https://github.com/alexbelgium/hassio-addons/graphs/contributors)
## About
@@ -41,24 +40,36 @@ If you want to do add the repository manually, please follow the procedure highl
## Statistics
Number of addons in the repository : %%STATS_ADDONS%%
### Number of addons
Total number of addons installed : %%STATS_DOWNLOADS%%
- In the repository : %%STATS_ADDONS%%
- Installed : %%STATS_DOWNLOADS%%
### Top 3
Top 3 most installed addons :
1. %%STATS_ONE%%
2. %%STATS_TWO%%
3. %%STATS_THREE%%
Most used architectures :
### Architectures used
- %%STATS_AMD64%%
- %%STATS_AARCH64%%
- %%STATS_ARMV7%%
Downloads evolution :
### Total downloads evolution
![Downloads graph](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/stats.png)
![Addons graph](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/stats_addons.png)
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stats.png" width=500px>
### Specific downloads evolution
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stats_addons.png" width=500px>
### Stars evolution
<a href="https://star-history.com">
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/starsevol.svg" width=500px>
</a>
## Add-ons provided by this repository

View File

@@ -32,8 +32,10 @@ if bashio::supervisor.ping; then
' Please, share the above information when looking for help'
bashio::log.blue \
' or support in, e.g., GitHub, forums'
bashio::log.blue \
'-----------------------------------------------------------'
bashio::log.green \
' https://github.com/alexbelgium/hassio-addons'
' Provided by: https://github.com/alexbelgium/hassio-addons '
bashio::log.blue \
'-----------------------------------------------------------'
fi
@@ -41,3 +43,15 @@ fi
# ==============================================================================
# Global actions for all addons
# ==============================================================================
if bashio::config.has_value "PUID" && bashio::config.has_value "PGID"; then
bashio::log.green \
' Defining permissions for main user : '
PUID="$(bashio::config "PUID")"
PGID="$(bashio::config "PGID")"
bashio::log.blue "User UID: $PUID"
bashio::log.blue "User GID : $PGID"
id -u abc &>/dev/null || usermod -o -u "$PUID" abc &>/dev/null || true
id -g abc &>/dev/null || groupmod -o -g "$PGID" abc &>/dev/null || true
bashio::log.blue \
'-----------------------------------------------------------'
fi

View File

@@ -41,7 +41,11 @@ for KEYS in "${arr[@]}"; do
# Export the variable to run scripts #
######################################
export "${KEYS}='${VALUE}'"
# set .env
echo "$KEYS=$VALUE" >> /.env || true
# set /etc/environmemt
mkdir -p /etc
echo "$KEYS=$VALUE" >> /etc/environmemt
# For non s6
if cat /etc/services.d/*/*run* &>/dev/null; then sed -i "1a export $line" /etc/services.d/*/*run* 2>/dev/null; fi
if cat /etc/cont-init.d/*run* &>/dev/null; then sed -i "1a export $line" /etc/cont-init.d/*run* 2>/dev/null; fi

View File

@@ -1,6 +1,28 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
####################
# LIST LOCAL DISKS #
####################
function list_drives () {
bashio::log.info "List of available labels (@dianlight)"
bashio::log.blue "---------------------------------------------------"
#autodisks=($(lsblk -E label -n -o label | sed -r '/^\s*$/d' | grep -v hassos | grep pp))
readarray -t autodisks < <(lsblk -E label -n -o label -i | sed -r '/^\s*$/d' | grep -v hassos)
if [ ${#autodisks[@]} -eq 0 ]; then
bashio::log.info "No Disk with labels."
else
bashio::log.info "Available Disk Labels:"
# shellcheck disable=SC2068
for disk in ${autodisks[@]}; do
# shellcheck disable=SC2046
bashio::log.info "\t${disk}[$(lsblk $(blkid -L "$disk") -no fstype)]"
done
fi
bashio::log.blue "---------------------------------------------------"
}
######################
# MOUNT LOCAL SHARES #
######################
@@ -29,9 +51,9 @@ if bashio::config.has_value 'localdisks'; then
# Creates dir
mkdir -p /mnt/"$disk"
if bashio::config.has_value 'PUID' && bashio::config.has_value 'PGID'; then
PUID="$(bashio::config 'PUID')"
PGID="$(bashio::config 'PGID')"
chown "$PUID:$PGID" /mnt/"$disk"
PUID="$(bashio::config 'PUID')"
PGID="$(bashio::config 'PGID')"
chown "$PUID:$PGID" /mnt/"$disk"
fi
# Install lsblk
@@ -56,12 +78,6 @@ if bashio::config.has_value 'localdisks'; then
options="${options},umask=000"
type="ntfs"
;;
*)
if bashio::config.has_value 'PUID' && bashio::config.has_value 'PGID'; then
echo "Using PUID $(bashio::config 'PUID') and PGID $(bashio::config 'PGID')"
options="$options,uid=$(bashio::config 'PUID'),gid=$(bashio::config 'PGID')"
fi
;;
esac
# Legacy mounting : mount to share if still exists (avoid breaking changes)
@@ -70,7 +86,10 @@ if bashio::config.has_value 'localdisks'; then
# shellcheck disable=SC2015
mount -t $type "$devpath"/"$disk" "$dirpath"/"$disk" -o $options && bashio::log.info "Success! $disk mounted to /mnt/$disk" || \
(bashio::log.fatal "Unable to mount local drives! Please check the name." && rmdir /mnt/$disk)
(bashio::log.fatal "Unable to mount local drives! Please check the name."
rmdir /mnt/$disk
list_drives
bashio::addon.stop)
done
fi

View File

@@ -11,7 +11,7 @@ if bashio::config.has_value 'networkdisks'; then
MOREDISKS=$(bashio::config 'networkdisks')
CIFS_USERNAME=$(bashio::config 'cifsusername')
CIFS_PASSWORD=$(bashio::config 'cifspassword')
MOUNTED=false
SMBVERS=""
SECVERS=""
@@ -50,34 +50,61 @@ if bashio::config.has_value 'networkdisks'; then
disk="${disk//"\040"/ }" #replace \040 with
diskname="${disk//\\//}" #replace \ with /
diskname="${diskname##*/}" # Get only last part of the name
MOUNTED=false
# Data validation
if [[ ! $disk =~ ^.*+[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+[/]+.*+$ ]]; then
bashio::log.fatal "The structure of your \"networkdisks\" option : \"$disk\" doesn't seem correct, please use a structure like //123.12.12.12/sharedfolder,//123.12.12.12/sharedfolder2. If you don't use it, you can simply remove the text, this will avoid this error message in the future."
exit 0
break
fi
# Does server exists
server="$(echo "$disk" | grep -E -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")"
if [ -f /usr/bin/ping ]; then
ping "$server" >/dev/null || \
bashio::log.fatal "Your server $server from $disk doesn't ping, is it correct?"
break
fi
# Prepare mount point
mkdir -p /mnt/"$diskname"
chown -R root:root /mnt/"$diskname"
# Tries to mount with default options
# shellcheck disable=SC2140
mount -t cifs -o rw,username="$CIFS_USERNAME",password="$CIFS_PASSWORD$DOMAIN$PUID$PGID" "$disk" /mnt/"$diskname" 2>ERRORCODE && MOUNTED=true || MOUNTED=false
# if Fail test different smb and sec versions
if [ "$MOUNTED" = false ]; then
for SMBVERS in ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs" ",uid=0,gid=0,forceuid,forcegid" ",noforceuid,noforcegid" ",domain=${DOMAIN:-WORKGROUP}" ",noserverino"; do
mount -t cifs -o "rw,file_mode=0775,dir_mode=0775,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$PUID$PGID" "$disk" /mnt/"$diskname" 2>/dev/null && MOUNTED=true && break || MOUNTED=false
for SECVERS in ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=krb5i" ",sec=krb5" ",iocharset=utf8" ",noserverino"; do
mount -t cifs -o "rw,file_mode=0775,dir_mode=0775,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS$PUID$PGID" "$disk" /mnt/"$diskname" 2>/dev/null && MOUNTED=true && break 2 && break || MOUNTED=false
done
done
fi
# if Fail test without PUID and PGID
if [ "$MOUNTED" = false ]; then
mount -t cifs -o rw,username="$CIFS_USERNAME",password="${CIFS_PASSWORD}" "$disk" /mnt/"$diskname" && MOUNTED=true || MOUNTED=false
# Test with domain, remove otherwise
####################################
for DOMAINVAR in "$DOMAIN" ",domain=WORKGROUP" ""; do
# Test with PUIDPGID, remove otherwise
######################################
for PUIDPGID in "$PUID$PGID" "$PUID$PGID,forceuid,forcegid" ""; do
# Test with iocharset utf8, remove otherwise
############################################
for CHARSET in ",iocharset=utf8" ""; do
# Test with different SMB versions
##################################
for SMBVERS in "" ",vers=3" ",vers=1.0" ",vers=2.1" ",vers=3.0" ",nodfs"; do
# Test with different security versions
#######################################
for SECVERS in "" ",sec=ntlm" ",sec=ntlmv2" ",sec=ntlmv2i" ",sec=ntlmssp" ",sec=ntlmsspi" ",sec=krb5i" ",sec=krb5"; do
if [ "$MOUNTED" = false ]; then
mount -t cifs -o "rw,file_mode=0775,dir_mode=0775,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS$PUIDPGID$CHARSET$DOMAINVAR" "$disk" /mnt/"$diskname" 2>/dev/null \
&& MOUNTED=true && MOUNTOPTIONS="$SMBVERS$SECVERS$PUIDPGID$CHARSET$DOMAINVAR" || MOUNTED=false
fi
done
done
done
done
done
fi
# Messages
@@ -85,13 +112,13 @@ if bashio::config.has_value 'networkdisks'; then
#Test write permissions
# shellcheck disable=SC2015
touch "/mnt/$diskname/testaze" && rm "/mnt/$diskname/testaze" &&
bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $SMBVERS$SECVERS" ||
bashio::log.info "... $disk successfully mounted to /mnt/$diskname with options $MOUNTOPTIONS" ||
bashio::log.fatal "Disk is mounted, however unable to write in the shared disk. Please check UID/GID for permissions, and if the share is rw"
# Test for serverino
# shellcheck disable=SC2015
touch "/mnt/$diskname/testaze" && mv "/mnt/$diskname/testaze" "/mnt/$diskname/testaze2" && rm "/mnt/$diskname/testaze2" ||
(umount "/mnt/$diskname" && mount -t cifs -o "rw,file_mode=0775,dir_mode=0775,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$SMBVERS$SECVERS,noserverino" "$disk" /mnt/"$diskname" && bashio::log.warning "noserverino option used")
(umount "/mnt/$diskname" && mount -t cifs -o "iocharset=utf8,rw,file_mode=0775,dir_mode=0775,username=$CIFS_USERNAME,password=${CIFS_PASSWORD}$MOUNTOPTIONS,noserverino" "$disk" /mnt/"$diskname" && bashio::log.warning "noserverino option used")
else
# Mounting failed messages
@@ -117,6 +144,9 @@ if bashio::config.has_value 'networkdisks'; then
done
if [ -f ERRORCODE ]; then rm ERRORCODE*; fi
if [ -f ERRORCODE ]; then
rm ERRORCODE*
fi
fi

View File

@@ -14,6 +14,8 @@ fi
# Execute scripts
if [ -f /config/addons_autoscripts/"${slug}".sh ]; then
bashio::log.info "... script found, executing"
# Convert scripts to linux
dos2unix /config/addons_autoscripts/"${slug}".sh
chmod +x /config/addons_autoscripts/"${slug}".sh
/./config/addons_autoscripts/"${slug}".sh
else

View File

@@ -112,12 +112,9 @@ while IFS= read -r line; do
# Data validation
if [[ "$line" =~ ^.+[=].+$ ]]; then
export "$line"
# Export to scripts
sed -i "1a export $line" /etc/services.d/*/*run* 2>/dev/null || true
sed -i "1a export $line" /etc/cont-init.d/*run* 2>/dev/null || true
sed -i "1a export $line" /scripts/*run* 2>/dev/null || true
# Export to s6
if [ -d /var/run/s6/container_environment ]; then printf "%s" "${VALUE}" > /var/run/s6/container_environment/"${KEYS}"; fi
# extract keys and values
KEYS="${line%%=*}"
VALUE="${line#*=}"
# export to python
if command -v "python3" &>/dev/null; then
[ ! -f /env.py ] && echo "import os" > /env.py
@@ -125,21 +122,19 @@ while IFS= read -r line; do
python3 /env.py
fi
# set .env
echo "$line" >> /.env || true
echo "$KEYS=$VALUE" >> /.env || true
mkdir -p /etc
echo "$line" >> /etc/environmemt
echo "$KEYS=$VALUE" >> /etc/environmemt
# Export to scripts
sed -i "1a export $KEYS=\'$VALUE\'" /etc/services.d/*/*run* 2>/dev/null || true
sed -i "1a export $KEYS=\'$VALUE\'" /etc/cont-init.d/*run* 2>/dev/null || true
sed -i "1a export $KEYS=\'$VALUE\'" /scripts/*run* 2>/dev/null || true
# Export to s6
if [ -d /var/run/s6/container_environment ]; then printf "%s" "${VALUE}" > /var/run/s6/container_environment/"${KEYS}"; fi
# Show in log
if ! bashio::config.false "verbose"; then bashio::log.blue "$line"; fi
if ! bashio::config.false "verbose"; then bashio::log.blue "$KEYS=\'$VALUE\'"; fi
else
bashio::exit.nok "$line does not follow the correct structure. Please check your yaml file."
fi
done <"/tmpfile"
# Test mode
TZ=$(bashio::config "TZ")
if [ "$TZ" = "test" ]; then
echo "secret mode found, launching script in /config/test.sh"
cd /config || exit
chmod 777 test.sh
./test.sh
fi

View File

@@ -68,6 +68,14 @@ for files in "/etc/cont-init.d" "/etc/services.d"; do
#[ "$PACKMANAGER" = "pacman" ] && PACKAGES="$PACKAGES ntfs-3g"
fi
COMMAND="ping"
if grep -q -rnw "$files/" -e "$COMMAND" && ! command -v $COMMAND &>/dev/null; then
[ "$VERBOSE" = true ] && echo "$COMMAND required"
[ "$PACKMANAGER" = "apk" ] && PACKAGES="$PACKAGES iputils"
[ "$PACKMANAGER" = "apt" ] && PACKAGES="$PACKAGES iputils-ping"
#[ "$PACKMANAGER" = "pacman" ] && PACKAGES="$PACKAGES iputils"
fi
COMMAND="cifs"
if grep -q -rnw "$files/" -e "$COMMAND" && ! command -v $COMMAND &>/dev/null; then
[ "$VERBOSE" = true ] && echo "$COMMAND required"
@@ -190,6 +198,12 @@ fi
# INSTALL MANUAL APPS #
#######################
# Install micro texteditor
curl https://getmic.ro | bash
mv micro /usr/bin
micro -plugin install bounce
micro -plugin install filemanager
for files in "/etc/services.d" "/etc/cont-init.d"; do
# Next directory if does not exists

View File

@@ -16,12 +16,11 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
_Thanks to all contributors !_
[![contributors](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)
[![contributors](https://contrib.rocks/image?repo=alexbelgium/hassio-addons)](https://github.com/alexbelgium/hassio-addons/graphs/contributors)
## About
@@ -41,24 +40,36 @@ If you want to do add the repository manually, please follow the procedure highl
## Statistics
Number of addons in the repository : 75
### Number of addons
Total number of addons installed : 13610
- In the repository : 78
- Installed : 19253
Top 3 most installed addons :
1. Portainer (3080x)
2. Filebrowser (2036x)
3. Myelectricaldata (416x)
### Top 3
Most used architectures :
- amd64: 58%
1. Portainer (3527x)
2. Filebrowser (3498x)
3. Myelectricaldata (803x)
### Architectures used
- amd64: 59%
- aarch64: 38%
- armv7: 5%
- armv7: 4%
Downloads evolution :
### Total downloads evolution
![Downloads graph](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/stats.png)
![Addons graph](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/stats_addons.png)
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stats.png" width=500px>
### Specific downloads evolution
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stats_addons.png" width=500px>
### Stars evolution
<a href="https://star-history.com">
<img src="https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/starsevol.svg" width=500px>
</a>
## Add-ons provided by this repository
@@ -71,6 +82,17 @@ Downloads evolution :
![amd64][amd64-badge]
![armv7][armv7-badge]
&#10003; ![image](https://api.iconify.design/mdi/television-classic.svg) [Autobrr](autobrr/) : Automation for downloads
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fautobrr%2Fconfig.json)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fautobrr%2Fupdater.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![armv7][armv7-badge]
![ingress][ingress-badge]
![smb][smb-badge]
![localdisks][localdisks-badge]
&#10003; [Baikal](baikal/) : Baïkal is a Calendar+Contacts server
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbaikal%2Fconfig.json)
@@ -89,6 +111,15 @@ Downloads evolution :
![smb][smb-badge]
![localdisks][localdisks-badge]
&#10003; ![image](https://api.iconify.design/mdi/bitcoin.svg) [Binance Trading Bot](binance-trading-bot/) : Automated Binance trading bot - Trade multiple cryptocurrencies. Buy low/sell high with Grid Trading. Integrated with TradingView technical analysis
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbinance-trading-bot%2Fconfig.json)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbinance-trading-bot%2Fupdater.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![armv7no][armv7no-badge]
![ingress][ingress-badge]
&#10003; [Booksonic-air](booksonic_air/) : platform for accessing the audibooks you own wherever you are
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fbooksonic_air%2Fconfig.json)
@@ -113,7 +144,7 @@ Downloads evolution :
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fcalibre%2Fupdater.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![armv7][armv7-badge]
![armv7no][armv7no-badge]
![ingress][ingress-badge]
![smb][smb-badge]
![localdisks][localdisks-badge]
@@ -176,7 +207,7 @@ Downloads evolution :
![amd64][amd64-badge]
![armv7no][armv7no-badge]
&#10003; ![image](https://api.iconify.design/mdi/file-search.svg) [Filebrowser (2036x)](filebrowser/) : filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files
&#10003; ![image](https://api.iconify.design/mdi/file-search.svg) [Filebrowser (3498x)](filebrowser/) : filebrowser provides a file managing interface within a specified directory and it can be used to upload, delete, preview, rename and edit your files
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ffilebrowser%2Fconfig.json)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ffilebrowser%2Fupdater.json)
@@ -488,7 +519,7 @@ Downloads evolution :
![amd64][amd64-badge]
![armv7][armv7-badge]
&#10003; ![image](https://api.iconify.design/mdi/docker.svg) [Portainer (3080x)](portainer/) : Manage your Docker environment with ease
&#10003; ![image](https://api.iconify.design/mdi/docker.svg) [Portainer (3527x)](portainer/) : Manage your Docker environment with ease
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fportainer%2Fconfig.json)
![Update](https://img.shields.io/badge/dynamic/json?label=Updated&query=%24.last_update&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fportainer%2Fupdater.json)
@@ -617,6 +648,13 @@ Downloads evolution :
![smb][smb-badge]
![localdisks][localdisks-badge]
&#10003; [Sponsorblockcast](sponsorblockcast/) : skips sponsored YouTube content on all local Chromecasts
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fsponsorblockcast%2Fconfig.json)
![aarch64][aarch64-badge]
![amd64][amd64-badge]
![armv7][armv7-badge]
&#10003; ![image](https://api.iconify.design/mdi/chart-timeline.svg) [Spotweb](spotweb/) : Spotweb is a decentralized usenet community based on the Spotnet protocol
&emsp;&emsp;![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fspotweb%2Fconfig.json)

153
Stats
View File

@@ -1,75 +1,78 @@
2023-02-17 2023-02-10 2023-02-03 2023-01-27 2023-01-21 2023-01-13 2023-01-06 2022-12-30 2022-12-24 2022-12-16 2022-12-09 2022-12-08 Date
13610 14133 12886 12065 11500 10919 9777 7647 7966 4937 3908 3691 TOTAL
2366 3080 2786 2538 2238 1987 1630 1327 1176 847 588 555 portainer
1569 2036 1730 1356 1359 1359 1070 888 727 477 285 264 filebrowser
416 365 279 254 504 397 403 272 289 35 59 39 myelectricaldata
404 373 368 328 276 192 142 7 90 53 38 35 mealie
374 437 353 493 407 393 377 98 359 91 321 313 epicgamesfree
364 340 340 325 323 323 337 312 407 266 240 225 qbittorrent
339 300 287 251 207 169 163 144 110 68 47 47 fireflyiii
316 429 325 238 468 468 405 328 283 193 124 94 nextcloud_ocr
277 270 243 225 193 164 139 109 97 61 43 40 browserless_chrome
262 268 268 251 193 193 225 172 181 156 201 196 jellyfin
243 201 170 122 188 144 176 150 131 91 59 57 guacamole
243 192 192 217 146 146 121 90 88 55 37 35 sonarr_nas
241 221 198 168 148 125 102 87 80 45 21 19 addons_updater
235 191 186 208 200 200 128 95 91 47 31 29 radarr_nas
225 281 231 243 288 288 237 181 298 226 195 195 plex_nas
218 193 183 168 142 126 98 88 75 39 30 29 arpspoof
202 333 260 277 254 254 294 218 282 205 204 195 transmission_ls
199 180 168 148 135 119 97 82 72 41 32 29 whoogle-search
176 148 152 108 134 134 123 84 104 57 86 80 paperless_ng
171 157 148 134 110 100 85 78 70 37 25 22 organizr
166 152 133 123 108 98 80 66 51 23 15 14 xteve
161 123 107 85 150 150 145 127 99 60 72 66 emby
155 124 112 127 115 115 125 98 112 86 107 69 calibre
150 150 136 113 91 89 71 43 60 38 22 20 scrutiny-fa
148 151 120 138 129 129 120 114 142 100 114 113 prowlarr
143 132 184 157 93 114 94 73 52 44 34 32 tandoor_recipes
140 133 119 103 80 64 50 39 26 7 4 4 vaultwarden
140 117 90 72 145 145 126 80 97 67 54 54 transmission_openvpn
139 121 98 75 155 155 134 110 95 82 17 17 code_server
138 131 119 111 89 75 65 55 46 29 17 15 wger
135 114 107 114 102 102 87 72 61 33 22 20 cloudcommander
134 140 111 129 118 118 94 106 136 104 95 95 jackett_nas
132 122 118 104 85 76 67 56 49 24 20 18 baikal
127 112 97 74 81 81 67 48 84 58 58 58 scrutiny
126 96 91 87 143 143 121 112 103 78 81 81 photoprism
121 148 113 223 174 119 117 123 104 45 19 14 zoneminder
120 110 99 91 68 65 53 42 35 16 11 9 papermerge
119 102 103 150 132 119 99 73 64 33 27 27 overseerr
118 103 84 83 77 73 62 51 47 23 16 15 fireflyiii_data_importer
117 112 100 90 70 56 44 39 34 11 7 6 flaresolverr
117 108 92 89 68 53 47 38 29 13 7 7 gazpar2mqtt
117 107 93 80 84 84 49 103 98 75 69 68 bazarr
113 118 152 127 122 122 120 86 122 79 67 65 webtop_kde
109 100 94 72 62 62 76 61 84 57 50 50 nzbget
104 89 87 82 64 52 46 43 37 19 13 13 teamspeak
96 159 149 130 105 85 69 74 81 48 24 23 joplin
87 81 73 65 50 40 39 30 24 9 4 4 ombi
87 73 72 65 45 38 55 48 43 21 10 9 grav
86 78 72 69 52 47 45 31 31 13 7 7 elasticsearch
82 75 79 84 127 105 93 88 78 53 51 51 omada
79 78 74 71 59 46 40 34 29 12 7 7 inadyn
79 72 63 53 39 57 38 45 32 21 14 12 gitea
70 63 56 46 29 25 55 49 45 27 23 22 spotweb
67 61 56 51 29 29 20 8 44 28 26 26 webtrees
67 58 43 65 58 58 52 42 68 51 45 44 lidarr_nas
60 48 54 62 52 52 43 39 65 49 42 41 readarr_nas
56 49 44 37 68 68 57 41 37 19 10 9 ubooquity
55 51 50 48 34 33 31 32 32 20 18 18 joal
55 51 43 37 44 44 40 31 30 12 8 7 tdarr
55 45 39 31 37 37 19 11 28 12 10 8 resiliosync
53 44 37 56 59 45 42 33 63 33 32 31 plex-media-manager
51 49 45 41 28 24 25 22 18 4 1 1 requestrr
41 39 33 29 20 16 8 24 18 5 7 7 fireflyiii_fints_importer
38 34 19 25 61 61 50 49 43 21 17 17 seafile
38 32 23 26 32 32 22 19 53 33 27 26 piwigo
31 36 26 37 30 23 20 24 38 22 26 26 flexget
29 22 29 28 2 2 0 - - - - - immich
27 23 21 20 25 25 24 22 19 6 3 3 mylar3
23 66 10 86 22 22 73 72 81 69 73 69 calibre_web
22 23 17 25 32 32 21 22 20 11 9 9 unpackerr
19 17 14 27 43 38 34 30 24 7 13 11 omada_v3
17 20 17 22 69 62 41 28 45 18 7 5 myelectricaldata_dev
11 7 2 - - - - - - - - - sabnzbd
2023-04-07 2023-03-31 2023-03-24 2023-03-17 2023-03-10 2023-03-03 2023-02-24 2023-02-17 2023-02-10 2023-02-03 2023-01-27 2023-01-21 2023-01-13 2023-01-06 2022-12-30 2022-12-24 2022-12-16 2022-12-09 2022-12-08 Date
19253 18223 18044 16127 15701 14436 13970 13610 14133 12886 12065 11500 10919 9777 7647 7966 4937 3908 3691 TOTAL
3527 3207 2848 2476 2542 2400 2836 2366 3080 2786 2538 2238 1987 1630 1327 1176 847 588 555 portainer
3498 3263 3035 2810 2532 2229 1960 1569 2036 1730 1356 1359 1359 1070 888 727 477 285 264 filebrowser
803 755 709 672 607 450 490 416 365 279 254 504 397 403 272 289 35 59 39 myelectricaldata
606 588 562 542 501 465 434 404 373 368 328 276 192 142 7 90 53 38 35 mealie
561 472 692 642 565 495 397 374 437 353 493 407 393 377 98 359 91 321 313 epicgamesfree
556 461 359 363 504 363 293 364 340 340 325 323 323 337 312 407 266 240 225 qbittorrent
353 291 331 285 274 254 173 262 268 268 251 193 193 225 172 181 156 201 196 jellyfin
322 301 262 236 202 158 111 176 148 152 108 134 134 123 84 104 57 86 80 paperless_ng
322 281 250 86 290 257 222 235 191 186 208 200 200 128 95 91 47 31 29 radarr_nas
320 283 247 246 288 248 191 243 192 192 217 146 146 121 90 88 55 37 35 sonarr_nas
306 282 232 284 228 298 268 243 201 170 122 188 144 176 150 131 91 59 57 guacamole
300 289 277 262 252 240 227 218 193 183 168 142 126 98 88 75 39 30 29 arpspoof
298 299 359 394 249 365 269 316 429 325 238 468 468 405 328 283 193 124 94 nextcloud_ocr
266 256 237 225 203 184 171 150 150 136 113 91 89 71 43 60 38 22 20 scrutiny-fa
263 249 240 231 214 200 190 171 157 148 134 110 100 85 78 70 37 25 22 organizr
261 246 225 214 112 170 152 126 96 91 87 143 143 121 112 103 78 81 81 photoprism
259 251 240 232 218 216 204 199 180 168 148 135 119 97 82 72 41 32 29 whoogle-search
254 307 243 252 236 226 196 225 281 231 243 288 288 237 181 298 226 195 195 plex_nas
249 224 215 226 214 395 371 339 300 287 251 207 169 163 144 110 68 47 47 fireflyiii
245 233 216 204 183 162 148 140 117 90 72 145 145 126 80 97 67 54 54 transmission_openvpn
238 231 219 210 195 189 179 166 152 133 123 108 98 80 66 51 23 15 14 xteve
213 221 274 203 206 277 145 202 333 260 277 254 254 294 218 282 205 204 195 transmission_ls
212 178 144 121 76 188 170 121 148 113 223 174 119 117 123 104 45 19 14 zoneminder
196 186 180 171 145 144 133 119 102 103 150 132 119 99 73 64 33 27 27 overseerr
194 169 139 200 167 150 123 143 132 184 157 93 114 94 73 52 44 34 32 tandoor_recipes
190 183 171 165 154 149 143 132 122 118 104 85 76 67 56 49 24 20 18 baikal
171 169 161 159 154 148 110 134 140 111 129 118 118 94 106 136 104 95 95 jackett_nas
170 168 173 168 157 146 123 148 151 120 138 129 129 120 114 142 100 114 113 prowlarr
170 166 158 153 138 126 114 104 89 87 82 64 52 46 43 37 19 13 13 teamspeak
161 186 150 145 86 127 83 155 124 112 127 115 115 125 98 112 86 107 69 calibre
158 144 132 119 103 81 130 127 112 97 74 81 81 67 48 84 58 58 58 scrutiny
155 138 121 88 303 282 266 241 221 198 168 148 125 102 87 80 45 21 19 addons_updater
154 150 146 138 129 115 112 109 100 94 72 62 62 76 61 84 57 50 50 nzbget
147 114 147 130 184 179 157 135 114 107 114 102 102 87 72 61 33 22 20 cloudcommander
143 139 133 123 105 83 125 117 108 92 89 68 53 47 38 29 13 7 7 gazpar2mqtt
140 143 130 137 156 125 97 113 118 152 127 122 122 120 86 122 79 67 65 webtop_kde
140 119 88 98 146 119 104 139 121 98 75 155 155 134 110 95 82 17 17 code_server
138 120 104 108 150 133 116 96 159 149 130 105 85 69 74 81 48 24 23 joplin
132 122 117 106 98 127 120 117 107 93 80 84 84 49 103 98 75 69 68 bazarr
120 114 109 104 98 91 86 79 78 74 71 59 46 40 34 29 12 7 7 inadyn
117 108 94 83 76 61 57 55 45 39 31 37 37 19 11 28 12 10 8 resiliosync
109 95 79 119 92 66 42 277 270 243 225 193 164 139 109 97 61 43 40 browserless_chrome
107 94 84 101 105 88 51 23 66 10 86 22 22 73 72 81 69 73 69 calibre_web
106 98 89 82 71 67 62 56 49 44 37 68 68 57 41 37 19 10 9 ubooquity
106 101 97 90 84 74 64 67 61 56 51 29 29 20 8 44 28 26 26 webtrees
105 286 266 248 221 200 179 161 123 107 85 150 150 145 127 99 60 72 66 emby
105 103 97 108 95 115 76 82 75 79 84 127 105 93 88 78 53 51 51 omada
99 86 95 177 156 131 132 118 103 84 83 77 73 62 51 47 23 16 15 fireflyiii_data_importer
88 84 80 73 59 93 92 87 81 73 65 50 40 39 30 24 9 4 4 ombi
88 100 94 82 146 138 128 117 112 100 90 70 56 44 39 34 11 7 6 flaresolverr
87 78 72 69 63 54 28 17 20 17 22 69 62 41 28 45 18 7 5 myelectricaldata_dev
76 74 71 67 63 61 55 55 51 50 48 34 33 31 32 32 20 18 18 joal
76 66 52 43 169 153 143 138 131 119 111 89 75 65 55 46 29 17 15 wger
74 54 35 14 - - - - - - - - - - - - - - - sponsorblockcast
69 62 94 87 74 59 45 79 72 63 53 39 57 38 45 32 21 14 12 gitea
64 75 69 60 60 62 50 67 58 43 65 58 58 52 42 68 51 45 44 lidarr_nas
64 63 60 60 58 55 52 51 49 45 41 28 24 25 22 18 4 1 1 requestrr
63 60 58 55 50 47 45 41 39 33 29 20 16 8 24 18 5 7 7 fireflyiii_fints_importer
59 54 51 41 31 27 79 70 63 56 46 29 25 55 49 45 27 23 22 spotweb
59 54 49 41 26 90 85 86 78 72 69 52 47 45 31 31 13 7 7 elasticsearch
59 47 39 35 25 17 15 38 32 23 26 32 32 22 19 53 33 27 26 piwigo
58 56 71 65 60 59 49 60 48 54 62 52 52 43 39 65 49 42 41 readarr_nas
58 53 70 60 48 21 23 29 22 29 28 2 2 0 - - - - - immich
55 46 42 37 29 22 26 55 51 43 37 44 44 40 31 30 12 8 7 tdarr
51 207 193 186 167 160 149 140 133 119 103 80 64 50 39 26 7 4 4 vaultwarden
49 35 39 31 17 9 - - - - - - - - - - - - - binance_trading_bot
45 32 38 32 33 32 30 31 36 26 37 30 23 20 24 38 22 26 26 flexget
44 41 55 53 47 51 44 53 44 37 56 59 45 42 33 63 33 32 31 plex-media-manager
35 30 13 9 42 27 98 87 73 72 65 45 38 55 48 43 21 10 9 grav
34 32 54 46 38 29 22 38 34 19 25 61 61 50 49 43 21 17 17 seafile
33 28 31 27 23 20 16 11 7 2 - - - - - - - - - sabnzbd
31 31 31 31 31 30 30 120 110 99 91 68 65 53 42 35 16 11 9 papermerge
27 36 35 28 21 29 26 22 23 17 25 32 32 21 22 20 11 9 9 unpackerr
17 17 46 43 40 34 28 27 23 21 20 25 25 24 22 19 6 3 3 mylar3
14 22 13 1 - - - - - - - - - - - - - - - autobrr
11 17 13 15 17 17 10 19 17 14 27 43 38 34 30 24 7 13 11 omada_v3

151
Stats2
View File

@@ -1,76 +1,79 @@
Name Total armv7 amd64 aarch64
------------------------------
zoneminder 121 3 85 33
xteve 166 13 94 59
whoogle-search 199 7 127 65
wger 138 - 81 57
webtrees 67 4 34 29
webtop_kde 113 1 82 30
unpackerr 22 - 16 6
ubooquity 56 5 32 19
transmission_openvpn 140 7 77 56
transmission_ls 202 4 121 77
teamspeak 104 8 60 36
tdarr 55 4 36 15
tandoor_recipes 143 6 82 55
spotweb 70 4 43 23
sonarr_nas 243 9 155 79
seafile 38 10 19 9
scrutiny-fa 150 - 87 63
scrutiny 127 - 86 41
sabnzbd 11 0 8 3
resiliosync 55 7 27 21
requestrr 51 8 27 16
readarr_nas 60 2 42 16
radarr_nas 235 6 150 79
qbittorrent 364 11 200 153
prowlarr 148 3 100 45
portainer 2366 130 1353 883
plex-media-manager 53 0 38 15
plex_nas 225 9 135 81
piwigo 38 3 17 18
photoprism 126 - 89 37
papermerge 120 10 59 51
paperless_ng 176 6 103 67
overseerr 119 3 82 34
organizr 171 10 101 60
ombi 87 9 49 29
omada_v3 19 - 12 7
omada 82 - 46 36
nzbget 109 8 55 46
nextcloud_ocr 316 8 168 140
mylar3 27 4 13 10
mealie 404 - 254 150
lidarr_nas 67 1 44 22
joplin 96 5 59 32
joal 55 9 22 24
jellyfin 262 10 149 103
jackett_nas 134 4 90 40
inadyn 79 8 40 31
immich 29 18 11
guacamole 243 - 182 61
grav 87 6 53 28
gitea 79 - 37 42
gazpar2mqtt 117 12 53 52
flexget 31 0 18 13
flaresolverr 117 7 58 52
fireflyiii_fints_importer 41 - 23 18
fireflyiii_data_importer 118 0 61 57
fireflyiii 339 15 187 137
filebrowser 1569 67 819 683
epicgamesfree 374 - 241 133
myelectricaldata_dev 17 4 10 3
myelectricaldata 416 35 187 194
emby 161 7 91 63
elasticsearch 86 - 51 35
code_server 139 18 65 56
cloudcommander 135 5 80 50
calibre_web 23 0 16 7
calibre 155 4 84 67
browserless_chrome 277 - 184 93
calibre_web 23 0 16 7
vaultwarden 140 9 80 51
bazarr 117 6 74 37
baikal 132 10 76 46
arpspoof 218 17 121 80
addons_updater 241 15 123 103
zoneminder 212 6 137 69
xteve 238 16 146 76
whoogle-search 259 11 169 79
wger 76 - 49 27
webtrees 106 4 65 37
webtop_kde 140 0 107 33
unpackerr 27 - 17 10
ubooquity 106 7 66 33
transmission_openvpn 245 9 130 106
transmission_ls 213 9 113 91
teamspeak 170 11 94 65
tdarr 55 0 37 18
tandoor_recipes 194 8 117 69
spotweb 59 1 35 23
sponsorblockcast 74 0 46 28
sonarr_nas 320 4 206 110
seafile 34 10 16 8
scrutiny-fa 266 - 165 101
scrutiny 158 - 105 53
sabnzbd 33 0 27 6
resiliosync 117 7 66 44
requestrr 64 8 38 18
readarr_nas 58 2 35 21
radarr_nas 322 5 215 102
qbittorrent 556 16 329 211
prowlarr 170 5 105 60
portainer 3527 166 2029 1332
plex-media-manager 44 0 31 13
plex_nas 254 13 146 95
piwigo 59 1 33 25
photoprism 261 - 176 85
papermerge 31 1 24 6
paperless_ng 322 7 207 108
overseerr 196 4 133 59
organizr 263 10 167 86
ombi 88 1 56 31
omada_v3 11 - 7 4
omada 105 - 70 35
nzbget 154 9 80 65
nextcloud_ocr 298 10 174 114
mylar3 17 0 15 2
mealie 606 - 376 230
lidarr_nas 64 1 42 21
joplin 138 5 85 48
joal 76 9 30 37
jellyfin 353 11 204 138
jackett_nas 171 1 115 55
inadyn 120 11 66 43
immich 58 - 33 25
guacamole 306 - 223 83
grav 35 0 27 8
gitea 69 - 41 28
gazpar2mqtt 143 11 60 72
flexget 45 1 22 22
flaresolverr 88 3 50 35
fireflyiii_fints_importer 63 - 33 30
fireflyiii_data_importer 99 1 54 44
fireflyiii 249 9 137 103
filebrowser 3498 126 1903 1469
epicgamesfree 561 - 371 190
myelectricaldata_dev 87 6 46 35
myelectricaldata 803 63 374 366
emby 105 2 62 41
elasticsearch 59 - 36 23
code_server 140 12 76 52
cloudcommander 147 5 94 48
calibre_web 107 4 55 48
calibre 161 5 87 69
browserless_chrome 109 - 78 31
calibre_web 107 4 55 48
vaultwarden 51 4 26 21
binance_trading_bot 49 - 30 19
bazarr 132 3 89 40
baikal 190 12 114 64
autobrr 14 0 6 8
arpspoof 300 18 172 110
addons_updater 155 6 100 49

View File

@@ -1,3 +1,8 @@
## 3.10
- Add dry run mode (test but does not commit)
## 3.9.9
- Add mode
- WARNING : update to supervisor 2022.11 before installing
- Fix : dockerhub_list_size corrected
- New dockerhub_list_size tag for dockerhub

View File

@@ -104,3 +104,7 @@ LABEL \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
####################
# 6 HealthcheckNOT #
####################

View File

@@ -14,8 +14,9 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/addons_updater/stats.png)
## About

View File

@@ -19,6 +19,7 @@
"repository": "alexbelgium/hassio-addons"
},
"schema": {
"dry_run": "bool?",
"gitapi": "str?",
"gitmail": "str?",
"gitpass": "str",
@@ -29,5 +30,5 @@
"slug": "updater",
"startup": "once",
"url": "https://github.com/alexbelgium/hassio-addons/tree/master/addons_updater",
"version": "3.9.9"
"version": "3.14"
}

View File

@@ -1,17 +1,6 @@
#!/bin/bash
echo "Starting..."
############################
# Backup Dockerfile Script #
############################
if [ -f /etc/cont-init.d/00-aaa_dockerfile_backup.sh ]; then
chown "$(id -u)":"$(id -g)" /etc/cont-init.d/00-aaa_dockerfile_backup.sh
chmod +x /etc/cont-init.d/00-aaa_dockerfile_backup.sh
/./etc/cont-init.d/00-aaa_dockerfile_backup.sh
rm /etc/cont-init.d/00-aaa_dockerfile_backup.sh
fi
####################
# Starting scripts #
####################

View File

@@ -7,6 +7,10 @@
bashio::log.info "Starting $(lastversion --version)"
if bashio::config.true "dry_run"; then
bashio::log.warning "Dry run mode : on"
fi
bashio::log.info "Checking status of referenced repositoriess..."
VERBOSE=$(bashio::config 'verbose')
@@ -39,8 +43,8 @@ if [ ! -d "/data/$BASENAME" ]; then
else
LOGINFO="... updating ${REPOSITORY}" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
cd "/data/$BASENAME" || exit
git pull --rebase >/dev/null || git reset --hard >/dev/null
git pull --rebase >/dev/null
git pull --rebase origin >/dev/null || git reset --hard origin/master >/dev/null
git pull --rebase origin >/dev/null
fi
LOGINFO="... parse addons" && if [ "$VERBOSE" = true ]; then bashio::log.info "$LOGINFO"; fi
@@ -225,7 +229,9 @@ for f in */; do
fi
# Push
git push &>/dev/null
if ! bashio::config.true "dry_run"; then
git push &>/dev/null
fi
#Log
bashio::log.yellow "... $SLUG updated from ${CURRENT} to ${LASTVERSION}"

BIN
addons_updater/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -96,6 +96,9 @@ configuration:
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
@@ -503,7 +506,7 @@ configuration:
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that do no need a password'
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation

View File

@@ -1,3 +1,4 @@
- Implemented healthcheck
- WARNING : update to supervisor 2022.11 before installing
- Add codenotary sign
- New standardized logic for Dockerfile build and packages installation

View File

@@ -100,3 +100,16 @@ LABEL \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
ENV HEALTH_PORT="7022" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl --fail "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

View File

@@ -14,8 +14,9 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/arpspoof/stats.png)
## About

View File

@@ -1,17 +1,6 @@
#!/bin/bash
echo "Starting..."
############################
# Backup Dockerfile Script #
############################
if [ -f /etc/cont-init.d/00-aaa_dockerfile_backup.sh ]; then
chown "$(id -u)":"$(id -g)" /etc/cont-init.d/00-aaa_dockerfile_backup.sh
chmod +x /etc/cont-init.d/00-aaa_dockerfile_backup.sh
/./etc/cont-init.d/00-aaa_dockerfile_backup.sh
rm /etc/cont-init.d/00-aaa_dockerfile_backup.sh
fi
####################
# Starting scripts #
####################

BIN
arpspoof/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -96,6 +96,9 @@ configuration:
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
@@ -503,7 +506,7 @@ configuration:
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that do no need a password'
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation

14
autobrr/CHANGELOG.md Normal file
View File

@@ -0,0 +1,14 @@
## 1.23.0 (31-03-2023)
- Update to latest version from autobrr/autobrr
## 1.21.0 (24-03-2023)
- Update to latest version from autobrr/autobrr
### 1.19.0-2 (20-03-2023)
- Minor bugs fixed
- Ingress addition
## 1.19.0 (18-03-2023)
- Update to latest version from autobrr/autobrr
- First version

145
autobrr/Dockerfile Normal file
View File

@@ -0,0 +1,145 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="1.23.0"
FROM ${BUILD_FROM}
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
# Global LSIO modifications
ARG CONFIGLOCATION="/config/addons_config/autobrr"
# hadolint ignore=SC2015, SC2013, SC2086
RUN \
# Avoid custom-init.d duplications
for file in $(grep -sril 'Potential tampering with custom' /etc/cont-init.d /etc/services.d /etc/s6-overlay/s6-rc.d); do rm -f $file; done \
\
# Create new config folder if needed
&& for file in $(grep -srl "PUID" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i "1a mkdir -p $CONFIGLOCATION" $file; done \
\
# Allow UID and GID setting
&& for file in $(grep -srl "PUID" /etc/cont-init.d /etc/s6-overlay/s6-rc.d); do sed -i 's/bash/bashio/g' $file && sed -i '1a PUID="$(if bashio::config.has_value "PUID"; then bashio::config "PUID"; else echo "0"; fi)"' $file && sed -i '1a PGID="$(if bashio::config.has_value "PGID"; then bashio::config "PGID"; else echo "0"; fi)"' $file; done \
\
# Correct config location
&& for file in $(grep -Esril "/config[ '\"/]|/config\$" /etc /defaults); do sed -Ei "s=(/config)+(/| |$|\"|\')=$CONFIGLOCATION\2=g" $file; done \
\
# Avoid chmod /config
&& for file in /etc/services.d/*/* /etc/cont-init.d/* /etc/s6-overlay/s6-rc.d/*/*;do if [ -f $file ] && [[ ! -z $(awk '/chown.*abc:abc.*\\/,/.*\/config( |$)/{print FILENAME}' $file) ]] ; then sed -i "s|/config$|/data|g" $file; fi ;done \
\
# Docker mods addition
#&& if [ -f /docker-mods ]; then sed -i 's|bash|bashio|g' /docker-mods && sed -i "1a if bashio::config.has_value \"DOCKER_MODS\"; then DOCKER_MODS=\$(bashio::config \"DOCKER_MODS\"); fi" /docker-mods; fi \
\
# Replace lsiown if not found
&& if [ ! -f /usr/bin/lsiown ]; then for file in $(grep -sril "lsiown" /etc); do sed -i "s|lsiown|chown|g" $file; done; fi
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Corrects permissions for s6 v3
RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \
if [ -d /etc/services.d ]; then chmod -R 755 /etc/services.d; fi && \
if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 90-disable_ingress.sh 00-local_mounts.sh 00-smb_mounts.sh"
# Automatic modules download
RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \
&& if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \
&& apt-get update && apt-get install -yqq --no-install-recommends ca-certificates || apk add --no-cache ca-certificates >/dev/null || true \
&& mkdir -p /etc/cont-init.d \
&& for scripts in $MODULES; do echo "$scripts" && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/$scripts" -o /etc/cont-init.d/"$scripts" && [ "$(sed -n '/\/bin/p;q' /etc/cont-init.d/"$scripts")" != "" ] || (echo "script failed to install $scripts" && exit 1); done \
&& chmod -R 755 /etc/cont-init.d
# Manual apps
ENV PACKAGES="jq \
curl \
cifs-utils \
keyutils nginx"
# Automatic apps & bashio
# hadolint ignore=SC2015
RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \
&& if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \
&& curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/automatic_packages.sh" --output /automatic_packages.sh \
&& chmod 777 /automatic_packages.sh \
&& eval /./automatic_packages.sh "${PACKAGES:-}" \
&& rm /automatic_packages.sh
################
# 4 Entrypoint #
################
RUN chmod 777 /entrypoint.sh
#WORKDIR /
ENTRYPOINT [ "/usr/bin/env" ]
CMD [ "/entrypoint.sh" ]
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
ENV HEALTH_PORT="7474" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl --fail "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

69
autobrr/README.md Normal file
View File

@@ -0,0 +1,69 @@
# Home assistant add-on: Autobrrf
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fautobrr%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fautobrr%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Fautobrr%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
[![GitHub Super-Linter](https://github.com/alexbelgium/hassio-addons/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)
[![Builder](https://github.com/alexbelgium/hassio-addons/workflows/Builder/badge.svg)](https://github.com/alexbelgium/hassio-addons/actions/workflows/builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/autobrr/stats.png)
## About
---
[Autobrr](https://autobrr.com/) autobrr is the modern download automation tool for torrents. With inspiration and ideas from tools like trackarr, autodl-irssi and flexget we built one tool that can do it all, and then some.
This addon is based on the docker image https://github.com/autobrr/autobrr
## Installation
---
The installation of this add-on is pretty straightforward and not different in comparison to installing any other add-on.
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
[![Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.](https://my.home-assistant.io/badges/supervisor_add_addon_repository.svg)](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
1. Install this add-on.
1. Click the `Save` button to store your configuration.
1. Set the add-on options to your preferences
1. Start the add-on.
1. Check the logs of the add-on to see if everything went well.
1. Open the webUI and adapt the software options
## Configuration
---
Webui can be found at <http://your-ip:PORT>.
The default username/password : described in the startup log.
Configurations can be done through the app webUI, except for the following options
```yaml
PGID: user
GPID: user
TZ: timezone
localdisks: sda1 #put the hardware name of your drive to mount separated by commas, or its label. ex. sda1, sdb1, MYNAS...
networkdisks: "//SERVER/SHARE" # optional, list of smb servers to mount, separated by commas
cifsusername: "username" # optional, smb username, same for all smb shares
cifspassword: "password" # optional, smb password
WEBUI_USERNAME: webui username
WEBUI_PASSWORD: password
```
## Support
Create an issue on github
[repository]: https://github.com/alexbelgium/hassio-addons

66
autobrr/apparmor.txt Normal file
View File

@@ -0,0 +1,66 @@
#include <tunables/global>
profile autobrr_addon flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
# capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/tmp/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

10
autobrr/build.json Normal file
View File

@@ -0,0 +1,10 @@
{
"build_from": {
"aarch64": "ghcr.io/autobrr/autobrr:latest",
"amd64": "ghcr.io/autobrr/autobrr:latest",
"armv7": "ghcr.io/autobrr/autobrr:latest"
},
"codenotary": {
"signer": "alexandrep.github@gmail.com"
}
}

89
autobrr/config.json Normal file
View File

@@ -0,0 +1,89 @@
{
"arch": [
"aarch64",
"amd64",
"armv7"
],
"codenotary": "alexandrep.github@gmail.com",
"description": "Automation for downloads",
"devices": [
"/dev/sda",
"/dev/sdb",
"/dev/sdc",
"/dev/sdd",
"/dev/sde",
"/dev/sdf",
"/dev/sdg",
"/dev/nvme",
"/dev/nvme0n1p1",
"/dev/nvme0n1p2",
"/dev/mmcblk",
"/dev/fuse",
"/dev/sda1",
"/dev/sdb1",
"/dev/sdc1",
"/dev/sdd1",
"/dev/sde1",
"/dev/sdf1",
"/dev/sdg1",
"/dev/sda2",
"/dev/sdb2",
"/dev/sdc2",
"/dev/sdd2",
"/dev/sde2",
"/dev/sdf2",
"/dev/sdg2",
"/dev/sda3",
"/dev/sdb3",
"/dev/sda4",
"/dev/sdb4",
"/dev/nvme0",
"/dev/nvme1",
"/dev/nvme2"
],
"environment": {
"BASE_DOCKER_DATA_PATH": "/data/autobrr",
"PGID": "0",
"PUID": "0",
"WEBUI_PASSWORD": "password",
"WEBUI_PORT": "7474",
"WEBUI_USERNAME": "admin"
},
"image": "ghcr.io/alexbelgium/autobrr-{arch}",
"ingress": true,
"init": false,
"map": [
"config:rw",
"share:rw",
"media:rw",
"ssl"
],
"name": "Autobrr",
"options": {
"PGID": 0,
"PUID": 0
},
"panel_icon": "mdi:television-classic",
"ports": {
"7474/tcp": 7474
},
"ports_description": {
"7474/tcp": "web interface"
},
"privileged": [
"SYS_ADMIN",
"DAC_READ_SEARCH"
],
"schema": {
"PGID": "int",
"PUID": "int",
"TZ": "str?",
"cifspassword": "str?",
"cifsusername": "str?",
"localdisks": "str?",
"networkdisks": "str?"
},
"slug": "autobrr",
"url": "https://github.com/alexbelgium/hassio-addons/tree/master/autobrr",
"version": "1.23.0"
}

BIN
autobrr/icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
autobrr/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

16
autobrr/rootfs/entrypoint.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
echo "Starting..."
####################
# Starting scripts #
####################
for SCRIPTS in /etc/cont-init.d/*; do
[ -e "$SCRIPTS" ] || continue
echo "$SCRIPTS: executing"
chown "$(id -u)":"$(id -g)" "$SCRIPTS"
chmod a+x "$SCRIPTS"
# Change shebang if no s6 supervision
sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' "$SCRIPTS"
/."$SCRIPTS" || echo "$SCRIPTS: exiting $?"
done

View File

@@ -0,0 +1,14 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
if [ ! -d /data/autobrr ]; then
echo "Creating /data/autobrr"
mkdir -p /data/autobrr
chown -R "$(bashio::config "PUID"):$(bashio::config "PGID")" /data/autobrr
fi
if [ ! -d /config/addons_config/autobrr ]; then
echo "Creating /config/addons_config/autobrr"
mkdir -p /config/addons_config/autobrr
chown -R "$(bashio::config "PUID"):$(bashio::config "PGID")" /config/addons_config/autobrr
fi

View File

@@ -0,0 +1,16 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
#################
# NGINX SETTING #
#################
declare ingress_interface
declare ingress_port
ingress_port=$(bashio::addon.ingress_port)
ingress_interface=$(bashio::addon.ip_address)
ingress_entry=$(bashio::addon.ingress_entry)
sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf
sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf
sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf
sed -i "s|%%ingress_entry2%%|${ingress_entry////\\/}|g" /etc/nginx/servers/ingress.conf

View File

@@ -0,0 +1,18 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
###############
# Start nginx #
###############
# Set UrlBase
bashio::log.info "Starting NGinx..."
nginx & true
#############
# Start app #
#############
bashio::log.info "Starting app"
exec /usr/local/bin/autobrr --config /config/addons_config/autobrr

View File

@@ -0,0 +1,16 @@
#!/bin/bash
echo "Starting..."
####################
# Starting scripts #
####################
for SCRIPTS in /etc/cont-init.d/*; do
[ -e "$SCRIPTS" ] || continue
echo "$SCRIPTS: executing"
chown "$(id -u)":"$(id -g)" "$SCRIPTS"
chmod a+x "$SCRIPTS"
# Change shebang if no s6 supervision
sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' "$SCRIPTS"
/."$SCRIPTS" || echo "$SCRIPTS: exiting $?"
done

View File

@@ -0,0 +1,96 @@
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}

View File

@@ -0,0 +1,16 @@
proxy_http_version 1.1;
proxy_ignore_client_abort off;
proxy_read_timeout 86400s;
proxy_redirect off;
proxy_send_timeout 86400s;
proxy_max_temp_file_size 0;
proxy_hide_header X-Frame-Options;
proxy_set_header Accept-Encoding "";
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Real-IP $remote_addr;

View File

@@ -0,0 +1 @@
resolver 127.0.0.11;

View File

@@ -0,0 +1,6 @@
root /app/sonarr/bin/UI;
server_name $hostname;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;

View File

@@ -0,0 +1,9 @@
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_ecdh_curve secp384r1;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;

View File

@@ -0,0 +1,3 @@
upstream backend {
server 127.0.0.1:8080;
}

View File

@@ -0,0 +1,57 @@
# Run nginx in foreground.
daemon off;
# This is run inside Docker.
user root;
# Pid storage location.
pid /var/run/nginx.pid;
# Set number of worker processes.
worker_processes 1;
# Enables the use of JIT for regular expressions to speed-up their processing.
pcre_jit on;
# Write error log to Hass.io add-on log.
error_log /proc/1/fd/1 error;
# Load allowed environment vars
env HASSIO_TOKEN;
# Load dynamic modules.
include /etc/nginx/modules/*.conf;
# Max num of simultaneous connections by a worker process.
events {
worker_connections 512;
}
http {
include /etc/nginx/includes/mime.types;
log_format hassio '[$time_local] $status '
'$http_x_forwarded_for($remote_addr) '
'$request ($http_user_agent)';
access_log /proc/1/fd/1 hassio;
client_max_body_size 4G;
default_type application/octet-stream;
gzip on;
keepalive_timeout 65;
sendfile on;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
include /etc/nginx/includes/resolver.conf;
include /etc/nginx/includes/upstream.conf;
include /etc/nginx/servers/*.conf;
}

View File

@@ -0,0 +1,30 @@
server {
listen %%interface%%:%%port%% default_server;
#include /etc/nginx/includes/server_params.conf;
#include /etc/nginx/includes/proxy_params.conf;
client_max_body_size 0;
location / {
add_header Access-Control-Allow-Origin *;
proxy_connect_timeout 30m;
proxy_send_timeout 30m;
proxy_read_timeout 30m;
proxy_pass http://0.0.0.0:7474;
# Allow signalr
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header X-Forwarded-Host $http_host;
# Correct base_url
proxy_set_header Accept-Encoding "";
sub_filter_once off;
sub_filter_types *;
sub_filter 'href="/"' 'href="%%ingress_entry%%/"';
sub_filter '"\/"' '"%%ingress_entry2%%\/"';
}
}

BIN
autobrr/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,662 @@
---
configuration:
additional_apps:
name: additional_apps
description: Additional apps to install at boot
allow_ipv6:
name: allow_ipv6
description: Enables ipv6 in the addon
ALLOW_SIGNUP:
name: ALLOW_SIGNUP
description: See upstream app documentation
ALLOWED_HOSTS:
name: ALLOWED_HOSTS
description: See upstream app documentation
APP_BASE_URL:
name: APP_BASE_URL
description: See upstream app documentation
APP_KEY:
name: APP_KEY
description: See upstream app documentation
APP_NAME:
name: APP_NAME
description: See upstream app documentation
append_myip:
name: append_myip
description: See upstream app documentation
auto_restart:
name: auto_restart
description: See upstream app documentation
BACKUP_PATH:
name: BACKUP_PATH
description: See upstream app documentation
base_folder:
name: base_folder
description: See upstream app documentation
BASE_URL:
name: BASE_URL
description: See upstream app documentation
base_url_portless:
name: base_url_portless
description: See upstream app documentation
certfile:
name: certfile
description: "fullchain.pem #ssl certificate, must be located in /ssl"
checkip_command:
name: checkip_command
description: See upstream app documentation
checkip_path:
name: checkip_path
description: See upstream app documentation
checkip_server:
name: checkip_server
description: See upstream app documentation
checkip_ssl:
name: checkip_ssl
description: See upstream app documentation
cifsdomain:
name: cifsdomain
description: Allow setting the domain for the smb share
cifspassword:
name: cifspassword
description: Your password to access your SMB share, same for all smb shares
cifsusername:
name: cifsusername
description: Your username to access your SMB share, same for all smb shares
claim:
name: claim
description: See upstream app documentation
CLI_ARGS:
name: CLI_ARGS
description: See upstream app documentation
COLLECTOR_API_ENDPOINT:
name: COLLECTOR_API_ENDPOINT
description: See upstream app documentation
COLLECTOR_HOST_ID:
name: COLLECTOR_HOST_ID
description: See upstream app documentation
CONFIG_LOCATION:
name: CONFIG_LOCATION
description: See upstream app documentation
CUSTOM_OPTIONS:
name: CUSTOM_OPTIONS
description: See upstream app documentation
custom_provider:
name: custom_provider
description: See upstream app documentation
customUI:
name: customUI
description: selection from list # alternative webUI can be set here
data_directory:
name: data_directory
description: See upstream app documentation
data_location:
name: data_location
description: Where do you want your data stored
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
DB_CONNECTION:
name: DB_CONNECTION
description: See upstream app documentation
DB_DATABASE:
name: DB_DATABASE
description: See upstream app documentation
DB_DATABASE_NAME:
name: DB_DATABASE_NAME
description: If using external postgresql
DB_HOST:
name: DB_HOST
description: See upstream app documentation
DB_HOSTNAME:
name: DB_HOSTNAME
description: If using external database
DB_PASSWORD:
name: DB_PASSWORD
description: If using external database
DB_PORT:
name: DB_PORT
description: If using external database
DB_TYPE:
name: DB_TYPE
description: See upstream app documentation
DB_USERNAME:
name: DB_USERNAME
description: If using external database
ddns_path:
name: ddns_path
description: See upstream app documentation
ddns_server:
name: ddns_server
description: See upstream app documentation
DEBUG:
name: DEBUG
description: See upstream app documentation
DISABLE_MACHINE_LEARNING:
name: DISABLE_MACHINE_LEARNING
description: See upstream app documentation
DNS_server:
name: DNS_server
description: See upstream app documentation
DOCKER_MODS:
name: DOCKER_MODS
description: See upstream app documentation
DOMAIN:
name: DOMAIN
description: See upstream app documentation
download_dir:
name: download_dir
description: See upstream app documentation
downloads_location:
name: downloads_location
description: See upstream app documentation
DROPBOX_TOKEN:
name: DROPBOX_TOKEN
description: See upstream app documentation
edge_repositories:
name: edge_repositories
description: See upstream app documentation
elasticsearch_server:
name: elasticsearch_server
description: See upstream app documentation
expose_collector:
name: expose_collector
description: See upstream app documentation
EXTENSIONS:
name: EXTENSIONS
description: See upstream app documentation
extraction_path:
name: extraction_path
description: See upstream app documentation
fake_address:
name: fake_address
description: See upstream app documentation
FG_LOG_LEVEL:
name: FG_LOG_LEVEL
description: See upstream app documentation
FG_PLUGINS:
name: FG_PLUGINS
description: See upstream app documentation
FIREFLY_III_ACCESS_TOKEN:
name: FIREFLY_III_ACCESS_TOKEN
description: See upstream app documentation
FIREFLY_III_CLIENT_ID:
name: FIREFLY_III_CLIENT_ID
description: See upstream app documentation
FIREFLY_III_URL:
name: FIREFLY_III_URL
description: See upstream app documentation
forced_update:
name: forced_update
description: See upstream app documentation
Full_Text_Search:
name: Full_Text_Search
description: See upstream app documentation
gitapi:
name: gitapi
description: See upstream app documentation
gitmail:
name: gitmail
description: See upstream app documentation
gitpass:
name: gitpass
description: See upstream app documentation
gituser:
name: gituser
description: See upstream app documentation
graphic_drivers:
name: graphic_drivers
description: See upstream app documentation
hostname:
name: hostname
description: See upstream app documentation
HTTPS_ONLY:
name: HTTPS_ONLY
description: See upstream app documentation
iface:
name: iface
description: See upstream app documentation
Images_location:
name: Images_location
description: See upstream app documentation
imaphost:
name: imaphost
description: See upstream app documentation
imappassword:
name: imappassword
description: See upstream app documentation
imapusername:
name: imapusername
description: See upstream app documentation
import_dir:
name: import_dir
description: See upstream app documentation
IMPORT_PATH:
name: IMPORT_PATH
description: See upstream app documentation
incomplete_dir:
name: incomplete_dir
description: See upstream app documentation
ingress_disabled:
name: ingress_disabled
description: Remove baseurl and disable ingress
ingress_user:
name: ingress_user
description: See upstream app documentation
INTERFACE_NAME:
name: INTERFACE_NAME
description: See upstream app documentation
iterations:
name: iterations
description: See upstream app documentation
JWT_SECRET:
name: JWT_SECRET
description: Used to sign the authentication keys for user login
KEYBOARD:
name: KEYBOARD
description: See upstream app documentation
keyfile:
name: keyfile
description: privkey.pem #sslkeyfile, must be located in /ssl
LOCAL_NETWORK:
name: LOCAL_NETWORK
description: See upstream app documentation
localdisks:
name: localdisks
description: Physical name of the partition (ex. sda1) or the share (ex. SharedFiles) to mount separated by commas (ex. sda1,sdb1,MYNAS)
log_level:
name: log_level
description: See upstream app documentation
MAILER_AUTH_PASSWORD:
name: MAILER_AUTH_PASSWORD
description: See upstream app documentation
MAILER_AUTH_USER:
name: MAILER_AUTH_USER
description: See upstream app documentation
MAILER_ENABLED:
name: MAILER_ENABLED
description: See upstream app documentation
OPENVPN_PROVIDER:
name: OPENVPN_PROVIDER
description: See upstream app documentation
OPENVPN_USERNAME:
name: OPENVPN_USERNAME
description: See upstream app documentation
ORIGINALS_PATH:
name: ORIGINALS_PATH
description: See upstream app documentation
PAPERLESS_OCR_MODE:
name: PAPERLESS_OCR_MODE
description: See upstream app documentation
PAPERLESS_URL:
name: PAPERLESS_URL
description: See upstream app documentation
pass:
name: pass
description: See upstream app documentation
password:
name: password
description: See upstream app documentation
period:
name: period
description: See upstream app documentation
PGID:
name: PGID
description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid
PMM_CONFIG:
name: PMM_CONFIG
description: See upstream app documentation
PMM_NO_MISSING:
name: PMM_NO_MISSING
description: See upstream app documentation
PMM_RUN:
name: PMM_RUN
description: See upstream app documentation
PMM_TEST:
name: PMM_TEST
description: See upstream app documentation
PMM_TIME:
name: PMM_TIME
description: See upstream app documentation
POSTGRES_DATABASE:
name: POSTGRES_DATABASE
description: See upstream app documentation
POSTGRES_DB:
name: POSTGRES_DB
description: See upstream app documentation
POSTGRES_HOST:
name: POSTGRES_HOST
description: See upstream app documentation
POSTGRES_PASSWORD:
name: POSTGRES_PASSWORD
description: See upstream app documentation
POSTGRES_PORT:
name: POSTGRES_PORT
description: See upstream app documentation
POSTGRES_USER:
name: POSTGRES_USER
description: See upstream app documentation
provider:
name: provider
description: See upstream app documentation
providers:
name: providers
description: See upstream app documentation
proxied:
name: proxied
description: See upstream app documentation
PUID:
name: PUID
description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid
remote_mysql_database:
name: remote_mysql_database
description: See upstream app documentation
remote_mysql_host:
name: remote_mysql_host
description: See upstream app documentation
remote_mysql_password:
name: remote_mysql_password
description: See upstream app documentation
remote_mysql_port:
name: remote_mysql_port
description: See upstream app documentation
remote_mysql_username:
name: remote_mysql_username
description: See upstream app documentation
repository:
name: repository
description: See upstream app documentation
request_size_limit:
name: request_size_limit
description: See upstream app documentation
ROOT_URL:
name: ROOT_URL
description: See upstream app documentation
ROUTER_IP:
name: ROUTER_IP
description: See upstream app documentation
rpi_video_drivers:
name: rpi_video_drivers
description: See upstream app documentation
run_duration:
name: run_duration
description: 12h #for how long should the addon run. Must be formatted as number + time unit (ex : 5s, or 2m, or 12h, or 5d...)
SavePath:
name: SavePath
description: See upstream app documentation
SEAFILE_ADMIN_EMAIL:
name: SEAFILE_ADMIN_EMAIL
description: See upstream app documentation
SEAFILE_ADMIN_PASSWORD:
name: SEAFILE_ADMIN_PASSWORD
description: See upstream app documentation
SECRET_KEY:
name: SECRET_KEY
description: See upstream app documentation
secret_token:
name: secret_token
description: See upstream app documentation
secure_ssl:
name: secure_ssl
description: See upstream app documentation
silent:
name: silent
description: "true #suppresses debug messages"
SMARTCTL_COMMAND_DEVICE_TYPE:
name: SMARTCTL_COMMAND_DEVICE_TYPE
description: See upstream app documentation
SMARTCTL_MEGARAID_DISK_NUM:
name: SMARTCTL_MEGARAID_DISK_NUM
description: See upstream app documentation
smbv1:
name: smbv1
description: See upstream app documentation
SPECTRE_APP_ID:
name: SPECTRE_APP_ID
description: See upstream app documentation
SPECTRE_SECRET:
name: SPECTRE_SECRET
description: See upstream app documentation
ssl:
name: ssl
description: true/false. enables ssl. Need certfile and keyfile filled'
storage_dir:
name: storage_dir
description: See upstream app documentation
STORAGE_PATH:
name: STORAGE_PATH
description: See upstream app documentation
theme:
name: theme
description: See upstream app documentation
TRANSMISSION_DOWNLOAD_DIR:
name: TRANSMISSION_DOWNLOAD_DIR
description: See upstream app documentation
TRANSMISSION_HOME:
name: TRANSMISSION_HOME
description: See upstream app documentation
TRANSMISSION_INCOMPLETE_DIR:
name: TRANSMISSION_INCOMPLETE_DIR
description: See upstream app documentation
TRANSMISSION_V3_UPDATE:
name: TRANSMISSION_V3_UPDATE
description: See upstream app documentation
TRANSMISSION_WATCH_DIR:
name: TRANSMISSION_WATCH_DIR
description: See upstream app documentation
TRANSMISSION_WEB_UI:
name: TRANSMISSION_WEB_UI
description: See upstream app documentation
trusted_domains:
name: trusted_domains
description: See upstream app documentation
trusted_headers:
name: trusted_headers
description: See upstream app documentation
ttl:
name: ttl
description: See upstream app documentation
TZ:
name: TZ
description: The timezone, as described in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
ui_path:
name: ui_path
description: See upstream app documentation
Updates:
name: Updates
description: See upstream app documentation
UPLOAD_NSFW:
name: UPLOAD_NSFW
description: See upstream app documentation
URL:
name: URL
description: See upstream app documentation
use_own_certs:
name: use_own_certs
description: See upstream app documentation
user:
name: user
description: See upstream app documentation
user_agent:
name: user_agent
description: See upstream app documentation
username:
name: username
description: See upstream app documentation
verbose:
name: verbose
description: See upstream app documentation
verify_address:
name: verify_address
description: See upstream app documentation
watch_dir:
name: watch_dir
description: See upstream app documentation
watch_path:
name: watch_path
description: See upstream app documentation
WebuiPass:
name: WebuiPass
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation
WHOOGLE_ALT_MD:
name: WHOOGLE_ALT_MD
description: See upstream app documentation
WHOOGLE_ALT_RD:
name: WHOOGLE_ALT_RD
description: See upstream app documentation
WHOOGLE_ALT_TL:
name: WHOOGLE_ALT_TL
description: See upstream app documentation
WHOOGLE_ALT_TW:
name: WHOOGLE_ALT_TW
description: See upstream app documentation
WHOOGLE_ALT_YT:
name: WHOOGLE_ALT_YT
description: See upstream app documentation
WHOOGLE_AUTOCOMPLETE:
name: WHOOGLE_AUTOCOMPLETE
description: See upstream app documentation
WHOOGLE_CONFIG_ALTS:
name: WHOOGLE_CONFIG_ALTS
description: See upstream app documentation
WHOOGLE_CONFIG_BLOCK:
name: WHOOGLE_CONFIG_BLOCK
description: See upstream app documentation
WHOOGLE_CONFIG_COUNTRY:
name: WHOOGLE_CONFIG_COUNTRY
description: See upstream app documentation
WHOOGLE_CONFIG_DISABLE:
name: WHOOGLE_CONFIG_DISABLE
description: See upstream app documentation
WHOOGLE_CONFIG_GET_ONLY:
name: WHOOGLE_CONFIG_GET_ONLY
description: See upstream app documentation
WHOOGLE_CONFIG_LANGUAGE:
name: WHOOGLE_CONFIG_LANGUAGE
description: See upstream app documentation
WHOOGLE_CONFIG_NEAR:
name: WHOOGLE_CONFIG_NEAR
description: See upstream app documentation
WHOOGLE_CONFIG_NEW_TAB:
name: WHOOGLE_CONFIG_NEW_TAB
description: See upstream app documentation
WHOOGLE_CONFIG_SAFE:
name: WHOOGLE_CONFIG_SAFE
description: See upstream app documentation
WHOOGLE_CONFIG_SEARCH_LANGUAGE:
name: WHOOGLE_CONFIG_SEARCH_LANGUAGE
description: See upstream app documentation
WHOOGLE_CONFIG_THEME:
name: WHOOGLE_CONFIG_THEME
description: See upstream app documentation
WHOOGLE_CONFIG_URL:
name: WHOOGLE_CONFIG_URL
description: See upstream app documentation
WHOOGLE_CONFIG_VIEW_IMAGE:
name: WHOOGLE_CONFIG_VIEW_IMAGE
description: See upstream app documentation
WHOOGLE_CSP:
name: WHOOGLE_CSP
description: See upstream app documentation
WHOOGLE_MINIMAL:
name: WHOOGLE_MINIMAL
description: See upstream app documentation
WHOOGLE_PASS:
name: WHOOGLE_PASS
description: See upstream app documentation
WHOOGLE_PROXY_LOC:
name: WHOOGLE_PROXY_LOC
description: See upstream app documentation
WHOOGLE_PROXY_PASS:
name: WHOOGLE_PROXY_PASS
description: See upstream app documentation
WHOOGLE_PROXY_TYPE:
name: WHOOGLE_PROXY_TYPE
description: See upstream app documentation
WHOOGLE_PROXY_USER:
name: WHOOGLE_PROXY_USER
description: See upstream app documentation
WHOOGLE_RESULTS_PER_PAGE:
name: WHOOGLE_RESULTS_PER_PAGE
description: See upstream app documentation
WHOOGLE_USER:
name: WHOOGLE_USER
description: See upstream app documentation
wildcard:
name: wildcard
description: See upstream app documentation"
MAILER_HOST:
name: MAILER_HOST
description: See upstream app documentation
MAILER_NOREPLY_EMAIL:
name: MAILER_NOREPLY_EMAIL
description: See upstream app documentation
MAILER_NOREPLY_NAME:
name: MAILER_NOREPLY_NAME
description: See upstream app documentation
MAILER_PORT:
name: MAILER_PORT
description: See upstream app documentation
MAILER_SECURITY:
name: MAILER_SECURITY
description: See upstream app documentation
maxmem:
name: maxmem
description: See upstream app documentation
Mode:
name: Mode
description: See upstream app documentation
mqtt_autodiscover:
name: mqtt_autodiscover
description: See upstream app documentation
networkdisks:
name: networkdisks
description: list of smb servers to mount, separated by commas (//xxx.xx.xx.xx/share)
NoAuth:
name: NoAuth
description: See upstream app documentation
NORDIGEN_ID:
name: NORDIGEN_ID
description: See upstream app documentation
NORDIGEN_KEY:
name: NORDIGEN_KEY
description: See upstream app documentation
OAUTHLIB_RELAX_TOKEN_SCOPE:
name: OAUTHLIB_RELAX_TOKEN_SCOPE
description: See upstream app documentation
OCR:
name: OCR
description: See upstream app documentation
ocrlang:
name: ocrlang
description: See upstream app documentation
openvpn_alt_mode:
name: openvpn_alt_mode
description: bind at container level and not app level
openvpn_config:
name: openvpn_config
description: for example ""config.ovpn"" # name of the file located in /config/openvpn
OPENVPN_CUSTOM_PROVIDER:
name: OPENVPN_CUSTOM_PROVIDER
description: See upstream app documentation
OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION:
name: OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION
description: See upstream app documentation
openvpn_enabled:
name: openvpn_enabled
description: See upstream app documentation
OPENVPN_PASSWORD:
name: OPENVPN_PASSWORD
description: See upstream app documentation

8
autobrr/updater.json Normal file
View File

@@ -0,0 +1,8 @@
{
"last_update": "31-03-2023",
"repository": "alexbelgium/hassio-addons",
"slug": "autborr",
"source": "github",
"upstream_repo": "autobrr/autobrr",
"upstream_version": "1.23.0"
}

View File

@@ -1,3 +1,4 @@
- Implemented healthcheck
## 0.9.3 (13-12-2022)
- Update to latest version from ckulka/baikal-docker

View File

@@ -105,3 +105,16 @@ LABEL \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
ENV HEALTH_PORT="80" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl --fail "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

View File

@@ -16,8 +16,9 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/baikal/stats.png)
## About
@@ -34,6 +35,7 @@ Webui can be found at <http://your-ip:PORT>.
Configurations can be done through the app webUI, except for the following options
```yaml
```
## Installation

View File

@@ -1,17 +1,6 @@
#!/bin/bash
echo "Starting..."
############################
# Backup Dockerfile Script #
############################
if [ -f /etc/cont-init.d/00-aaa_dockerfile_backup.sh ]; then
chown "$(id -u)":"$(id -g)" /etc/cont-init.d/00-aaa_dockerfile_backup.sh
chmod +x /etc/cont-init.d/00-aaa_dockerfile_backup.sh
/./etc/cont-init.d/00-aaa_dockerfile_backup.sh
rm /etc/cont-init.d/00-aaa_dockerfile_backup.sh
fi
####################
# Starting scripts #
####################

BIN
baikal/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -96,6 +96,9 @@ configuration:
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
@@ -503,7 +506,7 @@ configuration:
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that do no need a password'
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation

View File

@@ -1,3 +1,7 @@
- Implemented healthcheck
## 1.2.0 (04-03-2023)
- Update to latest version from linuxserver/docker-bazarr
## 1.1.4 (07-01-2023)
- Update to latest version from linuxserver/docker-bazarr

View File

@@ -16,7 +16,7 @@
ARG BUILD_FROM
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="1.1.4"
ARG BUILD_UPSTREAM="1.2.0"
FROM ${BUILD_FROM}${BUILD_UPSTREAM}
##################
@@ -66,7 +66,7 @@ RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \
if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 92-local_mounts.sh 92-smb_mounts.sh"
ARG MODULES="00-banner.sh 01-custom_script.sh 00-local_mounts.sh 00-smb_mounts.sh"
# Automatic modules download
RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \
@@ -121,3 +121,16 @@ LABEL \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
ENV HEALTH_PORT="6767" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl --fail "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

View File

@@ -1,4 +1,3 @@
# Home assistant add-on: bazarr
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
@@ -15,8 +14,9 @@
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://git-lister.onrender.com/api/stars/alexbelgium/hassio-addons?limit=30)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/bazarr/stats.png)
## About

View File

@@ -95,6 +95,6 @@
},
"slug": "bazarr_nas",
"url": "https://github.com/alexbelgium/hassio-addons/tree/master/bazarr",
"version": "1.1.4-2",
"version": "1.2.0",
"webui": "[PROTO:ssl]://[HOST]:[PORT:6767]"
}

BIN
bazarr/stats.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -96,6 +96,9 @@ configuration:
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
@@ -503,7 +506,7 @@ configuration:
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that do no need a password'
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation

View File

@@ -1,8 +1,8 @@
{
"last_update": "07-01-2023",
"last_update": "04-03-2023",
"repository": "alexbelgium/hassio-addons",
"slug": "bazarr",
"source": "github",
"upstream_repo": "linuxserver/docker-bazarr",
"upstream_version": "1.1.4"
"upstream_version": "1.2.0"
}

View File

@@ -0,0 +1,8 @@
## 0.0.97 (24-03-2023)
- Update to latest version from chrisleekr/binance-trading-bot
- Implemented healthcheck
## 0.0.96 (04-03-2023)
- Update to latest version from chrisleekr/binance-trading-bot
- First version

View File

@@ -0,0 +1,137 @@
#============================#
# ALEXBELGIUM'S DOCKERFILE #
#============================#
# _.------.
# _.-` ('>.-`"""-.
# '.--'` _'` _ .--.)
# -' '-.-';` `
# ' - _.' ``'--.
# '---` .-'""`
# /`
#=== Home Assistant Addon ===#
#################
# 1 Build Image #
#################
ARG BUILD_VERSION
ARG BUILD_UPSTREAM="0.0.97"
ARG BUILD_FROM
FROM $BUILD_FROM
##################
# 2 Modify Image #
##################
# Set S6 wait time
ENV S6_CMD_WAIT_FOR_SERVICES=1 \
S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 \
S6_SERVICES_GRACETIME=0
##################
# 3 Install apps #
##################
# Add rootfs
COPY rootfs/ /
# Corrects permissions for s6 v3
RUN if [ -d /etc/cont-init.d ]; then chmod -R 755 /etc/cont-init.d; fi && \
if [ -d /etc/services.d ]; then chmod -R 755 /etc/services.d; fi && \
if [ -f /entrypoint.sh ]; then chmod 755 /entrypoint.sh; fi
# Install trading view
ENV FLASK_APP=main.py
ENV FLASK_ENV=production
RUN \
apk add --no-cache --quiet python3 py3-pip curl \
&& curl -o requirements.txt https://raw.githubusercontent.com/chrisleekr/binance-trading-bot/master/tradingview/requirements.txt \
&& pip install --no-cache-dir -r requirements.txt \
&& rm requirements.txt \
&& curl -o /srv/main.py https://raw.githubusercontent.com/chrisleekr/binance-trading-bot/master/tradingview/main.py
# Installing mongodb
ENV ME_CONFIG_MONGODB_SERVER=localhost \
BINANCE_MONGO_HOST=localhost
RUN \
echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/main' >> /etc/apk/repositories \
&& echo 'http://dl-cdn.alpinelinux.org/alpine/v3.9/community' >> /etc/apk/repositories \
&& apk add mongodb mongodb-tools --no-cache >/dev/null \
&& sed -i "/v3.9/d" /etc/apk/repositories
# Modules
ARG MODULES="00-banner.sh 01-custom_script.sh 00-global_var.sh"
# Automatic modules download
RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \
&& if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \
&& apt-get update && apt-get install -yqq --no-install-recommends ca-certificates || apk add --no-cache ca-certificates >/dev/null || true \
&& mkdir -p /etc/cont-init.d \
&& for scripts in $MODULES; do echo "$scripts" && curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/$scripts" -o /etc/cont-init.d/"$scripts" && [ "$(sed -n '/\/bin/p;q' /etc/cont-init.d/"$scripts")" != "" ] || (echo "script failed to install $scripts" && exit 1); done \
&& chmod -R 755 /etc/cont-init.d
# Manual apps
ENV PACKAGES="sudo redis nginx"
# Automatic apps & bashio
# hadolint ignore=SC2015
RUN if ! command -v bash >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends bash || apk add --no-cache bash) >/dev/null; fi \
&& if ! command -v curl >/dev/null 2>/dev/null; then (apt-get update && apt-get install -yqq --no-install-recommends curl || apk add --no-cache curl) >/dev/null; fi \
&& curl -f -L -s -S "https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.templates/automatic_packages.sh" --output /automatic_packages.sh \
&& chmod 777 /automatic_packages.sh \
&& eval /./automatic_packages.sh "${PACKAGES:-}" \
&& rm /automatic_packages.sh
################
# 4 Entrypoint #
################
VOLUME [ "/data" ]
WORKDIR /
RUN chmod 777 /entrypoint.sh
ENTRYPOINT [ "/usr/bin/env" ]
CMD [ "/entrypoint.sh" ]
############
# 5 Labels #
############
ARG BUILD_ARCH
ARG BUILD_DATE
ARG BUILD_DESCRIPTION
ARG BUILD_NAME
ARG BUILD_REF
ARG BUILD_REPOSITORY
ARG BUILD_VERSION
LABEL \
io.hass.name="${BUILD_NAME}" \
io.hass.description="${BUILD_DESCRIPTION}" \
io.hass.arch="${BUILD_ARCH}" \
io.hass.type="addon" \
io.hass.version=${BUILD_VERSION} \
maintainer="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.title="${BUILD_NAME}" \
org.opencontainers.image.description="${BUILD_DESCRIPTION}" \
org.opencontainers.image.vendor="Home Assistant Add-ons" \
org.opencontainers.image.authors="alexbelgium (https://github.com/alexbelgium)" \
org.opencontainers.image.licenses="MIT" \
org.opencontainers.image.url="https://github.com/alexbelgium" \
org.opencontainers.image.source="https://github.com/${BUILD_REPOSITORY}" \
org.opencontainers.image.documentation="https://github.com/${BUILD_REPOSITORY}/blob/main/README.md" \
org.opencontainers.image.created=${BUILD_DATE} \
org.opencontainers.image.revision=${BUILD_REF} \
org.opencontainers.image.version=${BUILD_VERSION}
#################
# 6 Healthcheck #
#################
ENV HEALTH_PORT="80" \
HEALTH_URL=""
HEALTHCHECK \
--interval=5s \
--retries=5 \
--start-period=30s \
--timeout=25s \
CMD curl --fail "http://127.0.0.1:${HEALTH_PORT}${HEALTH_URL}" &>/dev/null || exit 1

View File

@@ -0,0 +1,48 @@
# Home assistant add-on: Binance Trading Bot (do not use with real money!)
[![Donate][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
![Version](https://img.shields.io/badge/dynamic/json?label=Version&query=%24.version&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ffilebrowser%2Fconfig.json)
![Ingress](https://img.shields.io/badge/dynamic/json?label=Ingress&query=%24.ingress&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ffilebrowser%2Fconfig.json)
![Arch](https://img.shields.io/badge/dynamic/json?color=success&label=Arch&query=%24.arch&url=https%3A%2F%2Fraw.githubusercontent.com%2Falexbelgium%2Fhassio-addons%2Fmaster%2Ffilebrowser%2Fconfig.json)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/9c6cf10bdbba45ecb202d7f579b5be0e)](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
[![GitHub Super-Linter](https://github.com/alexbelgium/hassio-addons/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)
[![Builder](https://github.com/alexbelgium/hassio-addons/workflows/Builder/badge.svg)](https://github.com/alexbelgium/hassio-addons/actions/workflows/builder.yaml)
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
[![Stargazers repo roster for @alexbelgium/hassio-addons](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/.github/stars2.svg)](https://github.com/alexbelgium/hassio-addons/stargazers)
![downloads evolution](https://raw.githubusercontent.com/alexbelgium/hassio-addons/master/binance-trading-bot/stats.png)
## About
Automated Binance trading bot - Trade multiple cryptocurrencies. Buy low/sell high with Grid Trading. Integrated with TradingView technical analysis.
This addon is based on https://github.com/chrisleekr/binance-trading-bot.
This is a test app ; for any issues please contact the link above.
## Configuration
Webui can be found at <http://your-ip:80>.
Please see https://github.com/chrisleekr/binance-trading-bot for configuration.
## Installation
The installation of this add-on is pretty straightforward and not different in
comparison to installing any other Hass.io add-on.
1. [Add my Hass.io add-ons repository][repository] to your Hass.io instance.
1. Install this add-on.
1. Click the `Save` button to store your configuration.
1. Start the add-on.
1. Check the logs of the add-on to see if everything went well.
1. Carefully configure the add-on to your preferences, see the official documentation for for that.
[repository]: https://github.com/alexbelgium/hassio-addons
[aarch64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg
[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg
[armv7-shield]: https://img.shields.io/badge/armv7-yes-green.svg

View File

@@ -0,0 +1,66 @@
#include <tunables/global>
profile db21ed7f_binance-trading-bot flags=(attach_disconnected,mediate_deleted) {
#include <abstractions/base>
capability,
file,
signal,
mount,
umount,
remount,
network udp,
network tcp,
network dgram,
network stream,
network inet,
network inet6,
network netlink raw,
network unix dgram,
capability setgid,
capability setuid,
capability sys_admin,
capability dac_read_search,
# capability dac_override,
# capability sys_rawio,
# S6-Overlay
/init ix,
/run/{s6,s6-rc*,service}/** ix,
/package/** ix,
/command/** ix,
/run/{,**} rwk,
/dev/tty rw,
/bin/** ix,
/usr/bin/** ix,
/usr/lib/bashio/** ix,
/etc/s6/** rix,
/run/s6/** rix,
/etc/services.d/** rwix,
/etc/cont-init.d/** rwix,
/etc/cont-finish.d/** rwix,
/init rix,
/var/run/** mrwkl,
/var/run/ mrwkl,
/dev/i2c-1 mrwkl,
# Files required
/dev/fuse mrwkl,
/dev/sda1 mrwkl,
/dev/sdb1 mrwkl,
/dev/nvme0 mrwkl,
/dev/nvme1 mrwkl,
/dev/mmcblk0p1 mrwkl,
/dev/* mrwkl,
/tmp/** mrkwl,
# Data access
/data/** rw,
# suppress ptrace denials when using 'docker ps' or using 'ps' inside a container
ptrace (trace,read) peer=docker-default,
# docker daemon confinement requires explict allow rule for signal
signal (receive) set=(kill,term) peer=/usr/bin/docker,
}

View File

@@ -0,0 +1,9 @@
{
"build_from": {
"aarch64": "chrisleekr/binance-trading-bot:latest",
"amd64": "chrisleekr/binance-trading-bot:latest"
},
"codenotary": {
"signer": "alexandrep.github@gmail.com"
}
}

View File

@@ -0,0 +1,59 @@
{
"arch": [
"aarch64",
"amd64"
],
"codenotary": "alexandrep.github@gmail.com",
"description": "Automated Binance trading bot - Trade multiple cryptocurrencies. Buy low/sell high with Grid Trading. Integrated with TradingView technical analysis",
"environment": {
"BINANCE_REDIS_HOST": "localhost",
"BINANCE_REDIS_PASSWORD": "",
"BINANCE_REDIS_PORT": "6379",
"PYTHONUNBUFFERED": "1",
"TRADINGVIEW_LOG_LEVEL": "INFO"
},
"image": "ghcr.io/alexbelgium/binance_trading_bot-{arch}",
"ingress": true,
"ingress_stream": true,
"map": [
"config:rw"
],
"name": "Binance Trading Bot",
"options": {
"BINANCE_AUTHENTICATION_ENABLED": true,
"BINANCE_AUTHENTICATION_PASSWORD": null,
"BINANCE_MODE": "test",
"BINANCE_SLACK_ENABLED": false
},
"panel_icon": "mdi:bitcoin",
"ports": {
"80/tcp": null,
"8080/tcp": null
},
"ports_description": {
"80/tcp": "Web UI port",
"8080/tcp": "Trading View port"
},
"privileged": [
"SYS_ADMIN",
"DAC_READ_SEARCH"
],
"schema": {
"BINANCE_AUTHENTICATION_ENABLED": "bool",
"BINANCE_AUTHENTICATION_PASSWORD": "str",
"BINANCE_LIVE_API_KEY": "str?",
"BINANCE_LIVE_SECRET_KEY": "str?",
"BINANCE_LOCAL_TUNNEL_ENABLED": "bool?",
"BINANCE_LOCAL_TUNNEL_SUBDOMAIN": "str?",
"BINANCE_MODE": "list(live|test)",
"BINANCE_SLACK_CHANNEL": "str?",
"BINANCE_SLACK_ENABLED": "bool?",
"BINANCE_SLACK_USERNAME": "str?",
"BINANCE_SLACK_WEBHOOK_URL": "str?",
"BINANCE_TEST_API_KEY": "str?",
"BINANCE_TEST_SECRET_KEY": "str?"
},
"slug": "binance-trading-bot",
"url": "https://github.com/alexbelgium/hassio-addons",
"version": "0.0.97"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -0,0 +1,16 @@
#!/bin/bash
echo "Starting..."
####################
# Starting scripts #
####################
for SCRIPTS in /etc/cont-init.d/*; do
[ -e "$SCRIPTS" ] || continue
echo "$SCRIPTS: executing"
chown "$(id -u)":"$(id -g)" "$SCRIPTS"
chmod a+x "$SCRIPTS"
# Change shebang if no s6 supervision
sed -i 's|/usr/bin/with-contenv bashio|/usr/bin/env bashio|g' "$SCRIPTS"
/."$SCRIPTS" || echo "$SCRIPTS: exiting $?"
done

View File

@@ -0,0 +1,16 @@
#!/usr/bin/with-contenv bashio
# shellcheck shell=bash
if [ -d /config/binance-trading-bot ]; then
echo "Moving to new location /config/addons_config/binance-trading-bot"
mkdir -p /config/addons_config/binance-trading-bot
chmod 777 /config/addons_config/binance-trading-bot
mv /config/binance-trading-bot/* /config/addons_config/binance-trading-bot/
rm -r /config/binance-trading-bot
fi
if [ ! -d /config/addons_config/binance-trading-bot ]; then
echo "Creating /config/addons_config/binance-trading-bot"
mkdir -p /config/addons_config/binance-trading-bot
chmod 777 /config/addons_config/binance-trading-bot
fi

View File

@@ -0,0 +1,16 @@
#!/usr/bin/bashio
# shellcheck shell=bash
#################
# NGINX SETTING #
#################
declare ingress_interface
declare ingress_port
ingress_port="$(bashio::addon.ingress_port)"
ingress_interface="$(bashio::addon.ip_address)"
ingress_entry=$(bashio::addon.ingress_entry)
sed -i "s/%%port%%/${ingress_port}/g" /etc/nginx/servers/ingress.conf
sed -i "s/%%interface%%/${ingress_interface}/g" /etc/nginx/servers/ingress.conf
sed -i "s|%%ingress_entry%%|${ingress_entry}|g" /etc/nginx/servers/ingress.conf

View File

@@ -0,0 +1,33 @@
#!/usr/bin/env bashio
# shellcheck shell=bash
##############
# Export env #
##############
##################
# Starting redis #
##################
exec redis-server & bashio::log.info "Starting redis"
####################
# Starting mongodb #
####################
mkdir -p /data/db
exec mongod --bind_ip 127.0.0.1 & bashio::log.info "Starting mongod"
################
# Starting app #
################
cd /srv || true
npm start docker-entrypoint.sh & bashio::log.info "Starting binance bot"
#########################
# Starting Trading View #
#########################
python main.py & bashio::log.info "Starting trading view"
##################
# Starting nginx #
##################
nginx

View File

@@ -0,0 +1,96 @@
types {
text/html html htm shtml;
text/css css;
text/xml xml;
image/gif gif;
image/jpeg jpeg jpg;
application/javascript js;
application/atom+xml atom;
application/rss+xml rss;
text/mathml mml;
text/plain txt;
text/vnd.sun.j2me.app-descriptor jad;
text/vnd.wap.wml wml;
text/x-component htc;
image/png png;
image/svg+xml svg svgz;
image/tiff tif tiff;
image/vnd.wap.wbmp wbmp;
image/webp webp;
image/x-icon ico;
image/x-jng jng;
image/x-ms-bmp bmp;
font/woff woff;
font/woff2 woff2;
application/java-archive jar war ear;
application/json json;
application/mac-binhex40 hqx;
application/msword doc;
application/pdf pdf;
application/postscript ps eps ai;
application/rtf rtf;
application/vnd.apple.mpegurl m3u8;
application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz;
application/vnd.ms-excel xls;
application/vnd.ms-fontobject eot;
application/vnd.ms-powerpoint ppt;
application/vnd.oasis.opendocument.graphics odg;
application/vnd.oasis.opendocument.presentation odp;
application/vnd.oasis.opendocument.spreadsheet ods;
application/vnd.oasis.opendocument.text odt;
application/vnd.openxmlformats-officedocument.presentationml.presentation
pptx;
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
xlsx;
application/vnd.openxmlformats-officedocument.wordprocessingml.document
docx;
application/vnd.wap.wmlc wmlc;
application/x-7z-compressed 7z;
application/x-cocoa cco;
application/x-java-archive-diff jardiff;
application/x-java-jnlp-file jnlp;
application/x-makeself run;
application/x-perl pl pm;
application/x-pilot prc pdb;
application/x-rar-compressed rar;
application/x-redhat-package-manager rpm;
application/x-sea sea;
application/x-shockwave-flash swf;
application/x-stuffit sit;
application/x-tcl tcl tk;
application/x-x509-ca-cert der pem crt;
application/x-xpinstall xpi;
application/xhtml+xml xhtml;
application/xspf+xml xspf;
application/zip zip;
application/octet-stream bin exe dll;
application/octet-stream deb;
application/octet-stream dmg;
application/octet-stream iso img;
application/octet-stream msi msp msm;
audio/midi mid midi kar;
audio/mpeg mp3;
audio/ogg ogg;
audio/x-m4a m4a;
audio/x-realaudio ra;
video/3gpp 3gpp 3gp;
video/mp2t ts;
video/mp4 mp4;
video/mpeg mpeg mpg;
video/quicktime mov;
video/webm webm;
video/x-flv flv;
video/x-m4v m4v;
video/x-mng mng;
video/x-ms-asf asx asf;
video/x-ms-wmv wmv;
video/x-msvideo avi;
}

View File

@@ -0,0 +1,15 @@
proxy_http_version 1.1;
proxy_ignore_client_abort off;
proxy_read_timeout 86400s;
proxy_redirect off;
proxy_send_timeout 86400s;
proxy_max_temp_file_size 0;
proxy_set_header Host $host;
proxy_set_header Accept-Encoding "";
proxy_set_header Connection $connection_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Real-IP $remote_addr;

View File

@@ -0,0 +1 @@
resolver 127.0.0.11;

View File

@@ -0,0 +1,5 @@
server_name $hostname;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";
add_header X-Robots-Tag none;

View File

@@ -0,0 +1,9 @@
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA;
ssl_ecdh_curve secp384r1;
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;

View File

@@ -0,0 +1,55 @@
# Run nginx in foreground.
daemon off;
# This is run inside Docker.
user root;
# Pid storage location.
pid /var/run/nginx.pid;
# Set number of worker processes.
worker_processes 1;
# Enables the use of JIT for regular expressions to speed-up their processing.
pcre_jit on;
# Write error log to Hass.io add-on log.
error_log /proc/1/fd/1 error;
# Load allowed environment vars
env HASSIO_TOKEN;
# Load dynamic modules.
include /etc/nginx/modules/*.conf;
# Max num of simultaneous connections by a worker process.
events {
worker_connections 512;
}
http {
include /etc/nginx/includes/mime.types;
log_format hassio '[$time_local] $status '
'$http_x_forwarded_for($remote_addr) '
'$request ($http_user_agent)';
access_log /proc/1/fd/1 hassio;
client_max_body_size 4G;
default_type application/octet-stream;
gzip on;
keepalive_timeout 65;
sendfile on;
server_tokens off;
tcp_nodelay on;
tcp_nopush on;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
include /etc/nginx/includes/resolver.conf;
include /etc/nginx/servers/*.conf;
}

View File

@@ -0,0 +1,18 @@
server {
listen %%interface%%:%%port%% default_server;
include /etc/nginx/includes/server_params.conf;
include /etc/nginx/includes/proxy_params.conf;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:80;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
sub_filter_once off;
sub_filter_types *;
proxy_set_header Accept-Encoding "";
sub_filter "location.port!==80?':'+location.port:''}" "location.port!==80?':'+location.port:''}%%ingress_entry%%/";
sub_filter /auth %%ingress_entry%%/auth;
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,662 @@
---
configuration:
additional_apps:
name: additional_apps
description: Additional apps to install at boot
allow_ipv6:
name: allow_ipv6
description: Enables ipv6 in the addon
ALLOW_SIGNUP:
name: ALLOW_SIGNUP
description: See upstream app documentation
ALLOWED_HOSTS:
name: ALLOWED_HOSTS
description: See upstream app documentation
APP_BASE_URL:
name: APP_BASE_URL
description: See upstream app documentation
APP_KEY:
name: APP_KEY
description: See upstream app documentation
APP_NAME:
name: APP_NAME
description: See upstream app documentation
append_myip:
name: append_myip
description: See upstream app documentation
auto_restart:
name: auto_restart
description: See upstream app documentation
BACKUP_PATH:
name: BACKUP_PATH
description: See upstream app documentation
base_folder:
name: base_folder
description: See upstream app documentation
BASE_URL:
name: BASE_URL
description: See upstream app documentation
base_url_portless:
name: base_url_portless
description: See upstream app documentation
certfile:
name: certfile
description: "fullchain.pem #ssl certificate, must be located in /ssl"
checkip_command:
name: checkip_command
description: See upstream app documentation
checkip_path:
name: checkip_path
description: See upstream app documentation
checkip_server:
name: checkip_server
description: See upstream app documentation
checkip_ssl:
name: checkip_ssl
description: See upstream app documentation
cifsdomain:
name: cifsdomain
description: Allow setting the domain for the smb share
cifspassword:
name: cifspassword
description: Your password to access your SMB share, same for all smb shares
cifsusername:
name: cifsusername
description: Your username to access your SMB share, same for all smb shares
claim:
name: claim
description: See upstream app documentation
CLI_ARGS:
name: CLI_ARGS
description: See upstream app documentation
COLLECTOR_API_ENDPOINT:
name: COLLECTOR_API_ENDPOINT
description: See upstream app documentation
COLLECTOR_HOST_ID:
name: COLLECTOR_HOST_ID
description: See upstream app documentation
CONFIG_LOCATION:
name: CONFIG_LOCATION
description: See upstream app documentation
CUSTOM_OPTIONS:
name: CUSTOM_OPTIONS
description: See upstream app documentation
custom_provider:
name: custom_provider
description: See upstream app documentation
customUI:
name: customUI
description: selection from list # alternative webUI can be set here
data_directory:
name: data_directory
description: See upstream app documentation
data_location:
name: data_location
description: Where do you want your data stored
database:
name: database
description: Type of database to use
disable_updates:
name: disable_updates
description: App updates won't be done automatically but must be done with the webui
DB_CLIENT:
name: DB_CLIENT
description: See upstream app documentation
DB_CONNECTION:
name: DB_CONNECTION
description: See upstream app documentation
DB_DATABASE:
name: DB_DATABASE
description: See upstream app documentation
DB_DATABASE_NAME:
name: DB_DATABASE_NAME
description: If using external postgresql
DB_HOST:
name: DB_HOST
description: See upstream app documentation
DB_HOSTNAME:
name: DB_HOSTNAME
description: If using external database
DB_PASSWORD:
name: DB_PASSWORD
description: If using external database
DB_PORT:
name: DB_PORT
description: If using external database
DB_TYPE:
name: DB_TYPE
description: See upstream app documentation
DB_USERNAME:
name: DB_USERNAME
description: If using external database
ddns_path:
name: ddns_path
description: See upstream app documentation
ddns_server:
name: ddns_server
description: See upstream app documentation
DEBUG:
name: DEBUG
description: See upstream app documentation
DISABLE_MACHINE_LEARNING:
name: DISABLE_MACHINE_LEARNING
description: See upstream app documentation
DNS_server:
name: DNS_server
description: See upstream app documentation
DOCKER_MODS:
name: DOCKER_MODS
description: See upstream app documentation
DOMAIN:
name: DOMAIN
description: See upstream app documentation
download_dir:
name: download_dir
description: See upstream app documentation
downloads_location:
name: downloads_location
description: See upstream app documentation
DROPBOX_TOKEN:
name: DROPBOX_TOKEN
description: See upstream app documentation
edge_repositories:
name: edge_repositories
description: See upstream app documentation
elasticsearch_server:
name: elasticsearch_server
description: See upstream app documentation
expose_collector:
name: expose_collector
description: See upstream app documentation
EXTENSIONS:
name: EXTENSIONS
description: See upstream app documentation
extraction_path:
name: extraction_path
description: See upstream app documentation
fake_address:
name: fake_address
description: See upstream app documentation
FG_LOG_LEVEL:
name: FG_LOG_LEVEL
description: See upstream app documentation
FG_PLUGINS:
name: FG_PLUGINS
description: See upstream app documentation
FIREFLY_III_ACCESS_TOKEN:
name: FIREFLY_III_ACCESS_TOKEN
description: See upstream app documentation
FIREFLY_III_CLIENT_ID:
name: FIREFLY_III_CLIENT_ID
description: See upstream app documentation
FIREFLY_III_URL:
name: FIREFLY_III_URL
description: See upstream app documentation
forced_update:
name: forced_update
description: See upstream app documentation
Full_Text_Search:
name: Full_Text_Search
description: See upstream app documentation
gitapi:
name: gitapi
description: See upstream app documentation
gitmail:
name: gitmail
description: See upstream app documentation
gitpass:
name: gitpass
description: See upstream app documentation
gituser:
name: gituser
description: See upstream app documentation
graphic_drivers:
name: graphic_drivers
description: See upstream app documentation
hostname:
name: hostname
description: See upstream app documentation
HTTPS_ONLY:
name: HTTPS_ONLY
description: See upstream app documentation
iface:
name: iface
description: See upstream app documentation
Images_location:
name: Images_location
description: See upstream app documentation
imaphost:
name: imaphost
description: See upstream app documentation
imappassword:
name: imappassword
description: See upstream app documentation
imapusername:
name: imapusername
description: See upstream app documentation
import_dir:
name: import_dir
description: See upstream app documentation
IMPORT_PATH:
name: IMPORT_PATH
description: See upstream app documentation
incomplete_dir:
name: incomplete_dir
description: See upstream app documentation
ingress_disabled:
name: ingress_disabled
description: See upstream app documentation
ingress_user:
name: ingress_user
description: See upstream app documentation
INTERFACE_NAME:
name: INTERFACE_NAME
description: See upstream app documentation
iterations:
name: iterations
description: See upstream app documentation
JWT_SECRET:
name: JWT_SECRET
description: Used to sign the authentication keys for user login
KEYBOARD:
name: KEYBOARD
description: See upstream app documentation
keyfile:
name: keyfile
description: privkey.pem #sslkeyfile, must be located in /ssl
LOCAL_NETWORK:
name: LOCAL_NETWORK
description: See upstream app documentation
localdisks:
name: localdisks
description: Physical name of the partition (ex. sda1) or the share (ex. SharedFiles) to mount separated by commas (ex. sda1,sdb1,MYNAS)
log_level:
name: log_level
description: See upstream app documentation
MAILER_AUTH_PASSWORD:
name: MAILER_AUTH_PASSWORD
description: See upstream app documentation
MAILER_AUTH_USER:
name: MAILER_AUTH_USER
description: See upstream app documentation
MAILER_ENABLED:
name: MAILER_ENABLED
description: See upstream app documentation
OPENVPN_PROVIDER:
name: OPENVPN_PROVIDER
description: See upstream app documentation
OPENVPN_USERNAME:
name: OPENVPN_USERNAME
description: See upstream app documentation
ORIGINALS_PATH:
name: ORIGINALS_PATH
description: See upstream app documentation
PAPERLESS_OCR_MODE:
name: PAPERLESS_OCR_MODE
description: See upstream app documentation
PAPERLESS_URL:
name: PAPERLESS_URL
description: See upstream app documentation
pass:
name: pass
description: See upstream app documentation
password:
name: password
description: See upstream app documentation
period:
name: period
description: See upstream app documentation
PGID:
name: PGID
description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid
PMM_CONFIG:
name: PMM_CONFIG
description: See upstream app documentation
PMM_NO_MISSING:
name: PMM_NO_MISSING
description: See upstream app documentation
PMM_RUN:
name: PMM_RUN
description: See upstream app documentation
PMM_TEST:
name: PMM_TEST
description: See upstream app documentation
PMM_TIME:
name: PMM_TIME
description: See upstream app documentation
POSTGRES_DATABASE:
name: POSTGRES_DATABASE
description: See upstream app documentation
POSTGRES_DB:
name: POSTGRES_DB
description: See upstream app documentation
POSTGRES_HOST:
name: POSTGRES_HOST
description: See upstream app documentation
POSTGRES_PASSWORD:
name: POSTGRES_PASSWORD
description: See upstream app documentation
POSTGRES_PORT:
name: POSTGRES_PORT
description: See upstream app documentation
POSTGRES_USER:
name: POSTGRES_USER
description: See upstream app documentation
provider:
name: provider
description: See upstream app documentation
providers:
name: providers
description: See upstream app documentation
proxied:
name: proxied
description: See upstream app documentation
PUID:
name: PUID
description: The user group ID, as described in https://docs.linuxserver.io/general/understanding-puid-and-pgid
remote_mysql_database:
name: remote_mysql_database
description: See upstream app documentation
remote_mysql_host:
name: remote_mysql_host
description: See upstream app documentation
remote_mysql_password:
name: remote_mysql_password
description: See upstream app documentation
remote_mysql_port:
name: remote_mysql_port
description: See upstream app documentation
remote_mysql_username:
name: remote_mysql_username
description: See upstream app documentation
repository:
name: repository
description: See upstream app documentation
request_size_limit:
name: request_size_limit
description: See upstream app documentation
ROOT_URL:
name: ROOT_URL
description: See upstream app documentation
ROUTER_IP:
name: ROUTER_IP
description: See upstream app documentation
rpi_video_drivers:
name: rpi_video_drivers
description: See upstream app documentation
run_duration:
name: run_duration
description: 12h #for how long should the addon run. Must be formatted as number + time unit (ex : 5s, or 2m, or 12h, or 5d...)
SavePath:
name: SavePath
description: See upstream app documentation
SEAFILE_ADMIN_EMAIL:
name: SEAFILE_ADMIN_EMAIL
description: See upstream app documentation
SEAFILE_ADMIN_PASSWORD:
name: SEAFILE_ADMIN_PASSWORD
description: See upstream app documentation
SECRET_KEY:
name: SECRET_KEY
description: See upstream app documentation
secret_token:
name: secret_token
description: See upstream app documentation
secure_ssl:
name: secure_ssl
description: See upstream app documentation
silent:
name: silent
description: "true #suppresses debug messages"
SMARTCTL_COMMAND_DEVICE_TYPE:
name: SMARTCTL_COMMAND_DEVICE_TYPE
description: See upstream app documentation
SMARTCTL_MEGARAID_DISK_NUM:
name: SMARTCTL_MEGARAID_DISK_NUM
description: See upstream app documentation
smbv1:
name: smbv1
description: See upstream app documentation
SPECTRE_APP_ID:
name: SPECTRE_APP_ID
description: See upstream app documentation
SPECTRE_SECRET:
name: SPECTRE_SECRET
description: See upstream app documentation
ssl:
name: ssl
description: true/false. enables ssl. Need certfile and keyfile filled'
storage_dir:
name: storage_dir
description: See upstream app documentation
STORAGE_PATH:
name: STORAGE_PATH
description: See upstream app documentation
theme:
name: theme
description: See upstream app documentation
TRANSMISSION_DOWNLOAD_DIR:
name: TRANSMISSION_DOWNLOAD_DIR
description: See upstream app documentation
TRANSMISSION_HOME:
name: TRANSMISSION_HOME
description: See upstream app documentation
TRANSMISSION_INCOMPLETE_DIR:
name: TRANSMISSION_INCOMPLETE_DIR
description: See upstream app documentation
TRANSMISSION_V3_UPDATE:
name: TRANSMISSION_V3_UPDATE
description: See upstream app documentation
TRANSMISSION_WATCH_DIR:
name: TRANSMISSION_WATCH_DIR
description: See upstream app documentation
TRANSMISSION_WEB_UI:
name: TRANSMISSION_WEB_UI
description: See upstream app documentation
trusted_domains:
name: trusted_domains
description: See upstream app documentation
trusted_headers:
name: trusted_headers
description: See upstream app documentation
ttl:
name: ttl
description: See upstream app documentation
TZ:
name: TZ
description: The timezone, as described in https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
ui_path:
name: ui_path
description: See upstream app documentation
Updates:
name: Updates
description: See upstream app documentation
UPLOAD_NSFW:
name: UPLOAD_NSFW
description: See upstream app documentation
URL:
name: URL
description: See upstream app documentation
use_own_certs:
name: use_own_certs
description: See upstream app documentation
user:
name: user
description: See upstream app documentation
user_agent:
name: user_agent
description: See upstream app documentation
username:
name: username
description: See upstream app documentation
verbose:
name: verbose
description: See upstream app documentation
verify_address:
name: verify_address
description: See upstream app documentation
watch_dir:
name: watch_dir
description: See upstream app documentation
watch_path:
name: watch_path
description: See upstream app documentation
WebuiPass:
name: WebuiPass
description: See upstream app documentation
whitelist:
name: whitelist
description: '"localhost,192.168.0.0/16" # list ip subnets that that can access the webui'
WHOOGLE_ALT_IG:
name: WHOOGLE_ALT_IG
description: See upstream app documentation
WHOOGLE_ALT_MD:
name: WHOOGLE_ALT_MD
description: See upstream app documentation
WHOOGLE_ALT_RD:
name: WHOOGLE_ALT_RD
description: See upstream app documentation
WHOOGLE_ALT_TL:
name: WHOOGLE_ALT_TL
description: See upstream app documentation
WHOOGLE_ALT_TW:
name: WHOOGLE_ALT_TW
description: See upstream app documentation
WHOOGLE_ALT_YT:
name: WHOOGLE_ALT_YT
description: See upstream app documentation
WHOOGLE_AUTOCOMPLETE:
name: WHOOGLE_AUTOCOMPLETE
description: See upstream app documentation
WHOOGLE_CONFIG_ALTS:
name: WHOOGLE_CONFIG_ALTS
description: See upstream app documentation
WHOOGLE_CONFIG_BLOCK:
name: WHOOGLE_CONFIG_BLOCK
description: See upstream app documentation
WHOOGLE_CONFIG_COUNTRY:
name: WHOOGLE_CONFIG_COUNTRY
description: See upstream app documentation
WHOOGLE_CONFIG_DISABLE:
name: WHOOGLE_CONFIG_DISABLE
description: See upstream app documentation
WHOOGLE_CONFIG_GET_ONLY:
name: WHOOGLE_CONFIG_GET_ONLY
description: See upstream app documentation
WHOOGLE_CONFIG_LANGUAGE:
name: WHOOGLE_CONFIG_LANGUAGE
description: See upstream app documentation
WHOOGLE_CONFIG_NEAR:
name: WHOOGLE_CONFIG_NEAR
description: See upstream app documentation
WHOOGLE_CONFIG_NEW_TAB:
name: WHOOGLE_CONFIG_NEW_TAB
description: See upstream app documentation
WHOOGLE_CONFIG_SAFE:
name: WHOOGLE_CONFIG_SAFE
description: See upstream app documentation
WHOOGLE_CONFIG_SEARCH_LANGUAGE:
name: WHOOGLE_CONFIG_SEARCH_LANGUAGE
description: See upstream app documentation
WHOOGLE_CONFIG_THEME:
name: WHOOGLE_CONFIG_THEME
description: See upstream app documentation
WHOOGLE_CONFIG_URL:
name: WHOOGLE_CONFIG_URL
description: See upstream app documentation
WHOOGLE_CONFIG_VIEW_IMAGE:
name: WHOOGLE_CONFIG_VIEW_IMAGE
description: See upstream app documentation
WHOOGLE_CSP:
name: WHOOGLE_CSP
description: See upstream app documentation
WHOOGLE_MINIMAL:
name: WHOOGLE_MINIMAL
description: See upstream app documentation
WHOOGLE_PASS:
name: WHOOGLE_PASS
description: See upstream app documentation
WHOOGLE_PROXY_LOC:
name: WHOOGLE_PROXY_LOC
description: See upstream app documentation
WHOOGLE_PROXY_PASS:
name: WHOOGLE_PROXY_PASS
description: See upstream app documentation
WHOOGLE_PROXY_TYPE:
name: WHOOGLE_PROXY_TYPE
description: See upstream app documentation
WHOOGLE_PROXY_USER:
name: WHOOGLE_PROXY_USER
description: See upstream app documentation
WHOOGLE_RESULTS_PER_PAGE:
name: WHOOGLE_RESULTS_PER_PAGE
description: See upstream app documentation
WHOOGLE_USER:
name: WHOOGLE_USER
description: See upstream app documentation
wildcard:
name: wildcard
description: See upstream app documentation"
MAILER_HOST:
name: MAILER_HOST
description: See upstream app documentation
MAILER_NOREPLY_EMAIL:
name: MAILER_NOREPLY_EMAIL
description: See upstream app documentation
MAILER_NOREPLY_NAME:
name: MAILER_NOREPLY_NAME
description: See upstream app documentation
MAILER_PORT:
name: MAILER_PORT
description: See upstream app documentation
MAILER_SECURITY:
name: MAILER_SECURITY
description: See upstream app documentation
maxmem:
name: maxmem
description: See upstream app documentation
Mode:
name: Mode
description: See upstream app documentation
mqtt_autodiscover:
name: mqtt_autodiscover
description: See upstream app documentation
networkdisks:
name: networkdisks
description: list of smb servers to mount, separated by commas (//xxx.xx.xx.xx/share)
NoAuth:
name: NoAuth
description: See upstream app documentation
NORDIGEN_ID:
name: NORDIGEN_ID
description: See upstream app documentation
NORDIGEN_KEY:
name: NORDIGEN_KEY
description: See upstream app documentation
OAUTHLIB_RELAX_TOKEN_SCOPE:
name: OAUTHLIB_RELAX_TOKEN_SCOPE
description: See upstream app documentation
OCR:
name: OCR
description: See upstream app documentation
ocrlang:
name: ocrlang
description: See upstream app documentation
openvpn_alt_mode:
name: openvpn_alt_mode
description: bind at container level and not app level
openvpn_config:
name: openvpn_config
description: for example ""config.ovpn"" # name of the file located in /config/openvpn
OPENVPN_CUSTOM_PROVIDER:
name: OPENVPN_CUSTOM_PROVIDER
description: See upstream app documentation
OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION:
name: OPENVPN_CUSTOM_PROVIDER_OVPN_LOCATION
description: See upstream app documentation
openvpn_enabled:
name: openvpn_enabled
description: See upstream app documentation
OPENVPN_PASSWORD:
name: OPENVPN_PASSWORD
description: See upstream app documentation

View File

@@ -0,0 +1,9 @@
{
"github_beta": "true",
"last_update": "24-03-2023",
"repository": "alexbelgium/hassio-addons",
"slug": "binance-trading-bot",
"source": "github",
"upstream_repo": "chrisleekr/binance-trading-bot",
"upstream_version": "0.0.97"
}

Some files were not shown because too many files have changed in this diff Show More