moving to submodules
128
.drone.yml
@ -1,128 +0,0 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: docmaster
|
||||
|
||||
steps:
|
||||
- name: build_and_publish_docmaster
|
||||
image: plugins/docker:linux-amd64
|
||||
settings:
|
||||
dockerfile: docmaster/Dockerfile
|
||||
context: docmaster
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: docker.asperti.com
|
||||
repo: docker.asperti.com/paspo/hassio-docmaster
|
||||
tags:
|
||||
- latest
|
||||
- 0.1.2
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: ot-recorder
|
||||
|
||||
steps:
|
||||
- name: build_and_publish_ot-recorder
|
||||
image: plugins/docker:linux-amd64
|
||||
settings:
|
||||
dockerfile: ot-recorder/Dockerfile
|
||||
context: ot-recorder
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: docker.asperti.com
|
||||
repo: docker.asperti.com/paspo/hassio-ot-recorder
|
||||
tags:
|
||||
- latest
|
||||
- 0.2.2
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: upsmon
|
||||
|
||||
steps:
|
||||
- name: build_and_publish_upsmon
|
||||
image: plugins/docker:linux-amd64
|
||||
settings:
|
||||
dockerfile: upsmon/Dockerfile
|
||||
context: upsmon
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: docker.asperti.com
|
||||
repo: docker.asperti.com/paspo/hassio-upsmon
|
||||
tags:
|
||||
- latest
|
||||
- 0.2.0
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: zabbix-agent
|
||||
|
||||
steps:
|
||||
- name: build_and_publish_zabbix-agent
|
||||
image: plugins/docker:linux-amd64
|
||||
settings:
|
||||
dockerfile: zabbix-agent/Dockerfile
|
||||
context: zabbix-agent
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: docker.asperti.com
|
||||
repo: docker.asperti.com/paspo/hassio-zabbix-agent
|
||||
tags:
|
||||
- latest
|
||||
- 0.1.4
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
- push
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: zabbix-agent2
|
||||
|
||||
steps:
|
||||
- name: build_and_publish_zabbix-agent2
|
||||
image: plugins/docker:linux-amd64
|
||||
settings:
|
||||
dockerfile: zabbix-agent2/Dockerfile
|
||||
context: zabbix-agent2
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: docker.asperti.com
|
||||
repo: docker.asperti.com/paspo/hassio-zabbix-agent2
|
||||
tags:
|
||||
- latest
|
||||
- 0.1.2
|
||||
username:
|
||||
from_secret: docker_username
|
||||
|
||||
trigger:
|
||||
event:
|
||||
- tag
|
||||
- push
|
@ -1,14 +0,0 @@
|
||||
ARG BUILD_FROM
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# Copy scripts for add-on
|
||||
COPY run.sh /
|
||||
COPY backup.sh /
|
||||
|
||||
RUN apk add -U jq bc curl && \
|
||||
chmod a+x /run.sh && \
|
||||
chmod a+x /backup.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
@ -1,4 +0,0 @@
|
||||
## Auto Backup
|
||||
|
||||
This plugins takes a backup of your hassio instance based on the timing you specify in config. Just use standard cron format (min hour day month weekday).
|
||||
You can specify how many backups you want to mantain (should be >= 1). Note that backups are deleted after a new one is taken, so if something goes wrong, you end up with no recent backup and the oldest valid ones.
|
@ -1,47 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo
|
||||
echo "Taking a new backup"
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
NUM_BACKUPS=$(jq --raw-output ".num_backups" $CONFIG_PATH)
|
||||
if [ $NUM_BACKUPS -lt 1 ] ; then
|
||||
NUM_BACKUPS=1
|
||||
fi
|
||||
|
||||
# retrieve current backup list
|
||||
CURRENT_BACKUPS=$( curl -s -H "X-HASSIO-KEY: $HASSIO_TOKEN" http://hassio/backups )
|
||||
STATUS=$(echo "$CURRENT_BACKUPS" | jq --raw-output '.result')
|
||||
if [ ! "$STATUS" = "ok" ] ; then
|
||||
echo "ERROR: Can't retrieve current backup list."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# take backup (this can take a long time)
|
||||
START_TIMESTAMP=$(date "+%s")
|
||||
RESULT=$( curl -s -H "X-HASSIO-KEY: $HASSIO_TOKEN" --data '{"name":"Automatic Backup"}' -X POST http://hassio/backups/new/full )
|
||||
BACKUP_TIMESTAMP=$(date "+%s")
|
||||
BACKUP_TIME=$(echo "$BACKUP_TIMESTAMP - $START_TIMESTAMP" | bc)
|
||||
|
||||
# check if backup is ok
|
||||
STATUS=$(echo "$RESULT" | jq --raw-output '.result')
|
||||
if [ ! "$STATUS" = "ok" ] ; then
|
||||
echo "Backup FAILED after $BACKUP_TIME seconds."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SLUG=$(echo "$RESULT" | jq --raw-output '.data.slug')
|
||||
echo "Backup $SLUG taken SUCCESSFULLY in $BACKUP_TIME seconds."
|
||||
|
||||
# housekeeping:
|
||||
# we take the list of backups (which was taken before this backup)
|
||||
# we sort by date (reversed), remove the protected backups and take
|
||||
# only a list of slugs
|
||||
# then we skip the first NUM_BACKUPS slugs and delete all the rest
|
||||
FIRST_SLUG_TO_DELETE=$(echo "1 + $NUM_BACKUPS" | bc)
|
||||
echo $CURRENT_BACKUPS | jq --raw-output ".data.backups | sort_by(.date) | reverse[] | select(.slug != \"$SLUG\") | select (.protected==false) | .slug " | tail -n +$FIRST_SLUG_TO_DELETE | while read SLUG_TO_DELETE
|
||||
do
|
||||
echo "Removing backup $SLUG_TO_DELETE"
|
||||
curl -s -H "X-HASSIO-KEY: $HASSIO_TOKEN" -X POST http://hassio/backups/$SLUG_TO_DELETE/remove
|
||||
done
|
@ -1,26 +0,0 @@
|
||||
{
|
||||
"name": "Auto Backup",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"version": "0.2.0",
|
||||
"slug": "auto-backup",
|
||||
"description": "Take hassio backups with fixed timings and manage retention",
|
||||
"startup": "application",
|
||||
"boot": "auto",
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"i386"
|
||||
],
|
||||
"homeassistant": "2021.9",
|
||||
"hassio_api": true,
|
||||
"hassio_role": "backup",
|
||||
"options": {
|
||||
"cron": "15 3 * * *",
|
||||
"num_backups": 10
|
||||
},
|
||||
"schema": {
|
||||
"cron": "str",
|
||||
"num_backups": "int"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 58 KiB |
@ -1,16 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
|
||||
CRON=$(jq --raw-output ".cron" $CONFIG_PATH)
|
||||
|
||||
echo "$CRON /backup.sh >> /var/log/cron.log" > /var/spool/cron/crontabs/root
|
||||
|
||||
# change perms
|
||||
chmod 600 /var/spool/cron/crontabs/root
|
||||
|
||||
echo "Auto backup ready."
|
||||
crond
|
||||
touch /var/log/cron.log
|
||||
tail -f /var/log/cron.log
|
@ -1,19 +0,0 @@
|
||||
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:9.2.2
|
||||
FROM ${BUILD_FROM}
|
||||
|
||||
# --no-cache
|
||||
RUN \
|
||||
apk -U upgrade && \
|
||||
apk add ghostscript py3-flask py3-gunicorn && \
|
||||
apk add py3-unoconv --repository=http://dl-cdn.alpinelinux.org/alpine/edge/testing/ && \
|
||||
apk add font-noto-all ttf-ubuntu-font-family ttf-freefont ttf-font-awesome ttf-opensans && \
|
||||
apk add samba-client jq
|
||||
|
||||
COPY start.sh /app/
|
||||
COPY app.py /app/
|
||||
|
||||
EXPOSE 6000
|
||||
HEALTHCHECK CMD curl --fail http://localhost:6000/ || exit 1
|
||||
|
||||
ENTRYPOINT ["/app/start.sh"]
|
@ -1,91 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from flask import Flask, jsonify, request, send_from_directory
|
||||
import tempfile
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
@app.route('/')
|
||||
def helloWorld():
|
||||
return "Hi! Please check usage docs.\n"
|
||||
|
||||
|
||||
@app.route('/status')
|
||||
def getStatus():
|
||||
PRINTER_HOST = os.environ.get("PRINTER_HOST")
|
||||
return jsonify({"status": "OK", "printer_host": PRINTER_HOST})
|
||||
|
||||
|
||||
def getFile(tmpDir):
|
||||
if request.files.get('file', None):
|
||||
f = request.files['file']
|
||||
infile = tmpDir.name + '/' + f.name
|
||||
f.save(infile)
|
||||
elif request.form.get('smbfile'):
|
||||
smbhost = request.form.get('smbhost', None)
|
||||
smbuser = request.form.get('smbuser', None)
|
||||
smbpass = request.form.get('smbpass', None)
|
||||
smbworkgroup = request.form.get('smbworkgroup', None)
|
||||
smbshare = request.form.get('smbshare', None)
|
||||
smbdir = request.form.get('smbdir', None)
|
||||
smbfile = request.form.get('smbfile', None)
|
||||
v = [ smbhost, smbuser, smbpass, smbworkgroup, smbshare, smbdir, smbfile ]
|
||||
if (all(v)):
|
||||
os.chdir(tmpDir.name)
|
||||
r = subprocess.run(['smbclient',
|
||||
'--user', smbuser,
|
||||
'--workgroup', smbworkgroup,
|
||||
'--directory', smbdir,
|
||||
'--command', 'get "%s"' % (smbfile),
|
||||
'//%s/%s' % (smbhost, smbshare),
|
||||
smbpass ] )
|
||||
if r.returncode != 0:
|
||||
return None
|
||||
infile = tmpDir.name + '/' + smbfile
|
||||
else:
|
||||
return None
|
||||
return infile
|
||||
|
||||
|
||||
@app.route('/convert/pdf', methods=["POST"])
|
||||
def toPDF():
|
||||
tmpDir = tempfile.TemporaryDirectory()
|
||||
infile = getFile(tmpDir)
|
||||
pdffile = infile + '.pdf'
|
||||
|
||||
r = subprocess.run(['/usr/bin/unoconv', '--output', pdffile, infile])
|
||||
if r.returncode != 0:
|
||||
return jsonify({"status": "conversion error"})
|
||||
|
||||
return send_from_directory(directory=tmpDir.name,
|
||||
filename=os.path.basename(pdffile),
|
||||
mimetype='application/pdf',
|
||||
as_attachment=True)
|
||||
|
||||
|
||||
@app.route('/print', methods=["POST"])
|
||||
def print():
|
||||
PRINTER_HOST = os.environ.get("PRINTER_HOST")
|
||||
if not PRINTER_HOST:
|
||||
raise ValueError("You have to set the PRINTER_HOST environment variable")
|
||||
|
||||
tmpDir = tempfile.TemporaryDirectory()
|
||||
infile = getFile(tmpDir)
|
||||
|
||||
unoconv = subprocess.Popen(['/usr/bin/unoconv','--stdout',infile], stdout=subprocess.PIPE)
|
||||
pdf2ps = subprocess.Popen(['/usr/bin/pdf2ps','-','-'], stdin=unoconv.stdout, stdout=subprocess.PIPE)
|
||||
unoconv.wait()
|
||||
unoconv.stdout.close()
|
||||
printer = subprocess.Popen(['/usr/bin/nc','-w','1', PRINTER_HOST,'9100'], stdin=pdf2ps.stdout)
|
||||
pdf2ps.wait()
|
||||
pdf2ps.stdout.close()
|
||||
printer.wait()
|
||||
|
||||
return jsonify({"status": "ok"})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
app.run(port=6000)
|
@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "DocMaster",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"image": "docker.asperti.com/paspo/hassio-docmaster",
|
||||
"version": "0.1.2",
|
||||
"slug": "docmaster",
|
||||
"description": "document conversion and print",
|
||||
"startup": "services",
|
||||
"boot": "auto",
|
||||
"audio": false,
|
||||
"gpio": false,
|
||||
"arch": [
|
||||
"amd64"
|
||||
],
|
||||
"ports": {
|
||||
"6000/tcp": 6000
|
||||
},
|
||||
"options": {
|
||||
"printer_host": "192.168.1.30"
|
||||
},
|
||||
"schema": {
|
||||
"printer_host": "str"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 62 KiB |
Before Width: | Height: | Size: 62 KiB |
@ -1,11 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
PRINTER_HOST=$(jq --raw-output ".printer_host" $CONFIG_PATH)
|
||||
|
||||
echo "PRINTER_HOST: $PRINTER_HOST"
|
||||
|
||||
cd /app
|
||||
export PRINTER_HOST
|
||||
gunicorn app:app --bind 0.0.0.0:6000 --workers=2
|
@ -1,34 +0,0 @@
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:10.0.2
|
||||
FROM $BUILD_FROM AS builder
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
RUN apk add --no-cache \
|
||||
abuild linux-headers musl-dev mosquitto-dev \
|
||||
lmdb-dev curl-dev libconfig-dev gcc make libsodium-dev && \
|
||||
wget -q https://github.com/owntracks/recorder/archive/0.8.7.tar.gz -O - | tar xvzC /tmp
|
||||
|
||||
COPY config.mk /tmp/recorder-0.8.7/
|
||||
|
||||
RUN cd /tmp/recorder-0.8.7/ && \
|
||||
make
|
||||
|
||||
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:10.0.2
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
RUN apk -U --no-cache upgrade && \
|
||||
apk --no-cache add jq && \
|
||||
apk --no-cache add libcurl lmdb libconfig libsodium mosquitto-libs
|
||||
|
||||
EXPOSE 8083
|
||||
|
||||
COPY --from=builder /tmp/recorder-0.8.7/ocat /usr/sbin/
|
||||
COPY --from=builder /tmp/recorder-0.8.7/ot-recorder /usr/sbin/
|
||||
COPY --from=builder /tmp/recorder-0.8.7/docroot /var/spool/owntracks/recorder/htdocs
|
||||
COPY run.sh /
|
||||
RUN chmod a+x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
@ -1,3 +0,0 @@
|
||||
## Owntracks Recorder
|
||||
|
||||
[Owntracks Recorder](https://github.com/owntracks/recorder) packaged for hass.io.
|
@ -1,38 +0,0 @@
|
||||
{
|
||||
"name": "Owntracks Recorder",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"image": "docker.asperti.com/paspo/hassio-ot-recorder",
|
||||
"version": "0.2.2",
|
||||
"slug": "ot-recorder",
|
||||
"description": "Owntracks Recorder - connects to your mqtt broker and consumes owntracks locations",
|
||||
"startup": "services",
|
||||
"boot": "auto",
|
||||
"ports": {
|
||||
"8083": 8083
|
||||
},
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"i386"
|
||||
],
|
||||
"webui": "http://[HOST]:[PORT:8083]/",
|
||||
"map": ["share:rw"],
|
||||
"options": {
|
||||
"topics": "owntracks/#",
|
||||
"host": "IPADDRESS_OR_HOSTNAME",
|
||||
"port": 1883,
|
||||
"user": "DVES_USER",
|
||||
"pass": "DVES_PASS",
|
||||
"qos": 2
|
||||
},
|
||||
"schema": {
|
||||
"topics": "str",
|
||||
"host": "str",
|
||||
"port": "port",
|
||||
"user": "str",
|
||||
"pass": "str",
|
||||
"qos": "int"
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +0,0 @@
|
||||
FREEBSD ?= no
|
||||
INSTALLDIR = /usr
|
||||
WITH_MQTT ?= yes
|
||||
WITH_HTTP ?= yes
|
||||
WITH_LUA ?= no
|
||||
WITH_PING ?= yes
|
||||
WITH_KILL ?= no
|
||||
WITH_ENCRYPT ?= yes
|
||||
WITH_GREENWICH ?= no
|
||||
STORAGEDEFAULT = /share/ot-recorder/
|
||||
DOCROOT = /var/spool/owntracks/recorder/htdocs
|
||||
GHASHPREC = 7
|
||||
JSON_INDENT ?= no
|
||||
CONFIGFILE = /etc/ot-recorder.cfg
|
||||
MOSQUITTO_INC = -I/usr/include
|
||||
MOSQUITTO_LIB = -L/usr/lib
|
||||
MORELIBS += # -lssl
|
||||
LUA_CFLAGS = `pkg-config --cflags lua`
|
||||
LUA_LIBS = `pkg-config --libs lua`
|
||||
SODIUM_CFLAGS = `pkg-config --cflags libsodium`
|
||||
SODIUM_LIBS = `pkg-config --libs libsodium`
|
||||
GEOCODE_TIMEOUT = 4000
|
||||
|
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 18 KiB |
@ -1,32 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
|
||||
TOPICS=$(jq --raw-output ".topics" $CONFIG_PATH)
|
||||
HOST=$(jq --raw-output ".host" $CONFIG_PATH)
|
||||
PORT=$(jq --raw-output ".port" $CONFIG_PATH)
|
||||
USER=$(jq --raw-output ".user" $CONFIG_PATH)
|
||||
PASS=$(jq --raw-output ".pass" $CONFIG_PATH)
|
||||
QOS=$(jq --raw-output ".qos" $CONFIG_PATH)
|
||||
|
||||
echo "
|
||||
OTR_STORAGEDIR = \"/share/ot-recorder\"
|
||||
OTR_TOPICS = \"$TOPICS\"
|
||||
OTR_HOST = \"$HOST\"
|
||||
OTR_PORT = $PORT
|
||||
OTR_USER = \"$USER\"
|
||||
OTR_PASS = \"$PASS\"
|
||||
OTR_QOS = $QOS
|
||||
" > /etc/ot-recorder.cfg
|
||||
|
||||
if [ ! -d /share/ot-recorder ] ; then
|
||||
mkdir /share/ot-recorder
|
||||
fi
|
||||
|
||||
if [ ! -f /share/ot-recorder/ghash/data.mdb ] ; then
|
||||
/usr/sbin/ot-recorder --initialize
|
||||
fi
|
||||
|
||||
/usr/sbin/ot-recorder --http-host 0.0.0.0
|
@ -1,17 +0,0 @@
|
||||
ARG BUILD_FROM=ghcr.io/hassio-addons/base/amd64:10.0.2
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
COPY run.sh shutdown.sh /
|
||||
|
||||
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories && \
|
||||
echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories && \
|
||||
echo "http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories && \
|
||||
apk add -U jq nut curl util-linux && \
|
||||
mkdir /var/run/nut && \
|
||||
chown root:nut /var/run/nut && \
|
||||
chmod 770 /var/run/nut && \
|
||||
chmod a+x /run.sh /shutdown.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
@ -1,4 +0,0 @@
|
||||
## Network UPS Tools - netclient
|
||||
|
||||
[Network UPS Tools](http://networkupstools.org/) is used to connect to another machine running the same software.
|
||||
You just need to specify some connection parameters. You can also configure the shutdown delay (in minutes).
|
@ -1,40 +0,0 @@
|
||||
{
|
||||
"name": "Network UPS Tools - netclient",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"image": "docker.asperti.com/paspo/hassio-upsmon",
|
||||
"version": "0.2.0",
|
||||
"slug": "upsmon",
|
||||
"description": "Connect to a remote NUT server",
|
||||
"startup": "services",
|
||||
"boot": "auto",
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"i386"
|
||||
],
|
||||
"hassio_api": true,
|
||||
"hassio_role": "admin",
|
||||
"options": {
|
||||
"credentials": {
|
||||
"user": "monuser",
|
||||
"pass": "secret"
|
||||
},
|
||||
"ups": {
|
||||
"upsname": "ups",
|
||||
"host": "IPADDR"
|
||||
},
|
||||
"delay": 5
|
||||
},
|
||||
"schema": {
|
||||
"credentials": {
|
||||
"user": "str",
|
||||
"pass": "str"
|
||||
},
|
||||
"ups": {
|
||||
"upsname": "str",
|
||||
"host": "str"
|
||||
},
|
||||
"delay": "int"
|
||||
}
|
||||
}
|
BIN
upsmon/icon.png
Before Width: | Height: | Size: 6.3 KiB |
BIN
upsmon/logo.png
Before Width: | Height: | Size: 6.3 KiB |
@ -1,3 +0,0 @@
|
||||
http://dl-cdn.alpinelinux.org/alpine/edge/main
|
||||
http://dl-cdn.alpinelinux.org/alpine/edge/community
|
||||
http://dl-cdn.alpinelinux.org/alpine/edge/testing
|
@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
|
||||
UPSNAME=$(jq --raw-output ".ups.upsname" $CONFIG_PATH)
|
||||
HOST=$(jq --raw-output ".ups.host" $CONFIG_PATH)
|
||||
USER=$(jq --raw-output ".credentials.user" $CONFIG_PATH)
|
||||
PASS=$(jq --raw-output ".credentials.pass" $CONFIG_PATH)
|
||||
DELAY=$(jq --raw-output ".delay" $CONFIG_PATH)
|
||||
|
||||
echo "
|
||||
MONITOR ${UPSNAME}@${HOST} 1 ${USER} ${PASS} slave
|
||||
MINSUPPLIES 1
|
||||
SHUTDOWNCMD \"/shutdown.sh\"
|
||||
POLLFREQ 5
|
||||
POLLFREQALERT 5
|
||||
HOSTSYNC 15
|
||||
DEADTIME 15
|
||||
POWERDOWNFLAG /etc/killpower
|
||||
RBWARNTIME 43200
|
||||
NOCOMMWARNTIME 300
|
||||
" > /etc/nut/upsmon.conf
|
||||
|
||||
echo "MODE=netclient" > /etc/nut/nut.conf
|
||||
|
||||
# change perms on config files
|
||||
chmod 660 /etc/nut/*
|
||||
|
||||
upsmon -D
|
@ -1,3 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
curl -H "X-HASSIO-KEY: $HASSIO_TOKEN" -X POST http://hassio/host/shutdown
|
@ -1,12 +0,0 @@
|
||||
ARG BUILD_FROM=hassioaddons/base:8.0.6
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# Copy scripts for add-on
|
||||
COPY run.sh /
|
||||
|
||||
RUN apk add -U jq zabbix-agent sudo && \
|
||||
chmod a+x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
@ -1,32 +0,0 @@
|
||||
{
|
||||
"name": "Zabbix Agent",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"image": "docker.asperti.com/paspo/hassio-zabbix-agent",
|
||||
"version": "0.1.4",
|
||||
"slug": "zabbix-agent",
|
||||
"description": "Zabbix Agent for hass.io",
|
||||
"startup": "services",
|
||||
"boot": "auto",
|
||||
"audio": false,
|
||||
"gpio": false,
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"i386"
|
||||
],
|
||||
"ports": {
|
||||
"10050/tcp": 10050
|
||||
},
|
||||
"map": [
|
||||
"share"
|
||||
],
|
||||
"options": {
|
||||
"server": "zabbix-server",
|
||||
"hostname": "hassio"
|
||||
},
|
||||
"schema": {
|
||||
"server": "str",
|
||||
"hostname": "str"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 632 B |
Before Width: | Height: | Size: 3.7 KiB |
@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
CUSTOM_CFG_PATH=/share/zabbix-agent
|
||||
|
||||
SERVER=$(jq --raw-output ".server" $CONFIG_PATH)
|
||||
HOSTNAME=$(jq --raw-output ".hostname" $CONFIG_PATH)
|
||||
|
||||
if [ ! -d "$CUSTOM_CFG_PATH" ] ; then
|
||||
mkdir -p "$CUSTOM_CFG_PATH"
|
||||
fi
|
||||
|
||||
echo "
|
||||
Server=$SERVER
|
||||
ServerActive=$SERVER
|
||||
Hostname=$HOSTNAME
|
||||
LogType=console
|
||||
Include=${CUSTOM_CFG_PATH}/*.conf
|
||||
" > /etc/zabbix/zabbix_agentd.conf
|
||||
|
||||
sudo -u zabbix zabbix_agentd -f
|
@ -1,12 +0,0 @@
|
||||
ARG BUILD_FROM=hassioaddons/base:8.0.6
|
||||
FROM $BUILD_FROM
|
||||
|
||||
ENV LANG C.UTF-8
|
||||
|
||||
# Copy scripts for add-on
|
||||
COPY run.sh /
|
||||
|
||||
RUN apk add -U jq zabbix-agent2=5.0.14-r1 sudo && \
|
||||
chmod a+x /run.sh
|
||||
|
||||
CMD [ "/run.sh" ]
|
@ -1,32 +0,0 @@
|
||||
{
|
||||
"name": "Zabbix Agent 2",
|
||||
"url": "https://git.asperti.com/paspo/hassio-addons",
|
||||
"image": "docker.asperti.com/paspo/hassio-zabbix-agent2",
|
||||
"version": "0.1.2",
|
||||
"slug": "zabbix-agent2",
|
||||
"description": "Zabbix Agent 2 for hass.io",
|
||||
"startup": "services",
|
||||
"boot": "auto",
|
||||
"audio": false,
|
||||
"gpio": false,
|
||||
"arch": [
|
||||
"aarch64",
|
||||
"amd64",
|
||||
"armhf",
|
||||
"i386"
|
||||
],
|
||||
"ports": {
|
||||
"10050/tcp": 10050
|
||||
},
|
||||
"map": [
|
||||
"share"
|
||||
],
|
||||
"options": {
|
||||
"server": "zabbix-server",
|
||||
"hostname": "hassio"
|
||||
},
|
||||
"schema": {
|
||||
"server": "str",
|
||||
"hostname": "str"
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 632 B |
Before Width: | Height: | Size: 3.7 KiB |
@ -1,22 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
CONFIG_PATH=/data/options.json
|
||||
CUSTOM_CFG_PATH=/share/zabbix-agent2
|
||||
|
||||
SERVER=$(jq --raw-output ".server" $CONFIG_PATH)
|
||||
HOSTNAME=$(jq --raw-output ".hostname" $CONFIG_PATH)
|
||||
|
||||
if [ ! -d "$CUSTOM_CFG_PATH" ] ; then
|
||||
mkdir -p "$CUSTOM_CFG_PATH"
|
||||
fi
|
||||
|
||||
echo "
|
||||
Server=$SERVER
|
||||
ServerActive=$SERVER
|
||||
Hostname=$HOSTNAME
|
||||
LogType=console
|
||||
Include=${CUSTOM_CFG_PATH}/*.conf
|
||||
" > /etc/zabbix/zabbix_agent2.conf
|
||||
|
||||
sudo -u zabbix zabbix_agent2 -f
|