initial commit
This commit is contained in:
15
dn
Executable file
15
dn
Executable file
@@ -0,0 +1,15 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# take system services down
|
||||
#
|
||||
dn() {
|
||||
docker compose -f $1/docker-compose.yml down
|
||||
}
|
||||
|
||||
if [ $1 ]
|
||||
then
|
||||
dn $1
|
||||
else
|
||||
dn "florida/homebridge"
|
||||
dn "florida/samba"
|
||||
fi
|
||||
22
florida/homebridge/cgate/Dockerfile
Normal file
22
florida/homebridge/cgate/Dockerfile
Normal file
@@ -0,0 +1,22 @@
|
||||
# build cgate for arm
|
||||
ARG CVER=2.11.4_3251
|
||||
|
||||
FROM arm32v7/openjdk:11.0.1-jre
|
||||
ARG CVER
|
||||
WORKDIR /
|
||||
RUN apt-get -y install curl
|
||||
RUN curl -kO https://updates.clipsal.com/ClipsalSoftwareDownload/mainsite/cis/technical/CGate/cgate-${CVER}.zip && \
|
||||
unzip cgate-${CVER}.zip && \
|
||||
rm -f cgate-${CVER}.zip && \
|
||||
rm -f cgate/tag/* \
|
||||
rm -f cgate/config/* \
|
||||
rm -f cgate/logs/*
|
||||
|
||||
EXPOSE 20023
|
||||
EXPOSE 20024
|
||||
EXPOSE 20025
|
||||
EXPOSE 20026
|
||||
EXPOSE 20123
|
||||
|
||||
WORKDIR /cgate
|
||||
CMD ["java", "-jar", "cgate.jar"]
|
||||
484
florida/homebridge/config/231108-config.bak
Normal file
484
florida/homebridge/config/231108-config.bak
Normal file
@@ -0,0 +1,484 @@
|
||||
{
|
||||
"bridge": {
|
||||
"name": "Homebridge",
|
||||
"username": "CC:22:3D:E3:CE:31",
|
||||
"port": 51826,
|
||||
"pin": "031-45-150",
|
||||
"manufacturer": "@nfarina",
|
||||
"model": "Homebridge",
|
||||
"serialNumber": "0.4.20",
|
||||
"advertiser": "avahi"
|
||||
},
|
||||
"description": "Florida Road",
|
||||
"platforms": [
|
||||
{
|
||||
"platform": "AnekolHarmonyHub",
|
||||
"name": "HarmonyHub",
|
||||
"host": "192.168.1.30",
|
||||
"port": "8282",
|
||||
"verboseLog": false,
|
||||
"hubs": [
|
||||
{
|
||||
"label": "Harmony",
|
||||
"slug": "16913279",
|
||||
"devices": [
|
||||
"Bose Amp",
|
||||
"Samsung TV"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"platform": "homebridge-cbus.CBus",
|
||||
"name": "CBus",
|
||||
"client_ip_address": "127.0.0.1",
|
||||
"client_controlport": 20023,
|
||||
"client_cbusname": "FLORIDA",
|
||||
"client_network": 254,
|
||||
"client_application": 56,
|
||||
"platform_export": "florida.json",
|
||||
"client_debug": false,
|
||||
"accessories": [
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 1,
|
||||
"name": "Kitchen Island"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 2,
|
||||
"name": "Kitchen Bench"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 3,
|
||||
"name": "Kitchen West"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 4,
|
||||
"name": "Kitchen Appliances"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 5,
|
||||
"name": "Sitting Pendants"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 6,
|
||||
"name": "Sitting Wall"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 7,
|
||||
"name": "Living North"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 8,
|
||||
"name": "Living Centre"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 9,
|
||||
"name": "Living South"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 10,
|
||||
"name": "Living Lamp South"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 11,
|
||||
"name": "Living Lamp North"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 12,
|
||||
"name": "BBQ"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 13,
|
||||
"name": "Balcony"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 14,
|
||||
"name": "Foyer"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 16,
|
||||
"name": "Foyer Lamp"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 17,
|
||||
"name": "Bed 1/Bed 2 Hall"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 18,
|
||||
"name": "Outside Front"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 19,
|
||||
"name": "Bath 2"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 20,
|
||||
"name": "Bath 2 Exhaust"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 21,
|
||||
"name": "Bed 2"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 22,
|
||||
"name": "Bed 2 Robe"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 24,
|
||||
"name": "Bath 1"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 25,
|
||||
"name": "Bath 1 Exhaust"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 26,
|
||||
"name": "Bed 1"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 27,
|
||||
"name": "Bed 1 Robe"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 28,
|
||||
"name": "Bed 1 Bedhead South"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 29,
|
||||
"name": "Bed 1 Bedhead North"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 30,
|
||||
"name": "Rumpus"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 31,
|
||||
"name": "Games"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 32,
|
||||
"name": "Deck Lower North"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 33,
|
||||
"name": "Deck Lower South"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 34,
|
||||
"name": "Bed 3"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 35,
|
||||
"name": "Bed 4"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 36,
|
||||
"name": "Bed 3/Bed 4 Hall"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 37,
|
||||
"name": "Garage Hall"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 38,
|
||||
"name": "Bath 3"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 39,
|
||||
"name": "Bath 3 Exhaust"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 40,
|
||||
"name": "Laundry"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 41,
|
||||
"name": "Outside Laundry"
|
||||
},
|
||||
{
|
||||
"type": "switch",
|
||||
"id": 42,
|
||||
"name": "Garage Door",
|
||||
"activeDuration": "0.25s"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 43,
|
||||
"name": "Garage"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 44,
|
||||
"name": "Garden Rear"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 46,
|
||||
"name": "Bed 4 Bed"
|
||||
},
|
||||
{
|
||||
"type": "dimmer",
|
||||
"id": 47,
|
||||
"name": "Games South"
|
||||
},
|
||||
{
|
||||
"type": "switch",
|
||||
"id": 48,
|
||||
"name": "Front Door",
|
||||
"activeDuration": "10.0s"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 49,
|
||||
"name": "Outside Garage"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 50,
|
||||
"name": "Dining Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 51,
|
||||
"name": "Living Fan South"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 52,
|
||||
"name": "Living Fan North"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 53,
|
||||
"name": "Bed 1 Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 54,
|
||||
"name": "Bed 2 Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 55,
|
||||
"name": "Bed 3 Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 56,
|
||||
"name": "Bed 4 Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 57,
|
||||
"name": "Rumpus Fan"
|
||||
},
|
||||
{
|
||||
"type": "fan",
|
||||
"id": 58,
|
||||
"name": "Games Fan"
|
||||
},
|
||||
{
|
||||
"type": "shutter",
|
||||
"id": 62,
|
||||
"name": "Awning Upper"
|
||||
},
|
||||
{
|
||||
"type": "shutter",
|
||||
"id": 63,
|
||||
"name": "Awning Lower"
|
||||
},
|
||||
{
|
||||
"type": "light",
|
||||
"id": 64,
|
||||
"name": "Outside Side North"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Config",
|
||||
"port": 8581,
|
||||
"auth": "form",
|
||||
"theme": "auto",
|
||||
"tempUnits": "c",
|
||||
"lang": "auto",
|
||||
"platform": "config",
|
||||
"scheduledBackupDisable": true
|
||||
},
|
||||
{
|
||||
"name": "Ness",
|
||||
"host": "192.168.1.2",
|
||||
"port": 2401,
|
||||
"keypadCode": "7691",
|
||||
"verboseLog": false,
|
||||
"excludeModes": [
|
||||
"Home"
|
||||
],
|
||||
"outputs": [
|
||||
{
|
||||
"id": 1,
|
||||
"label": "Garage Door - Internal"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"label": "Garage Door - External"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"label": "Foyer Entry Door"
|
||||
}
|
||||
],
|
||||
"zones": [
|
||||
{
|
||||
"id": 1,
|
||||
"label": "Foyer",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"label": "Garage",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"label": "Bed 1/2 Hall",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"label": "Rumpus",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"label": "Bed 1",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"label": "Bed 2",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"label": "Bed 3",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"label": "Bed 4",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"label": "Living",
|
||||
"type": "motion"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"label": "Sitting",
|
||||
"type": "motion"
|
||||
}
|
||||
],
|
||||
"platform": "NessD16x"
|
||||
},
|
||||
{
|
||||
"name": "CameraUI",
|
||||
"port": 8081,
|
||||
"atHomeSwitch": true,
|
||||
"logLevel": "info",
|
||||
"mqtt": {
|
||||
"active": false,
|
||||
"tls": false,
|
||||
"port": 1883
|
||||
},
|
||||
"http": {
|
||||
"active": false,
|
||||
"port": 7272,
|
||||
"localhttp": false
|
||||
},
|
||||
"smtp": {
|
||||
"active": false,
|
||||
"port": 2727,
|
||||
"space_replace": "+"
|
||||
},
|
||||
"ftp": {
|
||||
"active": false,
|
||||
"useFile": false,
|
||||
"port": 5050
|
||||
},
|
||||
"ssl": {
|
||||
"active": false
|
||||
},
|
||||
"options": {
|
||||
"videoProcessor": "/usr/lib/node_modules/homebridge-camera-ui/node_modules/ffmpeg-for-homebridge/ffmpeg"
|
||||
},
|
||||
"cameras": [
|
||||
{
|
||||
"name": "Foyer",
|
||||
"motion": true,
|
||||
"motionTimeout": 15,
|
||||
"unbridge": true,
|
||||
"hsv": true,
|
||||
"prebuffering": true,
|
||||
"prebufferLength": 4,
|
||||
"videoConfig": {
|
||||
"source": "-i rtsp://admin:Collictai1@192.168.1.15:88/videoMain",
|
||||
"subSource": "-i rtsp://admin:Collictai1@192.168.1.15:88/videoSub",
|
||||
"stillImageSource": "-i rtsp://admin:Collictai1@192.168.1.15:88/videoMain",
|
||||
"vcodec": "copy",
|
||||
"acodec": "libfdk_aac",
|
||||
"audio": false
|
||||
},
|
||||
"smtp": {
|
||||
"email": "Foyer"
|
||||
},
|
||||
"videoanalysis": {
|
||||
"active": true
|
||||
},
|
||||
"mqtt": {}
|
||||
}
|
||||
],
|
||||
"platform": "CameraUI"
|
||||
}
|
||||
],
|
||||
"accessories": []
|
||||
}
|
||||
49
florida/homebridge/docker-compose.yml
Normal file
49
florida/homebridge/docker-compose.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
version: '3'
|
||||
name: florida_homebridge
|
||||
services:
|
||||
cgate:
|
||||
container_name: florida_homebridge_cgate
|
||||
build: ./cgate
|
||||
network_mode: host
|
||||
# ports:
|
||||
# - 20023:20023
|
||||
# - 20024:20024
|
||||
# - 20025:20025
|
||||
# - 20026:20026
|
||||
# - 20123:20123
|
||||
volumes:
|
||||
- cgate_config:/cgate/config
|
||||
- cgate_tag:/cgate/tag
|
||||
- cgate_logs:/cgate/logs
|
||||
restart: unless-stopped
|
||||
harmony:
|
||||
container_name: florida_homebridge_harmony
|
||||
build: ./harmony
|
||||
network_mode: host
|
||||
# ports:
|
||||
# - 8282:8282
|
||||
restart: unless-stopped
|
||||
server:
|
||||
container_name: florida_homebridge_server
|
||||
build: ./server
|
||||
network_mode: host
|
||||
restart: always
|
||||
volumes:
|
||||
- homebridge:/homebridge
|
||||
# make UI updates persistent
|
||||
- homebridge_opt:/opt
|
||||
- ./server/plugins:/tmp/plugins
|
||||
depends_on:
|
||||
- cgate
|
||||
- harmony
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "10mb"
|
||||
|
||||
volumes:
|
||||
cgate_config:
|
||||
cgate_tag:
|
||||
cgate_logs:
|
||||
homebridge:
|
||||
homebridge_opt:
|
||||
13
florida/homebridge/harmony/Dockerfile
Normal file
13
florida/homebridge/harmony/Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
||||
# build harmony-api
|
||||
FROM jonmaddox/harmony-api as harmony
|
||||
FROM node:20.19.3 as node
|
||||
RUN mkdir -p /app
|
||||
COPY --from=harmony /usr/src/app /app
|
||||
WORKDIR /app
|
||||
RUN /bin/rm -rf node_modules
|
||||
RUN apt-get -y update && apt-get -y install npm
|
||||
RUN npm install
|
||||
COPY config/config.json /config/config.json
|
||||
ENV CONFIG_DIR /config
|
||||
EXPOSE 8282
|
||||
CMD [ "npm", "start" ]
|
||||
11
florida/homebridge/harmony/config/config.json
Normal file
11
florida/homebridge/harmony/config/config.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"enableHTTPserver": true,
|
||||
"mqtt_host": "mqtt://127.0.0.1",
|
||||
"topic_namespace": "harmony-api",
|
||||
"mqtt_options": {
|
||||
"port": 1883,
|
||||
"username": "someuser",
|
||||
"password": "somepassword",
|
||||
"rejectUnauthorized": false
|
||||
}
|
||||
}
|
||||
26
florida/homebridge/harmony/config/package.json
Normal file
26
florida/homebridge/harmony/config/package.json
Normal file
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"name": "harmony-api",
|
||||
"version": "2.3.5",
|
||||
"description": "A simple server providing a RESTful and MQTT based service for controlling and monitoring Harmony Hubs.",
|
||||
"scripts": {
|
||||
"start": "node app.js"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/maddox/harmony-api"
|
||||
},
|
||||
"author": "Jon Maddox <jon@jonmaddox.com>",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/maddox/harmony-api/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "^4.12.4",
|
||||
"morgan": "^1.6.1",
|
||||
"body-parser": "^1.12.4",
|
||||
"harmonyhubjs-client": "^1.1.0",
|
||||
"harmonyhubjs-discover": "^1.0.2",
|
||||
"parameterize": "^0.0.7",
|
||||
"mqtt": "^1.4.1"
|
||||
}
|
||||
}
|
||||
10
florida/homebridge/server/Dockerfile
Normal file
10
florida/homebridge/server/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
# build homebridge
|
||||
FROM homebridge/homebridge:latest
|
||||
RUN apt-get -y update && apt-get -y install telnet nmap ed nano lsof
|
||||
|
||||
# custom init will copy local plugins to homebridge
|
||||
COPY init /tmp/init
|
||||
RUN chmod a+x /tmp/init
|
||||
|
||||
ENTRYPOINT ["/tmp/init"]
|
||||
|
||||
Submodule florida/homebridge/server/code/homebridge-anekol-echonet-lite added at b8c8fcafc4
Submodule florida/homebridge/server/code/homebridge-echonet-lite-eolia added at 200eca100b
Submodule florida/homebridge/server/code/homebridge-plugin-template added at 6b24bc5416
9
florida/homebridge/server/init
Normal file
9
florida/homebridge/server/init
Normal file
@@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Homebridge needs to move plugins around during updates so plugins can't be mounted directly
|
||||
echo \n\n\n======================================================================\n\n\n
|
||||
cp -r /tmp/plugins/* /homebridge/node_modules
|
||||
ls -l /homebridge/node_modules
|
||||
echo \n\n\n======================================================================\n\n\n
|
||||
|
||||
exec /init
|
||||
Submodule florida/homebridge/server/plugins/homebridge-anekol-harmony-hub added at 1a2f7fe899
22
florida/samba/docker-compose.yml
Normal file
22
florida/samba/docker-compose.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
version: '3.3'
|
||||
name: florida_samba
|
||||
services:
|
||||
samba:
|
||||
container_name: florida_samba
|
||||
# https://github.com/awlx/samba-timemachine
|
||||
image: awlnx/samba-timemachine:latest
|
||||
ports:
|
||||
# use 10445 is there are conflicts with macOS system samba server
|
||||
# but then will have to specifically add :10465 to any server spec
|
||||
# for time machone to find
|
||||
# - 10445:445
|
||||
- 465:465
|
||||
environment:
|
||||
USER: timemachine
|
||||
PASS: Collictai1
|
||||
USERID: 1002
|
||||
GROUPID: 1002
|
||||
volumes:
|
||||
- /backups/timemachine:/backups:rw
|
||||
restart: unless-stopped
|
||||
tty: true
|
||||
24
up
Executable file
24
up
Executable file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# bring system services up
|
||||
#
|
||||
SYS=/srv/sys
|
||||
cd $SYS
|
||||
|
||||
up() {
|
||||
#ensure updated image
|
||||
DIR=$1
|
||||
shift;
|
||||
docker compose -f $DIR/docker-compose.yml build --pull
|
||||
# docker compose -f $1/docker-compose.yml up -d --force-recreate
|
||||
# docker compose --remove-orphans --progress=plain -f $DIR/docker-compose.yml up -d
|
||||
docker compose -f $DIR/docker-compose.yml up -d
|
||||
}
|
||||
|
||||
if [ $1 ]
|
||||
then
|
||||
up $1
|
||||
else
|
||||
up "florida/samba"
|
||||
up "florida/homebridge"
|
||||
fi
|
||||
Reference in New Issue
Block a user