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