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