diff --git a/archive/docker-compose-no-tz.yaml b/archive/docker-compose-no-tz.yaml new file mode 100644 index 0000000..dacaaff --- /dev/null +++ b/archive/docker-compose-no-tz.yaml @@ -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 diff --git a/archive/docker-compose.yaml b/archive/docker-compose.yaml new file mode 100644 index 0000000..91286e0 --- /dev/null +++ b/archive/docker-compose.yaml @@ -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 + diff --git a/archive/portainer-agent-stack.yml b/archive/portainer-agent-stack.yml new file mode 100644 index 0000000..34c2089 --- /dev/null +++ b/archive/portainer-agent-stack.yml @@ -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" + diff --git a/archive/portainer-compose.yaml b/archive/portainer-compose.yaml new file mode 100644 index 0000000..1155b04 --- /dev/null +++ b/archive/portainer-compose.yaml @@ -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 + diff --git a/archive/recreate-containers.sh b/archive/recreate-containers.sh new file mode 100755 index 0000000..21d9b31 --- /dev/null +++ b/archive/recreate-containers.sh @@ -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 diff --git a/archive/recreate-nextcloud.sh b/archive/recreate-nextcloud.sh new file mode 100755 index 0000000..caf87f7 --- /dev/null +++ b/archive/recreate-nextcloud.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +/mnt/docker-persistent-data/recreate-containers.sh -q "nextcloud nextcloud_db" diff --git a/archive/recreate-passbolt.sh b/archive/recreate-passbolt.sh new file mode 100755 index 0000000..0a47274 --- /dev/null +++ b/archive/recreate-passbolt.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +/mnt/docker-persistent-data/recreate-containers.sh -q "passbolt passbolt_db" diff --git a/archive/update-containers.sh b/archive/update-containers.sh new file mode 100755 index 0000000..fd5e5d2 --- /dev/null +++ b/archive/update-containers.sh @@ -0,0 +1,6 @@ +#!/bin/bash +pushd ~/docker +docker-compose pull +docker-compose -p app up -d +docker system prune -f +popd diff --git a/autossh/Dockerfile b/autossh/Dockerfile new file mode 100644 index 0000000..5da2433 --- /dev/null +++ b/autossh/Dockerfile @@ -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" ] + diff --git a/autossh/docker-compose.yml b/autossh/docker-compose.yml new file mode 100644 index 0000000..e901344 --- /dev/null +++ b/autossh/docker-compose.yml @@ -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 diff --git a/doods/Dockerfile b/doods/Dockerfile new file mode 100644 index 0000000..a5f843e --- /dev/null +++ b/doods/Dockerfile @@ -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"] + + + + diff --git a/doods/config.yaml b/doods/config.yaml new file mode 100644 index 0000000..25249fb --- /dev/null +++ b/doods/config.yaml @@ -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 diff --git a/doods/docker-compose.yml b/doods/docker-compose.yml new file mode 100644 index 0000000..2f9f385 --- /dev/null +++ b/doods/docker-compose.yml @@ -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 diff --git a/doods/fetch_models.sh b/doods/fetch_models.sh new file mode 100755 index 0000000..a5d5786 --- /dev/null +++ b/doods/fetch_models.sh @@ -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 \ No newline at end of file diff --git a/dynu/dynu.sh b/dynu/dynu.sh new file mode 100755 index 0000000..c385d36 --- /dev/null +++ b/dynu/dynu.sh @@ -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 - diff --git a/esphome/Dockerfile b/esphome/Dockerfile new file mode 100644 index 0000000..5256b8d --- /dev/null +++ b/esphome/Dockerfile @@ -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"] diff --git a/esphome/create-default-config.sh b/esphome/create-default-config.sh new file mode 100755 index 0000000..a6f41f4 --- /dev/null +++ b/esphome/create-default-config.sh @@ -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 < ~/.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 + diff --git a/misc/email-alerts/Dockerfile b/misc/email-alerts/Dockerfile new file mode 100644 index 0000000..ec0ae64 --- /dev/null +++ b/misc/email-alerts/Dockerfile @@ -0,0 +1,7 @@ +FROM debian + +RUN apt-get update && apt-get install -y python3 pip + +RUN pip install sendgrid docker + +CMD ["bash"] diff --git a/misc/office365/Dockerfile b/misc/office365/Dockerfile new file mode 100644 index 0000000..e11fc34 --- /dev/null +++ b/misc/office365/Dockerfile @@ -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 diff --git a/misc/portainer-compose-files/haproxy.yaml b/misc/portainer-compose-files/haproxy.yaml new file mode 100644 index 0000000..2963c7e --- /dev/null +++ b/misc/portainer-compose-files/haproxy.yaml @@ -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" diff --git a/misc/portainer-compose-files/keeweb.yaml b/misc/portainer-compose-files/keeweb.yaml new file mode 100644 index 0000000..5c44d71 --- /dev/null +++ b/misc/portainer-compose-files/keeweb.yaml @@ -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 diff --git a/misc/portainer-compose-files/registry.yaml b/misc/portainer-compose-files/registry.yaml new file mode 100644 index 0000000..7057c81 --- /dev/null +++ b/misc/portainer-compose-files/registry.yaml @@ -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" diff --git a/misc/portainer-compose-files/searxng.yaml b/misc/portainer-compose-files/searxng.yaml new file mode 100644 index 0000000..810996c --- /dev/null +++ b/misc/portainer-compose-files/searxng.yaml @@ -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 \ No newline at end of file diff --git a/misc/portainer-compose-files/webdav.yaml b/misc/portainer-compose-files/webdav.yaml new file mode 100644 index 0000000..d7ece7a --- /dev/null +++ b/misc/portainer-compose-files/webdav.yaml @@ -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" diff --git a/misc/portainer/docker-compose.yml b/misc/portainer/docker-compose.yml new file mode 100644 index 0000000..f1d8209 --- /dev/null +++ b/misc/portainer/docker-compose.yml @@ -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 diff --git a/misc/ubuntu-gui/Dockerfile b/misc/ubuntu-gui/Dockerfile new file mode 100644 index 0000000..83a10fb --- /dev/null +++ b/misc/ubuntu-gui/Dockerfile @@ -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"] diff --git a/misc/ubuntu-gui/docker-compose.yml b/misc/ubuntu-gui/docker-compose.yml new file mode 100644 index 0000000..7cabecd --- /dev/null +++ b/misc/ubuntu-gui/docker-compose.yml @@ -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 diff --git a/mqtt/config.yaml b/mqtt/config.yaml new file mode 100644 index 0000000..25249fb --- /dev/null +++ b/mqtt/config.yaml @@ -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 diff --git a/mqtt/docker-compose.yml b/mqtt/docker-compose.yml new file mode 100644 index 0000000..3d375b7 --- /dev/null +++ b/mqtt/docker-compose.yml @@ -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 diff --git a/netdata/docker-compose.yml b/netdata/docker-compose.yml new file mode 100644 index 0000000..bb6af0f --- /dev/null +++ b/netdata/docker-compose.yml @@ -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 diff --git a/traccar/docker-compose.yml b/traccar/docker-compose.yml new file mode 100644 index 0000000..6062076 --- /dev/null +++ b/traccar/docker-compose.yml @@ -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 diff --git a/webdav/docker-compose.yml b/webdav/docker-compose.yml new file mode 100644 index 0000000..f96d787 --- /dev/null +++ b/webdav/docker-compose.yml @@ -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 +