first commit from PC
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
keeweb:
|
||||
container_name: keeweb.alm.lan
|
||||
restart: always
|
||||
image: antelle/keeweb:latest
|
||||
command: nginx
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.212
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.212
|
||||
searxng:
|
||||
container_name: searxng.alm.lan
|
||||
restart: always
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/searxng
|
||||
image: searxng
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.210
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.210
|
||||
tor-relay1:
|
||||
container_name: tor-relay1.alm.lan
|
||||
restart: always
|
||||
env_file: /home/${USER}/docker/builds/relay1.env
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/tor-relay
|
||||
image: tor-relay
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.211
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.211
|
||||
tor-relay2:
|
||||
container_name: tor-relay2.alm.lan
|
||||
restart: always
|
||||
env_file: /home/${USER}/docker/builds/relay2.env
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/tor-relay
|
||||
image: tor-relay
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.213
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.213
|
||||
webdav:
|
||||
container_name: webdav.alm.lan
|
||||
restart: always
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/webdav
|
||||
image: webdav
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.214
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.214
|
||||
volumes:
|
||||
- /mnt/stream/docker/webdav:/var/www/html:rw
|
||||
squid:
|
||||
container_name: squid.alm.lan
|
||||
restart: always
|
||||
image: ubuntu/squid
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.216
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.216
|
||||
nagios:
|
||||
container_name: nagios.alm.lan
|
||||
restart: always
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/my-nagios
|
||||
image: my-nagios
|
||||
volumes:
|
||||
- /mnt/stream/docker/nagios:/usr/local/nagios/etc
|
||||
- /mnt/3cx-backup:/mnt/3cx-backup
|
||||
- /home/${USER}/.ssh:/home/nagios/.ssh
|
||||
extra_hosts:
|
||||
- "vhost.docker.lan:192.168.250.254"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.215
|
||||
docker.lan:
|
||||
ipv4_address: 192.168.250.215
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.215
|
||||
devices:
|
||||
- "/dev/net/tun:/dev/net/tun"
|
||||
cap_add:
|
||||
- "net_admin"
|
||||
portainer:
|
||||
container_name: portainer.alm.lan
|
||||
restart: always
|
||||
image: portainer/portainer-ce
|
||||
ports:
|
||||
- 9443:443
|
||||
- 9000:80
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.231
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.231
|
||||
pihole2:
|
||||
container_name: pihole2.alm.lan
|
||||
restart: always
|
||||
build:
|
||||
context: /home/${USER}/docker/builds/pihole
|
||||
image: pihole-new
|
||||
volumes:
|
||||
- /mnt/stream/docker/openvpn/server.conf:/etc/openvpn
|
||||
- /mnt/stream/docker/ovpns:/home/pi/ovpns
|
||||
- /home/${USER}/.ssh:/home/pi/.ssh
|
||||
extra_hosts:
|
||||
- "stream.docker.lan:192.168.250.254"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.252
|
||||
docker.lan:
|
||||
ipv4_address: 192.168.250.252
|
||||
environment:
|
||||
TZ: 'Australia/Brisbane'
|
||||
devices:
|
||||
- "/dev/net/tun:/dev/net/tun"
|
||||
cap_add:
|
||||
- "net_admin"
|
||||
networks:
|
||||
alm.lan:
|
||||
name: alm.lan
|
||||
driver: ipvlan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
parent: "enp0s3"
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.8.0/24
|
||||
gateway: 192.168.8.254
|
||||
docker.lan:
|
||||
name: docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.250.0/24
|
||||
gateway: 192.168.250.254
|
||||
nagios.docker.lan:
|
||||
name: nagios.docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.249.0/24
|
||||
gateway: 192.168.249.254
|
||||
@@ -0,0 +1,134 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
tor-relay1:
|
||||
container_name: tor-relay1.alm.lan
|
||||
restart: always
|
||||
env_file: /home/${USER}/docker/builds/relay1.env
|
||||
image: registry.alm.lan/tor-relay
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
volumes:
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.211
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.211
|
||||
tor-relay2:
|
||||
container_name: tor-relay2.alm.lan
|
||||
restart: always
|
||||
env_file: /home/${USER}/docker/builds/relay2.env
|
||||
image: registry.alm.lan/tor-relay
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
volumes:
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.213
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.213
|
||||
nagios:
|
||||
container_name: nagios.alm.lan
|
||||
restart: always
|
||||
image: registry.alm.lan/nagios
|
||||
volumes:
|
||||
- /mnt/stream/docker/nagios:/usr/local/nagios/etc
|
||||
- /mnt/3cx-backup:/mnt/3cx-backup
|
||||
- /home/${USER}/.ssh:/home/nagios/.ssh
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
extra_hosts:
|
||||
- "vhost.docker.lan:192.168.250.254"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.215
|
||||
docker.lan:
|
||||
ipv4_address: 192.168.250.215
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.215
|
||||
devices:
|
||||
- "/dev/net/tun:/dev/net/tun"
|
||||
cap_add:
|
||||
- "net_admin"
|
||||
pihole2:
|
||||
container_name: pihole2.alm.lan
|
||||
restart: always
|
||||
image: registry.alm.lan/pihole
|
||||
volumes:
|
||||
- pivpn-etc:/etc/openvpn
|
||||
- pivpn-ovpns:/home/pi/ovpns
|
||||
- /home/${USER}/.ssh:/home/pi/.ssh
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
- pihole-dnsmasq:/etc/dnsmasq.d
|
||||
- pihole-etc:/etc/pihole
|
||||
extra_hosts:
|
||||
- "stream.docker.lan:192.168.250.254"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.252
|
||||
docker.lan:
|
||||
ipv4_address: 192.168.250.252
|
||||
environment:
|
||||
TZ: 'Australia/Brisbane'
|
||||
devices:
|
||||
- "/dev/net/tun:/dev/net/tun"
|
||||
cap_add:
|
||||
- "net_admin"
|
||||
volumes:
|
||||
pihole-etc:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/pihole/etc"
|
||||
o: "addr=nfs.alm.lan,rw,nfsvers=4,async"
|
||||
pihole-dnsmasq:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/pihole/dnsmasq.d"
|
||||
o: "addr=nfs.alm.lan,rw,nfsvers=4,async"
|
||||
pivpn-ovpns:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/pivpn/ovpns"
|
||||
o: "addr=nfs.alm.lan,rw,nfsvers=4,async"
|
||||
pivpn-etc:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/pivpn/etc"
|
||||
o: "addr=nfs.alm.lan,rw,nfsvers=4,async"
|
||||
networks:
|
||||
alm.lan:
|
||||
name: alm.lan
|
||||
driver: ipvlan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
parent: "enp0s3"
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.8.0/24
|
||||
gateway: 192.168.8.254
|
||||
docker.lan:
|
||||
name: docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.250.0/24
|
||||
gateway: 192.168.250.254
|
||||
nagios.docker.lan:
|
||||
name: nagios.docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.249.0/24
|
||||
gateway: 192.168.249.254
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
version: '3.2'
|
||||
|
||||
services:
|
||||
agent:
|
||||
image: portainer/agent
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /var/lib/docker/volumes:/var/lib/docker/volumes
|
||||
networks:
|
||||
- agent_network
|
||||
deploy:
|
||||
mode: global
|
||||
placement:
|
||||
constraints: [node.platform.os == linux]
|
||||
|
||||
portainer:
|
||||
image: portainer/portainer-ce
|
||||
command: -H tcp://tasks.agent:9001 --tlsskipverify
|
||||
ports:
|
||||
- "9443:9443"
|
||||
- "9000:9000"
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- portainer-data:/data:rw
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
networks:
|
||||
- agent_network
|
||||
deploy:
|
||||
mode: replicated
|
||||
placement:
|
||||
constraints: [node.role == manager]
|
||||
|
||||
networks:
|
||||
agent_network:
|
||||
driver: overlay
|
||||
attachable: true
|
||||
volumes:
|
||||
portainer-data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/portainer"
|
||||
o: "addr=192.168.8.231,rw,nfsvers=4,async"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
version: "2.1"
|
||||
services:
|
||||
portainer:
|
||||
container_name: portainer.alm.lan
|
||||
restart: always
|
||||
image: portainer/portainer-ce
|
||||
ports:
|
||||
- 9443:443
|
||||
- 9000:80
|
||||
- 8000:8000
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
extra_hosts:
|
||||
- "nagios.docker.lan:192.168.249.215"
|
||||
networks:
|
||||
alm.lan:
|
||||
ipv4_address: 192.168.8.231
|
||||
nagios.docker.lan:
|
||||
ipv4_address: 192.168.249.231
|
||||
networks:
|
||||
alm.lan:
|
||||
name: alm.lan
|
||||
driver: ipvlan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
parent: "enp0s3"
|
||||
ipam:
|
||||
driver: default
|
||||
config:
|
||||
- subnet: 192.168.8.0/24
|
||||
gateway: 192.168.8.254
|
||||
docker.lan:
|
||||
name: docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.250.0/24
|
||||
gateway: 192.168.250.254
|
||||
nagios.docker.lan:
|
||||
name: nagios.docker.lan
|
||||
driver_opts:
|
||||
com.docker.network.enable_ipv6: "false"
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 192.168.249.0/24
|
||||
gateway: 192.168.249.254
|
||||
|
||||
Executable
+40
@@ -0,0 +1,40 @@
|
||||
#!/bin/bash
|
||||
APP="app"
|
||||
QM=0
|
||||
usage() {
|
||||
echo "Usage: $0 [-p project name. default is app] and [-q quiet mode optional list compose services to recreate]" 1>&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
while getopts "p:q:h" o; do
|
||||
case "${o}" in
|
||||
p)
|
||||
APP=${OPTARG}
|
||||
;;
|
||||
q)
|
||||
SERVICES=${OPTARG}
|
||||
QM=1
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
shift $((OPTIND-1))
|
||||
|
||||
|
||||
#if [[ $QM == 1 ]] && [ -z "${q}" ]; then
|
||||
# usage
|
||||
#fi
|
||||
pushd ~/docker
|
||||
if [ $QM = 0 ]; then
|
||||
docker-compose ps --services
|
||||
read -p "Enter services to recreate... " SERVICES
|
||||
fi
|
||||
for SERVICE in $SERVICES
|
||||
do
|
||||
docker-compose -p $APP stop $SERVICE
|
||||
docker-compose -p $APP rm -f $SERVICE
|
||||
docker-compose -p $APP up -d $SERVICE
|
||||
done
|
||||
popd
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
/mnt/docker-persistent-data/recreate-containers.sh -q "nextcloud nextcloud_db"
|
||||
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
/mnt/docker-persistent-data/recreate-containers.sh -q "passbolt passbolt_db"
|
||||
Executable
+6
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
pushd ~/docker
|
||||
docker-compose pull
|
||||
docker-compose -p app up -d
|
||||
docker system prune -f
|
||||
popd
|
||||
@@ -0,0 +1,17 @@
|
||||
FROM debian:latest
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV AUTOSSH_DEBUG=1
|
||||
ENV AUTOSSH_LOGFILE=/root/log/autossh_log_file.log
|
||||
RUN apt-get update && apt-get upgrade -y && apt-get install -y autossh
|
||||
RUN mkdir /root/.ssh /root/log
|
||||
CMD [ "autossh \
|
||||
-R nextcloud.lan.ddnsgeek.com:80:localhost:8083 \
|
||||
-R nextcloud.lan.ddnsgeek.com:443:localhost:4433 \
|
||||
-R passbolt.lan.ddnsgeek.com:443:localhost:4432 \
|
||||
-R passbolt.lan.ddnsgeek.com:80:localhost:8082 \
|
||||
-R webdav.lan.ddnsgeek.com:80:localhost:8080 \
|
||||
-R searxng.lan.ddnsgeek.com:80:localhost:8081 \
|
||||
-E /home/wayne/ssh_log_file.log \
|
||||
-o ServerAliveInterval 10 -o ServerAliveCountMax 3 \
|
||||
-i /home/wayne/.ssh/id_rsa -N -f serveo.net" ]
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
version: "3"
|
||||
services:
|
||||
server:
|
||||
hostname: autossh.sweet.home
|
||||
image: farmcoolcow/autossh
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile
|
||||
# volumes:
|
||||
# - .:/etc/unbound/unbound.conf.d
|
||||
restart: always
|
||||
# network_mode: host
|
||||
# privileged: true
|
||||
labels:
|
||||
- "io.portainer.accesscontrol.public"
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
command:
|
||||
- -R nextcloud.lan.ddnsgeek.com:80:localhost:8083 \
|
||||
-E /home/wayne/ssh_log_file.log" \
|
||||
-o "ServerAliveInterval 10" \
|
||||
-o "ServerAliveCountMax 3" \
|
||||
-i /home/wayne/.ssh/id_rsa \
|
||||
-N -f serveo.net
|
||||
environment:
|
||||
- AUTOSSH_DEBUG=1
|
||||
- AUTOSSH_LOGFILE=/home/wayne/autossh_log_file.log
|
||||
volumes:
|
||||
- ./install:/install
|
||||
@@ -0,0 +1,19 @@
|
||||
FROM snowzach/doods2:latest
|
||||
|
||||
RUN groupadd -r doods && useradd -m -s /bin/bash -d /opt/doods -g doods doods
|
||||
RUN chsh -s /usr/sbin/nologin root
|
||||
|
||||
RUN chown -R doods:doods /opt/doods
|
||||
|
||||
ENV PATH "${PATH}:/opt/doods"
|
||||
|
||||
ENV HOME /opt/doods
|
||||
|
||||
USER doods
|
||||
|
||||
ENTRYPOINT ["python3", "main.py"]
|
||||
CMD ["api"]
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
doods:
|
||||
detectors:
|
||||
- name: default
|
||||
type: tflite
|
||||
modelFile: models/coco_ssd_mobilenet_v1_1.0_quant.tflite
|
||||
labelFile: models/coco_labels0.txt
|
||||
numThreads: 4
|
||||
numConcurrent: 4
|
||||
hwAccel: false
|
||||
@@ -0,0 +1,46 @@
|
||||
version: "3"
|
||||
services:
|
||||
service:
|
||||
# image: "beatzaplenty/doods2"
|
||||
image: snowzach/doods2:latest
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /var
|
||||
- /run
|
||||
hostname: doods.alm.lan
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile
|
||||
|
||||
|
||||
volumes:
|
||||
- ./models/:/opt/doods/models/:rw
|
||||
- ./config.yaml:/opt/doods/config.yaml
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- traefik_default
|
||||
labels:
|
||||
- "io.portainer.accesscontrol.public"
|
||||
- "traefik.http.routers.doods.rule=Host(`doods.lan.ddnsgeek.com`)"
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.doods.entrypoints=websecure"
|
||||
- "traefik.http.routers.doods.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.doods.middlewares=error-pages-middleware"
|
||||
- "traefik.http.services.doods.loadbalancer.server.port=8080"
|
||||
deploy:
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.05'
|
||||
memory: 350m
|
||||
# pids: 2
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
max_attempts: 5
|
||||
healthcheck:
|
||||
test: "curl --fail http://localhost:8080 || exit 1"
|
||||
|
||||
|
||||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
mkdir -p models
|
||||
# coco_ssd_mobilenet_v1_1.0_quant_2018_06_29
|
||||
wget https://storage.googleapis.com/download.tensorflow.org/models/tflite/coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip && unzip coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip && rm coco_ssd_mobilenet_v1_1.0_quant_2018_06_29.zip && mv detect.tflite models/coco_ssd_mobilenet_v1_1.0_quant.tflite && rm labelmap.txt
|
||||
wget https://dl.google.com/coral/canned_models/coco_labels.txt && mv coco_labels.txt models/coco_labels0.txt
|
||||
# mobilenet_ssd_v2_coco_quant_postprocess_edgetpu
|
||||
wget https://dl.google.com/coral/canned_models/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite && mv mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite models/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite
|
||||
# faster_rcnn_inception_v2_coco_2018_01_28
|
||||
wget http://download.tensorflow.org/models/object_detection/faster_rcnn_inception_v2_coco_2018_01_28.tar.gz && tar -zxvf faster_rcnn_inception_v2_coco_2018_01_28.tar.gz faster_rcnn_inception_v2_coco_2018_01_28/frozen_inference_graph.pb --strip=1 && mv frozen_inference_graph.pb models/faster_rcnn_inception_v2_coco_2018_01_28.pb && rm faster_rcnn_inception_v2_coco_2018_01_28.tar.gz
|
||||
wget https://raw.githubusercontent.com/amikelive/coco-labels/master/coco-labels-2014_2017.txt && mv coco-labels-2014_2017.txt models/coco_labels1.txt
|
||||
|
||||
cat << EOF > example.yaml
|
||||
doods:
|
||||
detectors:
|
||||
- name: default
|
||||
type: tflite
|
||||
modelFile: models/coco_ssd_mobilenet_v1_1.0_quant.tflite
|
||||
labelFile: models/coco_labels0.txt
|
||||
numThreads: 0
|
||||
numConcurrent: 4
|
||||
- name: edgetpu
|
||||
type: tflite
|
||||
modelFile: models/mobilenet_ssd_v2_coco_quant_postprocess_edgetpu.tflite
|
||||
labelFile: models/coco_labels0.txt
|
||||
numThreads: 0
|
||||
numConcurrent: 4
|
||||
hwAccel: true
|
||||
- name: tensorflow
|
||||
type: tensorflow
|
||||
modelFile: models/faster_rcnn_inception_v2_coco_2018_01_28.pb
|
||||
labelFile: models/coco_labels1.txt
|
||||
width: 224
|
||||
height: 224
|
||||
numThreads: 0
|
||||
numConcurrent: 4
|
||||
EOF
|
||||
Executable
+2
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
echo url="https://api.dynu.com/nic/update?location=linode&username=beatzaplenty&password=pf4!*mUjV177UG1" | curl -k -o /var/log/dynu.log -K -
|
||||
@@ -0,0 +1,17 @@
|
||||
FROM ghcr.io/esphome/esphome
|
||||
|
||||
RUN groupadd -r esphome && useradd -m -s /bin/bash -d /home/esphome -g esphome esphome
|
||||
RUN chsh -s /usr/sbin/nologin root
|
||||
|
||||
RUN chown -R esphome:esphome /home/esphome
|
||||
RUN chown -R esphome:esphome /config
|
||||
RUN chown -R esphome:esphome /piolibs
|
||||
|
||||
#ENV PATH "${PATH}:/opt/doods"
|
||||
|
||||
ENV HOME /home/esphome
|
||||
|
||||
USER esphome
|
||||
|
||||
# ENTRYPOINT ["python3", "main.py"]
|
||||
# CMD ["api"]
|
||||
Executable
+47
@@ -0,0 +1,47 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONFIG="default_configuration.yaml"
|
||||
|
||||
FILE=$1
|
||||
|
||||
#Insert version number
|
||||
|
||||
awk '/type: arduino/{print $0 RS " version: 2.0.6";next}1' $FILE > tmp
|
||||
rm $FILE
|
||||
mv tmp $FILE
|
||||
|
||||
#remove random ota password
|
||||
|
||||
sed '20d' $FILE > tmp
|
||||
rm $FILE
|
||||
mv tmp $FILE
|
||||
|
||||
#Insert ota password
|
||||
|
||||
awk '/ota:/{print $0 RS " password: !secret ota_password";next}1' $FILE > tmp
|
||||
rm $FILE
|
||||
mv tmp $FILE
|
||||
|
||||
#remove default wifi config
|
||||
|
||||
sed '23d;24d' $FILE > tmp
|
||||
rm $FILE
|
||||
mv tmp $FILE
|
||||
|
||||
#Insert wifi Config
|
||||
|
||||
ed $FILE <<END
|
||||
22a
|
||||
$(sed -n 2,7p $CONFIG)
|
||||
.
|
||||
wq
|
||||
END
|
||||
|
||||
# Append remaining config
|
||||
|
||||
ed $FILE <<END
|
||||
36a
|
||||
$(sed -n 8,25p $CONFIG)
|
||||
.
|
||||
wq
|
||||
END
|
||||
Executable
+5
@@ -0,0 +1,5 @@
|
||||
# Gitignore settings for ESPHome
|
||||
# This is an example and may include too much for your use-case.
|
||||
# You can modify this file to suit your needs.
|
||||
/.esphome/
|
||||
/secrets.yaml
|
||||
@@ -0,0 +1,238 @@
|
||||
esphome:
|
||||
name: esphome-garage
|
||||
friendly_name: esphome garage
|
||||
|
||||
esp32:
|
||||
board: esp32-s3-devkitc-1
|
||||
framework:
|
||||
type: arduino
|
||||
version: 2.0.6
|
||||
external_components:
|
||||
- source: github://Jorre05/remote_receiver
|
||||
components: [ remote_receiver ]
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: "JSYF44AI5ggGlJbuezald9//7NzOqQ0xeixs2NeEna8="
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
wifi:
|
||||
networks:
|
||||
- ssid: !secret ssid_garage
|
||||
password: !secret wifi_password
|
||||
- ssid: !secret ssid_house
|
||||
password: !secret wifi_password
|
||||
domain: .alm.lan
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "Esphome-Garage Fallback Hotspot"
|
||||
password: "TxX9BHoIG7GT"
|
||||
|
||||
captive_portal:
|
||||
|
||||
time:
|
||||
- platform: homeassistant
|
||||
id: homeassistant_time
|
||||
timezone: Australia/Brisbane
|
||||
|
||||
remote_receiver:
|
||||
pin:
|
||||
number: 40
|
||||
inverted: true
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
rmt_channel: 5
|
||||
dump: raw
|
||||
buffer_size: 20kb
|
||||
tolerance: 50%
|
||||
filter: 250us
|
||||
idle: 4ms
|
||||
|
||||
remote_transmitter:
|
||||
pin:
|
||||
number: 42
|
||||
# Infrared remotes use a 50% carrier signal
|
||||
carrier_duty_percent: 50%
|
||||
|
||||
binary_sensor:
|
||||
|
||||
- platform: status
|
||||
name: "Availibility"
|
||||
|
||||
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
name: "Motion Detection"
|
||||
|
||||
sensor:
|
||||
- platform: wifi_signal
|
||||
name: "WiFi Signal Strength"
|
||||
update_interval: 60s
|
||||
- platform: uptime
|
||||
name: Uptime
|
||||
- platform: internal_temperature
|
||||
name: "Internal Temperature"
|
||||
|
||||
|
||||
button:
|
||||
- platform: restart
|
||||
name: "Reset"
|
||||
- platform: template
|
||||
id: sound_bar_mute
|
||||
name: Sound Bar Mute
|
||||
icon: "mdi:volume-mute"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9165, -4370, 709, -1563, 698, -1549, 700, -1547, 701, -1546, 700, -1547, 697, -435, 705, -1546, 697, -1550, 695, -439, 703, -1547, 697, -1550, 701, -431, 700, -438, 701, -1551, 698, -431, 705, -1550, 696, -434, 706, -537, 705, -1442, 699, -1442, 697, -544, 704, -1546, 698, -1443, 700, -430, 709, -1543, 702, -1441, 701, -537, 709, -532, 707, -1435, 708, -430, 704, -534, 709, -1539, 709]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
carrier_frequency: 38kHz
|
||||
code: [9167,-2118,729]
|
||||
repeat:
|
||||
times: 5
|
||||
# wait_time: 240ms
|
||||
- platform: template
|
||||
id: sound_bar_vol_up
|
||||
name: Sound Bar Vol +
|
||||
icon: "mdi:volume-plus"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9149, -4385, 687, -1581, 670, -1577, 670, -1577, 668, -1579, 670, -1577, 672, -455, 680, -1577, 670, -1578, 669, -460, 680, -1576, 669, -1578, 670, -462, 675, -460, 676, -1579, 668, -463, 674, -1579, 670, -462, 675, -1577, 669, -460, 677, -462, 674, -1579, 668, -1579, 668, -465, 672, -464, 672, -1578, 670, -464, 672, -1578, 670, -1577, 667, -467, 670, -467, 670, -1579, 668, -1579, 669]
|
||||
carrier_frequency: 38kHz
|
||||
- platform: template
|
||||
id: sound_bar_vol_down
|
||||
name: Sound Bar Vol -
|
||||
icon: "mdi:volume-minus"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9151, -4389, 685, -1582, 668, -1579, 667, -1580, 667, -1580, 668, -1580, 667, -466, 669, -1582, 667, -1581, 667, -467, 668, -1583, 667, -1580, 667, -467, 669, -468, 670, -1581, 668, -466, 669, -1581, 670, -1577, 669, -464, 670, -468, 668, -468, 669, -1582, 667, -1580, 668, -466, 669, -467, 671, -466, 670, -1580, 668, -1579, 668, -1580, 669, -466, 669, -468, 669, -1580, 668, -1580, 667]
|
||||
carrier_frequency: 38kHz
|
||||
- platform: template
|
||||
id: ac_mode_heat
|
||||
name: AC Mode Heat
|
||||
icon: "mdi:heat-wave"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3626, -3343, 1014, -761, 981, -761, 983, -2471, 1014, -2473, 1013, -761, 981, -733, 1011, -2471, 1014, -761, 982, -760, 983, -761, 981, -2473, 1012, -2474, 1012, -762, 1008, -734, 982, -2474, 1011, -763, 980, -762, 980, -790, 954, -2473, 1013, -2473, 1012, -762, 980, -762, 982, -762, 981, -761, 982, -762, 981, -761, 982, -2472, 1014, -2472, 1013, -762, 980, -761, 958, -784, 958, -785, 3596, -3347, 987, -782, 961, -782, 982, -2477, 986, -2500, 1009, -758, 985, -758, 984, -2477, 1009, -758, 984, -759, 984, -738, 1004, -2479, 1035, -2450, 1008, -732, 1014, -729, 1015, -2473, 1013, -727, 1015, -729, 1012, -731, 1012, -2476, 1007, -2478, 1006, -735, 1008, -735, 1006, -737, 1004, -739, 1001, -742, 1027, -717, 997, -2492, 990, -2519, 965, -776, 966, -777, 941, -802, 966, -777, 3552, -3423, 932]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3513, -3457, 900, -840, 902, -841, 903, -2585, 900, -841, 902, -841, 902, -842, 928, -814, 902, -841, 902, -841, 902, -841, 902, -2587, 898, -842, 901, -842, 901, -843, 900, -843, 900, -867, 876, -867, 876, -2611, 875, -2611, 874, -867, 876, -2613, 872, -2613, 873, -868, 902, -841, 875, -868, 876, -2611, 874, -2613, 873, -867, 874, -2615, 873, -2613, 872, -895, 847, -869, 3489, -3512, 845, -895, 848, -895, 848, -2641, 844, -896, 846, -897, 821, -922, 821, -923, 820, -923, 819, -950, 793, -950, 793, -2695, 790, -951, 792, -967, 776, -978, 764, -980, 763, -979, 316]
|
||||
carrier_frequency: 38kHz
|
||||
- platform: template
|
||||
id: ac_mode_cool
|
||||
name: AC Mode Cool
|
||||
icon: "mdi:sun-snowflake"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3625, -3345, 1012, -760, 1010, -2445, 1013, -2474, 1012, -760, 983, -787, 955, -761, 983, -2474, 1011, -786, 957, -760, 984, -2472, 1012, -2473, 1014, -758, 1011, -732, 984, -759, 1011, -2446, 1013, -758, 984, -759, 985, -2473, 1012, -758, 984, -2474, 1039, -759, 956, -759, 985, -785, 934, -781, 988, -756, 1011, -2448, 985, -784, 960, -2525, 959, -784, 960, -781, 962, -781, 987, -783, 3602, -3319, 1009, -756, 987, -2475, 1010, -2476, 1009, -757, 986, -757, 985, -734, 1009, -2477, 1035, -706, 1011, -758, 986, -2503, 982, -2476, 1008, -732, 1038, -705, 1037, -706, 1009, -2480, 1001, -739, 1005, -738, 1005, -2510, 972, -741, 1000, -2489, 1021, -719, 997, -747, 995, -776, 964, -779, 991, -725, 965, -2547, 939, -801, 940, -2549, 936, -805, 936, -807, 936, -807, 961, -782, 3517, -3459, 898]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3510, -3461, 897, -842, 928, -815, 902, -2587, 898, -843, 901, -870, 872, -868, 902, -840, 903, -840, 876, -867, 875, -895, 855, -2606, 873, -868, 875, -868, 902, -841, 875, -869, 874, -868, 875, -869, 875, -2613, 872, -2640, 874, -841, 874, -2614, 862, -2625, 843, -922, 822, -922, 820, -950, 793, -2668, 587, -2926, 271]
|
||||
carrier_frequency: 38kHz
|
||||
- platform: template
|
||||
id: ac_mode_dry
|
||||
name: AC Mode Dry
|
||||
icon: "mdi:air-filter"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3628, -3344, 989, -2495, 991, -2494, 991, -781, 962, -2495, 989, -2496, 990, -2496, 989, -2497, 1013, -2472, 989, -2497, 988, -2498, 989, -782, 960, -2496, 989, -2497, 989, -2497, 990, -2496, 989, -2495, 991, -2496, 989, -2496, 990, -780, 962, -2496, 989, -781, 986, -756, 988, -755, 962, -781, 986, -2473, 1013, -2473, 1012, -755, 964, -2498, 1010, -757, 987, -755, 986, -756, 987, -734, 3621, -3351, 1008, -2476, 1011, -2475, 1010, -731, 1011, -2478, 1006, -2479, 1004, -2482, 1002, -2483, 1003, -2483, 1002, -2483, 1000, -2486, 998, -742, 1001, -2487, 996, -2489, 996, -2491, 994, -2491, 992, -2495, 990, -2495, 965, -2522, 964, -778, 964, -2547, 937, -803, 940, -803, 938, -805, 936, -808, 934, -2554, 931, -2554, 930, -811, 929, -2560, 899, -842, 901, -842, 901, -841, 902, -841, 3516, -3459, 899]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3511, -3458, 900, -841, 902, -841, 901, -2587, 899, -843, 900, -842, 901, -843, 899, -844, 900, -867, 875, -868, 875, -868, 876, -2612, 873, -868, 875, -868, 875, -868, 875, -868, 876, -868, 881, -861, 876, -2612, 873, -2613, 873, -867, 875, -2614, 872, -2614, 871, -870, 850, -893, 847, -897, 845, -2668, 818, -2667, 819, -922, 820, -2668, 817, -2670, 761, -1006, 592, -1152, 412]
|
||||
carrier_frequency: 38kHz
|
||||
- platform: template
|
||||
id: ac_mode_auto
|
||||
name: AC Mode Auto
|
||||
icon: "mdi:auto-mode"
|
||||
on_press:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3602, -3368, 989, -782, 961, -782, 960, -2496, 989, -2496, 990, -782, 961, -2496, 988, -2498, 989, -782, 960, -783, 959, -784, 984, -2473, 987, -2498, 1012, -760, 983, -2474, 988, -2498, 1000, -769, 982, -2477, 986, -784, 983, -2476, 1012, -2473, 993, -777, 984, -759, 984, -759, 960, -783, 983, -2476, 985, -784, 959, -2500, 985, -2501, 1008, -761, 958, -760, 1008, -734, 1007, -734, 3624, -3350, 1009, -731, 1010, -733, 1010, -2476, 1011, -2476, 1011, -730, 1011, -2477, 1008, -2478, 1006, -734, 1007, -736, 1007, -735, 1005, -2483, 1003, -2484, 1001, -739, 1001, -2486, 1000, -2487, 998, -743, 974, -2513, 996, -745, 995, -2492, 994, -2492, 968, -773, 970, -773, 968, -775, 967, -776, 967, -2522, 963, -777, 966, -2522, 963, -2524, 961, -781, 961, -805, 937, -806, 936, -807, 3519, -3456, 902]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3512, -3458, 899, -841, 902, -841, 901, -2587, 899, -842, 901, -842, 901, -842, 901, -842, 909, -834, 903, -840, 902, -841, 903, -2586, 899, -841, 902, -840, 902, -842, 901, -841, 903, -841, 901, -842, 902, -2587, 898, -2587, 899, -842, 901, -2587, 898, -2588, 898, -867, 876, -867, 875, -868, 875, -2613, 873, -2613, 872, -869, 873, -2614, 847, -2640, 852, -889, 848, -894, 3136, -3840, 845, -895, 847, -896, 854, -2634, 843, -924, 629, -1114, 601, -1142, 491, -1252, 462, -1282, 326, -1417, 356, -1387, 301, -3187, 352, -1415, 245, -1499, 200]
|
||||
carrier_frequency: 38kHz
|
||||
|
||||
switch:
|
||||
- platform: template
|
||||
id: sound_bar_power
|
||||
name: Sound Bar Power
|
||||
icon: "mdi:power"
|
||||
turn_on_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9189, -4346, 727, -1546, 709, -1539, 712, -1535, 707, -1540, 707, -1541, 708, -416, 719, -1541, 708, -1540, 707, -416, 720, -1541, 704, -1544, 705, -418, 718, -416, 722, -1543, 706, -415, 721, -1542, 706, -415, 721, -1541, 706, -416, 721, -415, 724, -1539, 707, -418, 720, -415, 724, -416, 723, -1531, 713, -414, 722, -1533, 718, -1528, 720, -412, 722, -1529, 719, -1528, 720, -1527, 721]
|
||||
carrier_frequency: 38kHz
|
||||
- switch.template.publish:
|
||||
id: sound_bar_power
|
||||
state: ON
|
||||
turn_off_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9189, -4346, 727, -1546, 709, -1539, 712, -1535, 707, -1540, 707, -1541, 708, -416, 719, -1541, 708, -1540, 707, -416, 720, -1541, 704, -1544, 705, -418, 718, -416, 722, -1543, 706, -415, 721, -1542, 706, -415, 721, -1541, 706, -416, 721, -415, 724, -1539, 707, -418, 720, -415, 724, -416, 723, -1531, 713, -414, 722, -1533, 718, -1528, 720, -412, 722, -1529, 719, -1528, 720, -1527, 721]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
carrier_frequency: 38kHz
|
||||
code: [9143, -2145, 687]
|
||||
repeat:
|
||||
times: 5
|
||||
wait_time: 240ms
|
||||
- switch.template.publish:
|
||||
id: sound_bar_power
|
||||
state: OFF
|
||||
- platform: template
|
||||
id: soniq_power
|
||||
name: TV Power
|
||||
icon: "mdi:power"
|
||||
turn_on_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9098, -4473, 716, -455, 692, -1593, 698, -459, 700, -457, 694, -1592, 699, -1589, 700, -1591, 690, -466, 700, -1560, 688, -483, 690, -1575, 699, -1592, 690, -1599, 693, -482, 703, -1569, 691, -1594, 692, -487, 690, -1579, 684, -1599, 693, -1595, 699, -480, 691, -463, 697, -463, 692, -460, 693, -1576, 695, -481, 679, -476, 690, -468, 695, -1574, 678, -1604, 689, -1597, 686, -1603, 684]
|
||||
carrier_frequency: 38kHz
|
||||
repeat:
|
||||
times: 2
|
||||
wait_time: 5ms
|
||||
- switch.template.publish:
|
||||
id: soniq_power
|
||||
state: ON
|
||||
turn_off_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [9098, -4473, 716, -455, 692, -1593, 698, -459, 700, -457, 694, -1592, 699, -1589, 700, -1591, 690, -466, 700, -1560, 688, -483, 690, -1575, 699, -1592, 690, -1599, 693, -482, 703, -1569, 691, -1594, 692, -487, 690, -1579, 684, -1599, 693, -1595, 699, -480, 691, -463, 697, -463, 692, -460, 693, -1576, 695, -481, 679, -476, 690, -468, 695, -1574, 678, -1604, 689, -1597, 686, -1603, 684]
|
||||
carrier_frequency: 38kHz
|
||||
repeat:
|
||||
times: 2
|
||||
wait_time: 5ms
|
||||
- switch.template.publish:
|
||||
id: soniq_power
|
||||
state: OFF
|
||||
- platform: template
|
||||
id: ac_power
|
||||
name: AC Power
|
||||
icon: "mdi:power"
|
||||
turn_on_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3613, -3358, 1000, -2486, 997, -2489, 1000, -767, 976, -2486, 1003, -760, 985, -2480, 995, -768, 982, -760, 977, -2493, 991, -2490, 996, -767, 976, -2490, 995, -763, 980, -2491, 995, -764, 981, -762, 983, -760, 983, -760, 986, -2484, 991, -767, 982, -760, 979, -768, 978, -761, 975, -767, 983, -760, 988, -755, 978, -2493, 992, -765, 974, -769, 982, -761, 980, -762, 980, -766, 3589, -3366, 992, -2493, 992, -2497, 995, -761, 975, -2498, 990, -765, 974, -2500, 982, -763, 983, -760, 982, -2502, 983, -2503, 983, -761, 981, -2511, 974, -762, 976, -2512, 974, -767, 974, -769, 974, -769, 969, -774, 968, -2520, 961, -779, 963, -780, 962, -784, 962, -781, 957, -786, 960, -783, 952, -791, 951, -2537, 948, -797, 942, -801, 941, -806, 937, -806, 929, -814, 3539, -3439, 918]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3526, -3445, 911, -829, 913, -830, 913, -2575, 899, -842, 901, -842, 900, -843, 901, -842, 901, -843, 902, -841, 901, -842, 901, -2587, 899, -842, 901, -842, 900, -843, 903, -840, 901, -842, 903, -840, 902, -2586, 899, -2587, 901, -841, 901, -2587, 900, -2586, 897, -849, 897, -846, 890, -854, 894, -2593, 888, -2598, 892, -854, 884, -2609, 877, -2614, 872, -868, 875, -868, 3489, -3486, 874, -867, 877, -866, 874, -2614, 871, -869, 874, -869, 877, -866, 873, -870, 866, -878, 873, -870, 850, -893, 852, -2637, 842, -909, 802, -941, 797, -947, 771, -972, 776, -967, 776, -977, 743, -2750, 742, -2745, 729, -1011, 715, -2773, 709, -2777, 707]
|
||||
carrier_frequency: 38kHz
|
||||
- switch.template.publish:
|
||||
id: ac_power
|
||||
state: ON
|
||||
turn_off_action:
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3613, -3358, 1000, -2486, 997, -2489, 1000, -767, 976, -2486, 1003, -760, 985, -2480, 995, -768, 982, -760, 977, -2493, 991, -2490, 996, -767, 976, -2490, 995, -763, 980, -2491, 995, -764, 981, -762, 983, -760, 983, -760, 986, -2484, 991, -767, 982, -760, 979, -768, 978, -761, 975, -767, 983, -760, 988, -755, 978, -2493, 992, -765, 974, -769, 982, -761, 980, -762, 980, -766, 3589, -3366, 992, -2493, 992, -2497, 995, -761, 975, -2498, 990, -765, 974, -2500, 982, -763, 983, -760, 982, -2502, 983, -2503, 983, -761, 981, -2511, 974, -762, 976, -2512, 974, -767, 974, -769, 974, -769, 969, -774, 968, -2520, 961, -779, 963, -780, 962, -784, 962, -781, 957, -786, 960, -783, 952, -791, 951, -2537, 948, -797, 942, -801, 941, -806, 937, -806, 929, -814, 3539, -3439, 918]
|
||||
carrier_frequency: 38kHz
|
||||
- remote_transmitter.transmit_raw:
|
||||
code: [3526, -3445, 911, -829, 913, -830, 913, -2575, 899, -842, 901, -842, 900, -843, 901, -842, 901, -843, 902, -841, 901, -842, 901, -2587, 899, -842, 901, -842, 900, -843, 903, -840, 901, -842, 903, -840, 902, -2586, 899, -2587, 901, -841, 901, -2587, 900, -2586, 897, -849, 897, -846, 890, -854, 894, -2593, 888, -2598, 892, -854, 884, -2609, 877, -2614, 872, -868, 875, -868, 3489, -3486, 874, -867, 877, -866, 874, -2614, 871, -869, 874, -869, 877, -866, 873, -870, 866, -878, 873, -870, 850, -893, 852, -2637, 842, -909, 802, -941, 797, -947, 771, -972, 776, -967, 776, -977, 743, -2750, 742, -2745, 729, -1011, 715, -2773, 709, -2777, 707]
|
||||
carrier_frequency: 38kHz
|
||||
- switch.template.publish:
|
||||
id: ac_power
|
||||
state: OFF
|
||||
Executable
+75
@@ -0,0 +1,75 @@
|
||||
esphome:
|
||||
name: esphome-waynes-room
|
||||
friendly_name: ESPhome Wayne's Room
|
||||
|
||||
esp32:
|
||||
board: esp32-s3-devkitc-1
|
||||
framework:
|
||||
type: arduino
|
||||
version: 2.0.6
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: "bZd2q2XkmQH/o/+Jz+gZKMFM8VGA0NRheWp/uYvQRho="
|
||||
|
||||
ota:
|
||||
password: !secret ota_password
|
||||
|
||||
wifi:
|
||||
networks:
|
||||
- ssid: !secret ssid_garage
|
||||
password: !secret wifi_password
|
||||
- ssid: !secret ssid_house
|
||||
password: !secret wifi_password
|
||||
domain: .alm.lan
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "esphome-waynes-room"
|
||||
password: "lHNYq8KWKSJv"
|
||||
|
||||
captive_portal:
|
||||
|
||||
time:
|
||||
- platform: homeassistant
|
||||
id: homeassistant_time
|
||||
timezone: Australia/Brisbane
|
||||
|
||||
i2c:
|
||||
sda: 17
|
||||
scl: 18
|
||||
scan: true
|
||||
id: bus_a
|
||||
|
||||
|
||||
binary_sensor:
|
||||
- platform: status
|
||||
name: "Availibility"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: 8
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
name: "Motion Detection"
|
||||
|
||||
|
||||
sensor:
|
||||
- platform: wifi_signal
|
||||
name: "WiFi Signal Strength"
|
||||
update_interval: 60s
|
||||
- platform: uptime
|
||||
name: Uptime
|
||||
- platform: bh1750
|
||||
name: "Light Level"
|
||||
address: 0x23
|
||||
update_interval: 5s
|
||||
- platform: internal_temperature
|
||||
name: "Internal Temperature"
|
||||
|
||||
button:
|
||||
- platform: restart
|
||||
name: "Reset"
|
||||
@@ -0,0 +1,25 @@
|
||||
wifi:
|
||||
networks:
|
||||
- ssid: !secret ssid_garage
|
||||
password: !secret wifi_password
|
||||
- ssid: !secret ssid_house
|
||||
password: !secret wifi_password
|
||||
domain: .alm.lan
|
||||
time:
|
||||
- platform: homeassistant
|
||||
id: homeassistant_time
|
||||
timezone: Australia/Brisbane
|
||||
binary_sensor:
|
||||
- platform: status
|
||||
name: "Availibility"
|
||||
sensor:
|
||||
- platform: wifi_signal
|
||||
name: "WiFi Signal Strength"
|
||||
update_interval: 60s
|
||||
- platform: uptime
|
||||
name: Uptime
|
||||
- platform: internal_temperature
|
||||
name: "Internal Temperature"
|
||||
button:
|
||||
- platform: restart
|
||||
name: "Reset"
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
server:
|
||||
hostname: esphome.alm.lan
|
||||
# build:
|
||||
# context: .
|
||||
# dockerfile: Dockerfile
|
||||
# image: beatzaplenty/esphome
|
||||
image: ghcr.io/esphome/esphome
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
# - /dev/ttyACM0:/dev/ttyACM0
|
||||
- /dev/ttyACM1:/dev/ttyS0
|
||||
network_mode: host
|
||||
privileged: true
|
||||
labels:
|
||||
- "io.portainer.accesscontrol.public"
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
Soundbar:
|
||||
Mute:
|
||||
press: 9165, -4370, 709, -1563, 698, -1549, 700, -1547, 701, -1546, 700, -1547, 697, -435, 705, -1546, 697, -1550, 695, -439, 703, -1547, 697, -1550, 701, -431, 700, -438, 701, -1551, 698, -431, 705, -1550, 696, -434, 706, -537, 705, -1442, 699, -1442, 697, -544, 704, -1546, 698, -1443, 700, -430, 709, -1543, 702, -1441, 701, -537, 709, -532, 707, -1435, 708, -430, 704, -534, 709, -1539, 709
|
||||
release: 9167,-2118,729
|
||||
Volume:
|
||||
up: 9149, -4385, 687, -1581, 670, -1577, 670, -1577, 668, -1579, 670, -1577, 672, -455, 680, -1577, 670, -1578, 669, -460, 680, -1576, 669, -1578, 670, -462, 675, -460, 676, -1579, 668, -463, 674, -1579, 670, -462, 675, -1577, 669, -460, 677, -462, 674, -1579, 668, -1579, 668, -465, 672, -464, 672, -1578, 670, -464, 672, -1578, 670, -1577, 667, -467, 670, -467, 670, -1579, 668, -1579, 669
|
||||
down: 9151, -4389, 685, -1582, 668, -1579, 667, -1580, 667, -1580, 668, -1580, 667, -466, 669, -1582, 667, -1581, 667, -467, 668, -1583, 667, -1580, 667, -467, 669, -468, 670, -1581, 668, -466, 669, -1581, 670, -1577, 669, -464, 670, -468, 668, -468, 669, -1582, 667, -1580, 668, -466, 669, -467, 671, -466, 670, -1580, 668, -1579, 668, -1580, 669, -466, 669, -468, 669, -1580, 668, -1580, 667
|
||||
power:
|
||||
press: 9189, -4346, 727, -1546, 709, -1539, 712, -1535, 707, -1540, 707, -1541, 708, -416, 719, -1541, 708, -1540, 707, -416, 720, -1541, 704, -1544, 705, -418, 718, -416, 722, -1543, 706, -415, 721, -1542, 706, -415, 721, -1541, 706, -416, 721, -415, 724, -1539, 707, -418, 720, -415, 724, -416, 723, -1531, 713, -414, 722, -1533, 718, -1528, 720, -412, 722, -1529, 719, -1528, 720, -1527, 721
|
||||
release: 9143, -2145, 687
|
||||
tv:
|
||||
power: 9098, -4473, 716, -455, 692, -1593, 698, -459, 700, -457, 694, -1592, 699, -1589, 700, -1591, 690, -466, 700, -1560, 688, -483, 690, -1575, 699, -1592, 690, -1599, 693, -482, 703, -1569, 691, -1594, 692, -487, 690, -1579, 684, -1599, 693, -1595, 699, -480, 691, -463, 697, -463, 692, -460, 693, -1576, 695, -481, 679, -476, 690, -468, 695, -1574, 678, -1604, 689, -1597, 686, -1603, 684
|
||||
greenbutton:
|
||||
ok:
|
||||
arrow-up:
|
||||
arrow-down:
|
||||
arrow-left:
|
||||
arrow-right:
|
||||
source:
|
||||
ac:
|
||||
power:
|
||||
press:
|
||||
release:
|
||||
mode:
|
||||
heat:
|
||||
press: 3625, -3345, 1011, -2474, 1012, -789, 954, -762, 981, -2472, 1013, -2475, 1011, -2474, 1012, -2474, 1011, -2501, 1012, -2448, 1010, -763, 980, -762, 982, -2473, 1012, -2475, 1011, -2501, 1012, -2447, 1011, -2474, 1012, -761, 981, -761, 982, -2475, 1011, -2475, 1011, -760, 983, -760, 983, -759, 1013, -731, 984, -759, 983, -760, 985, -2472, 1012, -2473, 1013, -759, 1009, -734, 981, -761, 983, -761, 3597, -3346, 1011, -2475, 1010, -759, 960, -784, 959, -2498, 987, -2500, 985, -2501, 989, -2496, 1009, -2478, 1008, -2476, 1010, -758, 984, -758, 984, -2478, 1008, -2478, 1007, -2478, 1008, -2478, 1007, -2507, 979, -733, 1011, -732, 1013, -2475, 1012, -2474, 1011, -730, 1012, -730, 1012, -732, 1010, -733, 1008, -734, 1008, -735, 1008, -2481, 1003, -2483, 1001, -740, 1001, -742, 1001, -742, 997, -747, 3606, -3393, 939
|
||||
release: 3547, -3424, 931, -809, 932, -811, 904, -2586, 898, -842, 901, -843, 900, -842, 901, -842, 907, -836, 901, -842, 902, -842, 929, -2559, 899, -842, 902, -841, 901, -842, 901, -869, 873, -843, 900, -843, 901, -2588, 924, -2562, 897, -843, 900, -2613, 873, -2612, 873, -868, 875, -868, 875, -868, 875, -2613, 873, -2614, 873, -867, 875, -2641, 845, -2613, 873, -871, 871, -870, 3488, -3486, 871, -869, 877, -866, 902, -2587, 871, -897, 847, -869, 901, -867, 848, -895, 848, -895, 848, -895, 848, -895, 847, -2642, 843, -897, 846, -898, 830, -913, 819, -924, 820, -923, 819, -925, 819, -2695, 789, -2697, 789, -952, 791, -2724, 761, -2724, 761, -1007, 736, -1006, 246
|
||||
fan:
|
||||
auto:
|
||||
low:
|
||||
press: 3603, -3367, 990, -2496, 989, -783, 961, -782, 959, -2497, 990, -782, 960, -2497, 989, -782, 960, -783, 959, -2498, 988, -782, 961, -781, 962, -2498, 988, -782, 985, -2474, 993, -774, 985, -759, 984, -758, 960, -783, 984, -2477, 1011, -2475, 1009, -757, 984, -735, 1010, -732, 1009, -733, 1011, -733, 1009, -733, 1011, -2478, 1008, -2477, 1007, -733, 1011, -733, 1007, -735, 1006, -737, 3619, -3356, 999, -2486, 999, -742, 1002, -741, 999, -2489, 996, -744, 998, -2491, 993, -747, 994, -749, 969, -2520, 964, -777, 967, -777, 964, -2524, 961, -804, 938, -2550, 935, -805, 937, -806, 936, -808, 933, -809, 934, -2556, 928, -2557, 903, -839, 901, -842, 900, -842, 902, -841, 902, -841, 902, -842, 901, -2587, 899, -2586, 900, -840, 902, -841, 901, -843, 901, -842, 3515, -3460, 897
|
||||
release: 3509, -3461, 897, -844, 898, -845, 900, -2612, 873, -868, 876, -867, 875, -870, 873, -867, 876, -868, 876, -867, 875, -868, 874, -2614, 872, -869, 875, -868, 875, -868, 874, -869, 874, -869, 879, -864, 875, -2613, 872, -2614, 872, -869, 874, -2614, 872, -2614, 872, -869, 874, -869, 874, -869, 879, -2634, 845, -2642, 844, -896, 847, -2642, 844, -2642, 817, -923, 820, -923, 3435, -3567, 791, -949, 792, -952, 791, -2697, 788, -979, 764, -980, 763, -980, 761, -1009, 274, -11, 177
|
||||
med:
|
||||
press: 3599, -3345, 1039, -2444, 1043, -730, 984, -786, 958, -2471, 1013, -786, 984, -731, 984, -2502, 984, -787, 984, -2472, 986, -758, 1013, -731, 983, -2473, 1040, -732, 1011, -731, 989, -2470, 1011, -786, 956, -761, 982, -787, 983, -2448, 1038, -2447, 1012, -786, 932, -811, 983, -760, 983, -733, 959, -783, 1010, -733, 987, -2499, 986, -2473, 986, -810, 933, -783, 960, -783, 959, -784, 3602, -3343, 987, -2500, 1012, -783, 957, -758, 1011, -2476, 988, -780, 961, -754, 987, -2475, 1009, -758, 990, -2472, 1009, -757, 1013, -756, 960, -2476, 1009, -761, 1009, -733, 1010, -2450, 1008, -732, 1012, -731, 1013, -757, 986, -2475, 1011, -2475, 1038, -729, 985, -731, 1009, -761, 1008, -708, 1005, -739, 1030, -739, 977, -2512, 971, -2515, 967, -747, 1023, -720, 1021, -751, 963, -803, 3527, -3421, 962
|
||||
release: 3544, -3428, 927, -812, 929, -815, 901, -2587, 926, -842, 874, -841, 901, -870, 873, -843, 928, -815, 902, -868, 874, -869, 902, -2587, 898, -814, 929, -842, 874, -869, 901, -842, 901, -842, 874, -842, 901, -2615, 872, -2586, 899, -870, 873, -2639, 874, -2585, 901, -866, 876, -867, 876, -867, 876, -2586, 872, -2614, 872, -895, 848, -2640, 873, -2613, 874, -840, 879, -892, 3462, -3485, 898, -842, 875, -895, 874, -2588, 871, -870, 872, -896, 848, -895, 874, -896, 820, -896, 846, -897, 847, -924, 819, -2642, 818, -950, 792, -952, 791, -924, 819, -950, 821, -949, 766, -978, 765, -2723, 790, -2695, 790, -951, 791, -2715, 749
|
||||
high:
|
||||
press: 3654, -3316, 1040, -2473, 989, -756, 984, -786, 956, -2473, 989, -783, 983, -2474, 1015, -2471, 1009, -761, 984, -2501, 983, -788, 956, -760, 1009, -2449, 1037, -760, 984, -2447, 1039, -2474, 987, -783, 956, -787, 957, -786, 955, -2503, 1011, -2448, 1010, -760, 1010, -759, 983, -733, 958, -785, 1011, -759, 956, -760, 1009, -2477, 985, -2474, 1011, -759, 959, -784, 1010, -706, 1009, -736, 3620, -3350, 1007, -2478, 984, -784, 1012, -704, 1012, -2503, 980, -733, 1010, -2506, 977, -2509, 1008, -731, 1009, -2452, 1008, -761, 1009, -706, 1032, -2484, 1004, -736, 977, -2485, 1000, -2513, 970, -742, 1002, -741, 1026, -745, 972, -2489, 1022, -2463, 994, -774, 996, -747, 969, -774, 967, -749, 995, -748, 995, -748, 996, -2520, 964, -2495, 991, -750, 963, -779, 964, -808, 961, -805, 3551, -3424, 905
|
||||
release: 3512, -3458, 872, -842, 901, -842, 901, -2587, 927, -841, 879, -839, 899, -869, 902, -841, 875, -841, 929, -840, 903, -813, 903, -2586, 900, -867, 875, -869, 902, -813, 903, -841, 902, -841, 927, -843, 901, -2587, 872, -2586, 927, -814, 901, -2615, 899, -2586, 899, -815, 902, -869, 874, -868, 901, -2560, 926, -2561, 897, -867, 877, -2641, 871, -2585, 873, -895, 876, -840, 3492, -3510, 873, -867, 875, -842, 874, -2614, 872, -895, 847, -896, 847, -869, 902, -841, 874, -869, 901, -842, 901, -870, 846, -2642, 843, -871, 874, -869, 874, -869, 874, -922, 793, -950, 821, -894, 848, -2641, 818, -2667, 845, -924, 819, -2642, 844, -2641, 817, -953, 789, -952, 818, -924, 585, -2905, 377, -3136, 287, -1454, 196
|
||||
cool:
|
||||
press:
|
||||
release:
|
||||
dry:
|
||||
press:
|
||||
release:
|
||||
auto:
|
||||
press:
|
||||
release:
|
||||
|
||||
@@ -0,0 +1,81 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
# MongoDB: https://hub.docker.com/_/mongo/
|
||||
mongodb:
|
||||
image: "mongo:6.0.14"
|
||||
volumes:
|
||||
- "./data/mongodb:/data/db"
|
||||
restart: "on-failure"
|
||||
networks:
|
||||
- graylog
|
||||
|
||||
opensearch:
|
||||
image: "opensearchproject/opensearch:2.12.0"
|
||||
environment:
|
||||
- "OPENSEARCH_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||
- "bootstrap.memory_lock=true"
|
||||
- "discovery.type=single-node"
|
||||
- "action.auto_create_index=false"
|
||||
- "plugins.security.ssl.http.enabled=false"
|
||||
- "plugins.security.disabled=true"
|
||||
# Can generate a password for `OPENSEARCH_INITIAL_ADMIN_PASSWORD` using a linux device via:
|
||||
# tr -dc A-Z-a-z-0-9_@#%^-_=+ < /dev/urandom | head -c${1:-32}
|
||||
- OPENSEARCH_INITIAL_ADMIN_PASSWORD=am+6RBr@bdM2+Hzqguv_9snotOfVvPO6
|
||||
ulimits:
|
||||
memlock:
|
||||
hard: -1
|
||||
soft: -1
|
||||
nofile:
|
||||
soft: 65536
|
||||
hard: 65536
|
||||
restart: "on-failure"
|
||||
networks:
|
||||
- graylog
|
||||
|
||||
# Graylog: https://hub.docker.com/r/graylog/graylog/
|
||||
graylog:
|
||||
hostname: "server"
|
||||
image: "graylog/graylog:6.0.0"
|
||||
# To install Graylog Open: "graylog/graylog:6.0.0"
|
||||
depends_on:
|
||||
- mongodb
|
||||
- opensearch
|
||||
entrypoint: "/usr/bin/tini -- wait-for-it opensearch:9200 -- /docker-entrypoint.sh"
|
||||
environment:
|
||||
# - GRAYLOG_NODE_ID_FILE= "/usr/share/graylog/data/config/node-id"
|
||||
- GRAYLOG_HTTP_BIND_ADDRESS= 192.168.2.252:9000
|
||||
- GRAYLOG_ELASTICSEARCH_HOSTS= http://opensearch:9200
|
||||
- GRAYLOG_MONGODB_URI= mongodb://graylog_mongodb_1:27017/graylog
|
||||
# To make reporting (headless_shell) work inside a Docker container
|
||||
- GRAYLOG_REPORT_DISABLE_SANDBOX= true
|
||||
# CHANGE ME (must be at least 16 characters)!
|
||||
- GRAYLOG_PASSWORD_SECRET= "somepasswordpepper"
|
||||
# Password: "admin"
|
||||
- GRAYLOG_ROOT_PASSWORD_SHA2= "8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"
|
||||
- GRAYLOG_HTTP_EXTERNAL_URI= http://192.168.2.252:9000/
|
||||
ports:
|
||||
# Graylog web interface and REST API
|
||||
- "9000:9000/tcp"
|
||||
# Beats
|
||||
- "5044:5044/tcp"
|
||||
# Syslog TCP
|
||||
- "5140:5140/tcp"
|
||||
# Syslog UDP
|
||||
- "5140:5140/udp"
|
||||
# GELF TCP
|
||||
- "12201:12201/tcp"
|
||||
# GELF UDP
|
||||
- "12201:12201/udp"
|
||||
# Forwarder data
|
||||
- "13301:13301/tcp"
|
||||
# Forwarder config
|
||||
- "13302:13302/tcp"
|
||||
volumes:
|
||||
- "./data/graylog:/usr/share/graylog/data/data"
|
||||
- "./data/journal:/usr/share/graylog/data/journal"
|
||||
restart: "on-failure"
|
||||
|
||||
networks:
|
||||
graylog:
|
||||
driver: "bridge"
|
||||
@@ -0,0 +1,29 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
server:
|
||||
image: "ghcr.io/home-assistant/home-assistant:stable"
|
||||
# user: "${UID}:${GID}"
|
||||
hostname: smarthome.alm.lan
|
||||
volumes:
|
||||
- ./hass-data:/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- /run/dbus:/run/dbus:ro
|
||||
restart: always
|
||||
environment:
|
||||
- TZ="Australia/Brisbane"
|
||||
# - PUID="${UID}"
|
||||
# - PGID="${GID}"
|
||||
labels:
|
||||
- "io.portainer.accesscontrol.public"
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://127.0.0.1:8123"] # 192.168.1.244 is my HA ip
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 6
|
||||
privileged: true
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
- NET_BIND_SERVICE
|
||||
- SYS_ADMIN
|
||||
network_mode: host
|
||||
@@ -0,0 +1,4 @@
|
||||
FROM debian
|
||||
COPY cross-toolchain.sh /
|
||||
RUN chmod +x cross-toolchain.sh
|
||||
RUN . /cross-toolchain.sh
|
||||
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
|
||||
apt-get update
|
||||
apt-get upgrade -y
|
||||
apt-get install -y wget
|
||||
export LFS=/mnt/lfs
|
||||
wget https://mirror.dogado.de/LFS/lfs-packages/lfs-packages-11.3.tar
|
||||
tar xf lfs-packages-11.3.tar
|
||||
mv 11.3 sources
|
||||
mv sources $LFS
|
||||
groupadd lfs
|
||||
useradd -s /bin/bash -g lfs -m -k /dev/null lfs
|
||||
passwd lfs
|
||||
chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools}
|
||||
case $(uname -m) in
|
||||
x86_64) chown -v lfs $LFS/lib64 ;;
|
||||
esac
|
||||
su - lfs
|
||||
cat > ~/.bash_profile << "EOF"
|
||||
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
|
||||
EOF
|
||||
cat > ~/.bashrc << "EOF"
|
||||
set +h
|
||||
umask 022
|
||||
LFS=/mnt/lfs
|
||||
LC_ALL=POSIX
|
||||
LFS_TGT=$(uname -m)-lfs-linux-gnu
|
||||
PATH=/usr/bin
|
||||
if [ ! -L /bin ]; then PATH=/bin:$PATH; fi
|
||||
PATH=$LFS/tools/bin:$PATH
|
||||
CONFIG_SITE=$LFS/usr/share/config.site
|
||||
export LFS LC_ALL LFS_TGT PATH CONFIG_SITE
|
||||
EOF
|
||||
source ~/.bash_profile
|
||||
cd $LFS/sources
|
||||
tar xf binutils-2.40.tar.xz
|
||||
pushd binutils-2.40
|
||||
mkdir -v build
|
||||
cd build
|
||||
../configure --prefix=$LFS/tools \
|
||||
--with-sysroot=$LFS \
|
||||
--target=$LFS_TGT \
|
||||
--disable-nls \
|
||||
--enable-gprofng=no \
|
||||
--disable-werror
|
||||
make
|
||||
make install
|
||||
popd
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
FROM debian
|
||||
|
||||
RUN apt-get update && apt-get install -y python3 pip
|
||||
|
||||
RUN pip install sendgrid docker
|
||||
|
||||
CMD ["bash"]
|
||||
@@ -0,0 +1,20 @@
|
||||
FROM debian
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV WINEARCH=win32
|
||||
ENV WINEPREFIX=~/.msoffice
|
||||
RUN dpkg --add-architecture i386 && \
|
||||
apt-get update && \
|
||||
apt-get install -y wget gcc make perl && \
|
||||
apt install -y software-properties-common && \
|
||||
mkdir -pm755 /etc/apt/keyrings && \
|
||||
wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key && \
|
||||
wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/bullseye/winehq-bullseye.sources && \
|
||||
apt-get update && \
|
||||
apt-get install -y --install-recommends winehq-stable && \
|
||||
apt-get update && \
|
||||
apt-get install -y winetricks winbind samba smbclient winetricks
|
||||
RUN mkdir ~/.msoffice
|
||||
RUN wineboot -i
|
||||
RUN winetricks cmd corefonts msxml6 riched20 gdiplus
|
||||
COPY /root/Nextcloud/OfficeSetup.exe /
|
||||
RUN wine /OfficeSetup.exe
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
haproxy:
|
||||
deploy:
|
||||
mode: global
|
||||
restart: always
|
||||
image: haproxytech/haproxy-debian
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- data:/etc/haproxy:rw
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/haproxy"
|
||||
o: "addr=192.168.8.231,rw,nfsvers=4,async"
|
||||
@@ -0,0 +1,14 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
keeweb:
|
||||
deploy:
|
||||
replicas: 3
|
||||
restart: always
|
||||
image: antelle/keeweb:latest
|
||||
command: nginx
|
||||
volumes:
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
ports:
|
||||
- 8888:80
|
||||
- 8443:443
|
||||
@@ -0,0 +1,20 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
registry:
|
||||
restart: always
|
||||
deploy:
|
||||
replicas: 3
|
||||
image: registry:2
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
- /etc/localtime:/etclocaltime:ro
|
||||
- data:/var/lib/registry:rw
|
||||
ports:
|
||||
- 5002:5000
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/registry"
|
||||
o: "addr=192.168.8.231,rw,nfsvers=4,async"
|
||||
@@ -0,0 +1,12 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
searxng:
|
||||
deploy:
|
||||
replicas: 3
|
||||
restart: always
|
||||
image: searxng/searxng
|
||||
volumes:
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
ports:
|
||||
- 8080:8080
|
||||
@@ -0,0 +1,21 @@
|
||||
version: "3.9"
|
||||
services:
|
||||
webdav:
|
||||
deploy:
|
||||
replicas: 3
|
||||
restart: always
|
||||
image: registry.alm.lan/webdav:latest
|
||||
volumes:
|
||||
- data:/var/www/html
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
- "/etc/localtime:/etc/localtime:ro"
|
||||
ports:
|
||||
- 5003:5003
|
||||
- 5004:5004
|
||||
volumes:
|
||||
data:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: nfs
|
||||
device: ":/srv/docker/volumes/webdav"
|
||||
o: "addr=192.168.8.231,rw,nfsvers=4,async"
|
||||
@@ -0,0 +1,40 @@
|
||||
version: "3"
|
||||
services:
|
||||
webapp:
|
||||
image: portainer/portainer-ce:latest
|
||||
command: -H unix:///var/run/docker.sock
|
||||
restart: always
|
||||
hostname: portainer.lan.ddnsgeek.com
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- ./data:/data
|
||||
labels:
|
||||
# Frontend
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.frontend.rule=Host(`portainer.lan.ddnsgeek.com`)"
|
||||
- "traefik.http.routers.frontend.entrypoints=websecure"
|
||||
- "traefik.http.services.frontend.loadbalancer.server.port=9000"
|
||||
- "traefik.http.routers.frontend.service=frontend"
|
||||
- "traefik.http.routers.frontend.tls.certresolver=myresolver"
|
||||
- "traefik.http.routers.frontend.middlewares=error-pages-middleware"
|
||||
|
||||
|
||||
# Edge
|
||||
- "traefik.http.routers.edge.rule=Host(`edge.lan.ddnsgeek.com`)"
|
||||
- "traefik.http.routers.edge.entrypoints=websecure"
|
||||
- "traefik.http.services.edge.loadbalancer.server.port=8000"
|
||||
- "traefik.http.routers.edge.service=edge"
|
||||
- "traefik.http.routers.edge.tls.certresolver=myresolver"
|
||||
- "io.portainer.accesscontrol.public"
|
||||
|
||||
|
||||
# healthcheck:
|
||||
# test: "curl http://localhost:9000/api/system/status"
|
||||
|
||||
networks:
|
||||
- traefik_default
|
||||
|
||||
|
||||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
@@ -0,0 +1,6 @@
|
||||
FROM ubuntu:latest
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
RUN apt-get update && apt-get install -y flatpak && apt-get upgrade -y
|
||||
RUN flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
RUN flatpak install app/org.mozilla.firefox/x86_64/stable -y --noninteractive
|
||||
CMD ["/usr/bin/firefox"]
|
||||
@@ -0,0 +1,12 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
app:
|
||||
image: ubuntu-gui
|
||||
build: .
|
||||
environment:
|
||||
- DISPLAY=${DISPLAY}
|
||||
volumes:
|
||||
- /tmp/.X11-unix:/tmp/.X11-unix
|
||||
network_mode: host
|
||||
hostname: ubuntu
|
||||
@@ -0,0 +1,9 @@
|
||||
doods:
|
||||
detectors:
|
||||
- name: default
|
||||
type: tflite
|
||||
modelFile: models/coco_ssd_mobilenet_v1_1.0_quant.tflite
|
||||
labelFile: models/coco_labels0.txt
|
||||
numThreads: 4
|
||||
numConcurrent: 4
|
||||
hwAccel: false
|
||||
@@ -0,0 +1,30 @@
|
||||
version: "3"
|
||||
|
||||
services:
|
||||
server:
|
||||
image: "eclipse-mosquitto"
|
||||
# user: "${UID}:${GID}"
|
||||
hostname: mqtt.alm.lan
|
||||
volumes:
|
||||
- ./config:/mosquitto/config
|
||||
- /etc/localtime:/etc/localtime:ro
|
||||
- ./data:/mosquitto/data
|
||||
- ./log:/mosquitto/log
|
||||
restart: always
|
||||
environment:
|
||||
- TZ="Australia/Brisbane"
|
||||
# - PUID="${UID}"
|
||||
# - PGID="${GID}"
|
||||
labels:
|
||||
- "io.portainer.accesscontrol.public"
|
||||
# healthcheck:
|
||||
# test: ["CMD", "curl", "-f", "http://127.0.0.1:8123"] # 192.168.1.244 is my HA ip
|
||||
# interval: 30s
|
||||
# timeout: 10s
|
||||
# retries: 6
|
||||
# privileged: true
|
||||
# cap_add:
|
||||
# - NET_ADMIN
|
||||
# - NET_BIND_SERVICE
|
||||
# - SYS_ADMIN
|
||||
network_mode: host
|
||||
@@ -0,0 +1,35 @@
|
||||
version: "3"
|
||||
services:
|
||||
webapp:
|
||||
image: netdata/netdata:latest
|
||||
hostname: sysmon.lan.ddnsgeek.com
|
||||
restart: always
|
||||
cap_add:
|
||||
- SYS_PTRACE
|
||||
security_opt:
|
||||
- apparmor:unconfined
|
||||
networks:
|
||||
- traefik_default
|
||||
volumes:
|
||||
- ./data/config:/etc/netdata
|
||||
- ./data/lib:/var/lib/netdata
|
||||
- ./data/cache:/var/cache/netdata
|
||||
- /etc/passwd:/host/etc/passwd:ro
|
||||
- /etc/group:/host/etc/group:ro
|
||||
- /proc:/host/proc:ro
|
||||
- /sys:/host/sys:ro
|
||||
- /etc/os-release:/host/etc/os-release:ro
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
- "traefik.http.routers.netdata.rule=Host(`sysmon.lan.ddnsgeek.com`)"
|
||||
- "traefik.http.routers.netdata.entrypoints=websecure"
|
||||
- "traefik.http.routers.netdata.tls=true"
|
||||
- "traefik.http.routers.netdata.tls.certresolver=myresolver"
|
||||
- "traefik.http.services.netdata.loadBalancer.server.port=19999"
|
||||
- "traefik.http.routers.netdata.middlewares=auth, error-pages-middleware"
|
||||
- "traefik.http.middlewares.auth.basicauth.users=beatzaplenty:$$apr1$$rQ8iCgI4$$Y/u2AttE3tb1sIQwrIGU0."
|
||||
- "io.portainer.accesscontrol.public"
|
||||
networks:
|
||||
traefik_default:
|
||||
external: true
|
||||
@@ -0,0 +1,42 @@
|
||||
version: "3"
|
||||
services:
|
||||
webapp:
|
||||
image: traccar/traccar
|
||||
restart: never
|
||||
# read_only: true
|
||||
# tmpfs:
|
||||
# - /tmp
|
||||
# - /var
|
||||
# - /run
|
||||
hostname: traccar.lan.ddnsgeek.com
|
||||
# networks:
|
||||
# - traefik_default
|
||||
deploy:
|
||||
# resources:
|
||||
# limits:
|
||||
# cpus: '0.05'
|
||||
# memory: 100m
|
||||
restart_policy:
|
||||
condition: on-failure
|
||||
max_attempts: 5
|
||||
# labels:
|
||||
# - "traefik.http.routers.traccar.rule=Host(`traccar.lan.ddnsgeek.com`)"
|
||||
# - "traefik.enable=true"
|
||||
# - "traefik.http.routers.traccar.entrypoints=websecure"
|
||||
# - "traefik.http.routers.traccar.tls.certresolver=myresolver"
|
||||
# - "io.portainer.accesscontrol.public"
|
||||
# - "traefik.http.routers.traccar.middlewares=error-pages-middleware"
|
||||
# - "traefik.http.services.traccar.loadbalancer.server.port=8888"
|
||||
ports:
|
||||
- 80:8082
|
||||
- 5000-5150:5000-5150
|
||||
- 5000-5150:5000-5150/udp
|
||||
volumes:
|
||||
- ./logs:/opt/traccar/logs:rw
|
||||
- ./traccar.xml:/opt/traccar/conf/traccar.xml:ro
|
||||
# healthcheck:
|
||||
# test: "curl --fail http://localhost || exit 1"
|
||||
|
||||
#networks:
|
||||
# traefik_default:
|
||||
# external: true
|
||||
@@ -0,0 +1,14 @@
|
||||
version: '3'
|
||||
services:
|
||||
webdav:
|
||||
image: bytemark/webdav
|
||||
restart: always
|
||||
ports:
|
||||
- "80:80"
|
||||
environment:
|
||||
AUTH_TYPE: Digest
|
||||
USERNAME: beatzaplenty
|
||||
PASSWORD: R1m@dmin
|
||||
volumes:
|
||||
- ./data:/var/lib/dav/data
|
||||
|
||||
Reference in New Issue
Block a user