mirror of
https://github.com/lildude/ha-addon-teslamate.git
synced 2026-10-13 21:19:16 -04:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3a9e27e9ac | ||
|
|
fb4eff6570 | ||
|
|
d54d94a480 | ||
|
|
a979b4fdf6 | ||
|
|
86fe972431 | ||
|
|
3d167fc6ee | ||
|
|
0013f5605b | ||
|
|
826c07ace9 | ||
|
|
7bfa32be3f | ||
|
|
b9e37e9f32 | ||
|
|
945a7c4822 | ||
|
|
4567555071 | ||
|
|
694b43eb93 |
@@ -8,12 +8,13 @@
|
|||||||
"prBodyTemplate": "{{{table}}}{{{warnings}}}{{{notes}}}{{{changelogs}}}",
|
"prBodyTemplate": "{{{table}}}{{{warnings}}}{{{notes}}}{{{changelogs}}}",
|
||||||
"semanticCommits": "disabled",
|
"semanticCommits": "disabled",
|
||||||
"commitMessageTopic": "{{#if (containsString depName 'teslamate')}}TeslaMate{{else}}{{depName}}{{/if}}",
|
"commitMessageTopic": "{{#if (containsString depName 'teslamate')}}TeslaMate{{else}}{{depName}}{{/if}}",
|
||||||
"enabledManagers": ["custom.regex", "github-actions", "dockerfile"],
|
"enabledManagers": ["custom.regex", "github-actions"],
|
||||||
"customManagers": [
|
"customManagers": [
|
||||||
{
|
{
|
||||||
"customType": "regex",
|
"customType": "regex",
|
||||||
"fileMatch": "^build.json$",
|
"fileMatch": "^build.json$",
|
||||||
"matchStrings": [
|
"matchStrings": [
|
||||||
|
"\"teslamate/teslamate:(?<currentValue>\\d+\\.\\d+\\.\\d+)\"",
|
||||||
"\"teslamate_version\": \"(?<currentValue>\\d+\\.\\d+\\.\\d+)\""
|
"\"teslamate_version\": \"(?<currentValue>\\d+\\.\\d+\\.\\d+)\""
|
||||||
],
|
],
|
||||||
"datasourceTemplate": "github-releases",
|
"datasourceTemplate": "github-releases",
|
||||||
|
|||||||
@@ -14,19 +14,9 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: ⤵️ Check out code from GitHub
|
- name: ⤵️ Check out code from GitHub
|
||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: 🚀 Run Home Assistant Add-on Lint
|
- name: 🚀 Run Home Assistant Add-on Lint
|
||||||
uses: frenck/action-addon-linter@v2
|
uses: frenck/action-addon-linter@v2
|
||||||
with:
|
with:
|
||||||
path: "./"
|
path: "./"
|
||||||
|
|
||||||
- name: Check versions match
|
|
||||||
run: |
|
|
||||||
docker_ver=$(grep "FROM teslamate/teslamate" Dockerfile | cut -d':' -f2)
|
|
||||||
build_ver=$(jq -r ".args.teslamate_version" build.json)
|
|
||||||
if [ "$docker_ver" != "$build_ver" ]; then
|
|
||||||
echo -e "\033[31;1mTeslaMate versions don't match: Dockerfile => ${docker_ver} | build.json => ${build_ver}\033[0m"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo -e "\033[32;1mTeslaMate versions match: Dockerfile => ${docker_ver} | build.json => ${build_ver}\033[0m"
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Get version
|
- name: Get version
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@@ -35,12 +35,13 @@ jobs:
|
|||||||
- name: Get TeslaMate release notes
|
- name: Get TeslaMate release notes
|
||||||
run: |
|
run: |
|
||||||
touch CHANGELOG.txt
|
touch CHANGELOG.txt
|
||||||
gh pr list --repo lildude/ha-addon-teslamate --state=merged --search="Update TeslaMate" --limit=1 --json=body --jq '.[].body' | sed -n "/<\/summary>/,/<\/details>/p" | sed '1d;$d' > changelog.tmp
|
last_release_date=$(gh release list --repo lildude/ha-addon-teslamate --limit=1 --json=publishedAt | jq -r '.[].publishedAt')
|
||||||
|
gh pr list --repo lildude/ha-addon-teslamate --state=merged --search="Update TeslaMate in:title closed:>$last_release_date" --limit=1 --json=body --jq '.[].body' | sed -n "/<\/summary>/,/<\/details>/p" | sed '1d;$d' > changelog.tmp
|
||||||
if [ -s changelog.tmp ]; then
|
if [ -s changelog.tmp ]; then
|
||||||
echo "## TeslaMate Release Notes" > CHANGELOG.txt
|
echo "## TeslaMate Release Notes" > CHANGELOG.txt
|
||||||
cat changelog.tmp >> CHANGELOG.txt
|
cat changelog.tmp >> CHANGELOG.txt
|
||||||
echo -e "---\n\n## Add-on Release Notes\n\n" >> CHANGELOG.txt
|
|
||||||
fi
|
fi
|
||||||
|
echo -e "---\n\n## Add-on Release Notes\n\n" >> CHANGELOG.txt
|
||||||
env:
|
env:
|
||||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Create tag
|
- name: Create tag
|
||||||
@@ -51,7 +52,7 @@ jobs:
|
|||||||
git push --tags
|
git push --tags
|
||||||
working-directory: ${{ github.workspace }}/teslamate
|
working-directory: ${{ github.workspace }}/teslamate
|
||||||
- name: Create release
|
- name: Create release
|
||||||
uses: softprops/action-gh-release@v2.0.8
|
uses: softprops/action-gh-release@v2.1.0
|
||||||
with:
|
with:
|
||||||
tag_name: v${{ steps.semver.outputs.semver }}
|
tag_name: v${{ steps.semver.outputs.semver }}
|
||||||
body_path: CHANGELOG.txt
|
body_path: CHANGELOG.txt
|
||||||
@@ -60,7 +61,7 @@ jobs:
|
|||||||
prerelease: false
|
prerelease: false
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- name: Checkout addon repo
|
- name: Checkout addon repo
|
||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
path: repo
|
path: repo
|
||||||
repository: lildude/ha-addons
|
repository: lildude/ha-addons
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
uses: actions/checkout@v4.1.7
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Build add-on
|
- name: Build add-on
|
||||||
uses: home-assistant/builder@2024.08.2
|
uses: home-assistant/builder@2024.08.2
|
||||||
@@ -42,3 +42,7 @@ jobs:
|
|||||||
--${{ matrix.arch }} \
|
--${{ matrix.arch }} \
|
||||||
--target /data/ \
|
--target /data/ \
|
||||||
--addon
|
--addon
|
||||||
|
|
||||||
|
- name: Image labels
|
||||||
|
run: |
|
||||||
|
docker inspect ghcr.io/lildude/ha-addon-teslamate-${{ matrix.arch }} --format='{{json .Config.Labels}}' | jq
|
||||||
|
|||||||
+10
-26
@@ -1,8 +1,11 @@
|
|||||||
FROM teslamate/grafana:1.30.1 as grafana
|
ARG BUILD_FROM
|
||||||
|
ARG teslamate_version
|
||||||
|
FROM teslamate/grafana:${teslamate_version} as grafana
|
||||||
|
|
||||||
#---
|
#---
|
||||||
|
|
||||||
FROM teslamate/teslamate:1.30.1
|
ARG BUILD_FROM
|
||||||
|
FROM $BUILD_FROM
|
||||||
|
|
||||||
ARG BUILD_ARCH
|
ARG BUILD_ARCH
|
||||||
ARG BASHIO_VERSION=0.16.2
|
ARG BASHIO_VERSION=0.16.2
|
||||||
@@ -22,7 +25,6 @@ RUN \
|
|||||||
set -x \
|
set -x \
|
||||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||||
bash \
|
bash \
|
||||||
bind9utils \
|
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
curl \
|
curl \
|
||||||
jq \
|
jq \
|
||||||
@@ -30,7 +32,6 @@ RUN \
|
|||||||
postgresql-client \
|
postgresql-client \
|
||||||
tzdata \
|
tzdata \
|
||||||
xz-utils \
|
xz-utils \
|
||||||
&& rm -rf /var/lib/apt/lists/* \
|
|
||||||
&& S6_ARCH="${BUILD_ARCH}" \
|
&& S6_ARCH="${BUILD_ARCH}" \
|
||||||
&& if [ "${BUILD_ARCH}" = "amd64" ]; then S6_ARCH="x86_64"; \
|
&& if [ "${BUILD_ARCH}" = "amd64" ]; then S6_ARCH="x86_64"; \
|
||||||
elif [ "${BUILD_ARCH}" = "armv7" ]; then S6_ARCH="arm"; fi \
|
elif [ "${BUILD_ARCH}" = "armv7" ]; then S6_ARCH="arm"; fi \
|
||||||
@@ -38,33 +39,16 @@ RUN \
|
|||||||
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz" | tar xpJ -C / \
|
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz" | tar xpJ -C / \
|
||||||
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" | tar Jxp -C / \
|
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" | tar Jxp -C / \
|
||||||
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" | tar Jxp -C / \
|
&& curl -Ls "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" | tar Jxp -C / \
|
||||||
&& mkdir -p /etc/fix-attrs.d \
|
|
||||||
&& mkdir -p /etc/services.d \
|
|
||||||
&& mkdir -p /tmp/bashio \
|
&& mkdir -p /tmp/bashio \
|
||||||
&& curl -Ls "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" | tar xz --strip 1 -C /tmp/bashio \
|
&& curl -Ls "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" | tar xz --strip 1 -C /tmp/bashio \
|
||||||
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
&& mv /tmp/bashio/lib /usr/lib/bashio \
|
||||||
|
&& apt purge -y xz-utils \
|
||||||
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
&& ln -s /usr/lib/bashio/bashio /usr/bin/bashio \
|
||||||
&& rm -rf /tmp/bashio
|
&& rm -rf /var/lib/apt/lists/* /tmp/*
|
||||||
|
|
||||||
COPY --chown=root scripts/*.sh /
|
COPY rootfs /
|
||||||
RUN chmod a+x /*.sh
|
COPY --from=grafana /dashboards /dashboards
|
||||||
|
COPY --from=grafana /dashboards_internal /dashboards
|
||||||
COPY --chown=root services/teslamate/run services/teslamate/finish /etc/services.d/teslamate/
|
|
||||||
RUN chmod a+x /etc/services.d/teslamate/*
|
|
||||||
|
|
||||||
COPY --chown=root services/nginx/run services/nginx/finish /etc/services.d/nginx/
|
|
||||||
RUN chmod a+x /etc/services.d/nginx/*
|
|
||||||
|
|
||||||
COPY --chown=root services/nginx/teslamate.conf /etc/nginx/conf.d/
|
|
||||||
|
|
||||||
COPY --from=grafana --chown=root /dashboards /dashboards
|
|
||||||
COPY --from=grafana --chown=root /dashboards_internal /dashboards
|
|
||||||
|
|
||||||
# S6-Overlay
|
# S6-Overlay
|
||||||
ENTRYPOINT ["/init"]
|
ENTRYPOINT ["/init"]
|
||||||
|
|
||||||
LABEL \
|
|
||||||
org.opencontainers.image.title="Home Assistant Add-on: TeslaMate" \
|
|
||||||
org.opencontainers.image.description="A self-hosted data logger for your Tesla." \
|
|
||||||
org.opencontainers.image.source="https://github.com/lildude/ha-addon-ghostfolio/" \
|
|
||||||
org.opencontainers.image.licenses="MIT"
|
|
||||||
|
|||||||
+13
-4
@@ -1,13 +1,22 @@
|
|||||||
{
|
{
|
||||||
"build_from": {
|
"build_from": {
|
||||||
"aarch64": "teslamate/teslamate:not-used",
|
"aarch64": "teslamate/teslamate:1.32.0",
|
||||||
"amd64": "teslamate/teslamate:not-used",
|
"amd64": "teslamate/teslamate:1.32.0",
|
||||||
"armv7": "teslamate/teslamate:not-used"
|
"armv7": "teslamate/teslamate:1.32.0"
|
||||||
},
|
},
|
||||||
"args": {
|
"args": {
|
||||||
"teslamate_version": "1.30.1"
|
"teslamate_version": "1.32.0"
|
||||||
},
|
},
|
||||||
"codenotary": {
|
"codenotary": {
|
||||||
"signer": "colin@symr.io"
|
"signer": "colin@symr.io"
|
||||||
|
},
|
||||||
|
"labels":{
|
||||||
|
"maintainer": "Colin Seymour (https://github.com/lildude)",
|
||||||
|
"org.opencontainers.image.authors": "Colin Seymour (https://github.com/lildude)",
|
||||||
|
"org.opencontainers.image.description": "A self-hosted data logger for your Tesla.",
|
||||||
|
"org.opencontainers.image.documentation": "https://github.com/lildude/ha-addon-teslamate/blob/main/DOCS.md",
|
||||||
|
"org.opencontainers.image.licenses": "MIT",
|
||||||
|
"org.opencontainers.image.source": "https://github.com/lildude/ha-addon-teslamate/",
|
||||||
|
"org.opencontainers.image.title": "Home Assistant Add-on: TeslaMate"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Regular → Executable
Regular → Executable
Regular → Executable
@@ -0,0 +1 @@
|
|||||||
|
longrun
|
||||||
Regular → Executable
Regular → Executable
+1
-1
@@ -61,7 +61,7 @@ fi
|
|||||||
if pg_isready -h "$DATABASE_HOST" -p "$DATABASE_PORT" > /dev/null 2>&1; then
|
if pg_isready -h "$DATABASE_HOST" -p "$DATABASE_PORT" > /dev/null 2>&1; then
|
||||||
bashio::log.info "Creating database '$DATABASE_NAME' on $DATABASE_HOST"
|
bashio::log.info "Creating database '$DATABASE_NAME' on $DATABASE_HOST"
|
||||||
|
|
||||||
if [[ -n $(PGPASSWORD="$DATABASE_PASS" psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USER" postgres -Atqc "\list $DATABASE_NAME") ]]; then
|
if [[ -n $(PGPASSWORD="$DATABASE_PASS" psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USER" postgres -Atqc "\list \"$DATABASE_NAME\"") ]]; then
|
||||||
bashio::log.info "Database $DATABASE_NAME already exists"
|
bashio::log.info "Database $DATABASE_NAME already exists"
|
||||||
else
|
else
|
||||||
if PGPASSWORD="$DATABASE_PASS" psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USER" postgres -qc "CREATE DATABASE \"$DATABASE_NAME\""; then
|
if PGPASSWORD="$DATABASE_PASS" psql -h "$DATABASE_HOST" -p "$DATABASE_PORT" -U "$DATABASE_USER" postgres -qc "CREATE DATABASE \"$DATABASE_NAME\""; then
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
longrun
|
||||||
Reference in New Issue
Block a user