| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417 |
- ---
- jlab:
- host: stachelbeere
- docker:
- build: jlab
- image: jlab
- ports:
- - 0.0.0.0:80:8888
- volumes:
- - /opt/jlab/notebooks:/root/notebooks
- domoticz:
- host: himbeere
- fqdn: domo.cere.duckdns.org
- docker:
- build: domoticz
- image: domoticz
- #~ image: domoticz/domoticz:stable
- volumes:
- # - /etc/localtime:/etc/localtime
- # - /mnt/ssdext/data/domoticz/domoticz.db:/root/domoticz/domoticz.db
- - /mnt/ssdext/data/domoticz:/opt/domoticz/userdata
- ports: 8080:80
- devices: /dev/ttyUSB0
- extra_hosts:
- # reaching graphite-ingest locally
- # if we use FQDN - nginx (ngp) has a high load
- # maybe HTTPS decryption is slow on raspi 3 (himbeere)
- host.docker.internal: host-gateway
- env:
- TZ: Europe/Amsterdam
- WWW_PORT: 80
- commands:
- backup_db: /bin/bash -c "cp -p /opt/domoticz/userdata/domoticz.db /opt/domoticz/userdata/domoticz.db.`date +%Y.%m.%d.%H.%M.%S`"
- cleanup_meter_values: python3 /fix_meter_values.py
- grafana:
- host: himbeere
- fqdn: grafana.cere.duckdns.org
- docker:
- image: grafana/grafana-oss
- env:
- VIRTUAL_PORT: 3000
- volumes:
- # see https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-docker/#default-paths
- - /mnt/ssdext/data/grafana/data:/var/lib/grafana
- - /mnt/ssdext/data/grafana/log:/var/log/grafana
- - /mnt/ssdext/data/grafana/plugins:/var/lib/grafana/plugins
- graphite: # https://hub.docker.com/r/graphiteapp/graphite-statsd/
- host: himbeere
- fqdn: graphite.cere.duckdns.org
- docker:
- build: graphite
- #~ image: graphiteapp/graphite-statsd
- volumes:
- - /mnt/ssdext/data/graphite/storage:/opt/graphite/storage
- - /mnt/ssdext/data/graphite/log:/var/log
- - /mnt/ssdext/data/graphite/redis:/var/lib/redis
- #~ - /mnt/ssdext/data/graphite/logs:/var/log/supervisor
- ports:
- - 0.0.0.0:8125:8125/udp
- #~ env:
- #~ GRAPHITE_STATSD_HOST: 0.0.0.0
- commands:
- # dump incoming udp traffic
- dump_8125: tcpdump -i eth0 udp port 8125 -vv -X
- # dump outgoing traffic - see bucky.conf/statsd_flush_time
- #~ dump_2003: tcpdump -i eth0 tcp port 2003 -vv -X
- # tail bucky logs
- #~ tail_bucky: supervisorctl tail bucky
- graphite-ingest: # ingest data into graphite via http
- host: himbeere
- fqdn: ingest.cere.duckdns.org
- docker:
- build: graphite-ingest
- #~ links: graphite:graphite
- init: true
- ports:
- # accessed from domoticz
- - 0.0.0.0:25080:80
- env:
- STATSD_HOST: host.docker.internal
- extra_hosts:
- host.docker.internal: host-gateway
- commands:
- test_8125: /bin/bash -c 'echo "deploys.test.myservice:1|c" | nc -w 1 -u host.docker.internal 8125'
- netdata:
- host: himbeere
- #~ fqdn: netdata.cere.duckdns.org
- docker:
- hostname: himbeere
- build: netdata
- # image: reneluria/netdata
- cap_add: SYS_PTRACE
- volumes:
- - /proc:/host/proc:ro
- - /sys:/host/sys:ro
- - /var/run/docker.sock:/var/run/docker.sock
- ports: 0.0.0.0:19999:19999
- # https://github.com/mkueper/rpi-svn
- svn:
- host: himbeere
- docker:
- build: svn
- volumes:
- - /mnt/ssdext/data/svn:/var/svn
- ports: 3690:3690
- stop_signal: SIGKILL
- ngp: # nginx proxy with lets encrypt
- host: himbeere
- docker:
- - name: nginx-proxy
- #~ build: ngp
- image: nginxproxy/nginx-proxy
- ports: 192.168.178.43:1080:80, 192.168.178.43:1443:443
- volumes:
- - /usr/share/nginx/html
- - /mnt/ssdext/data/nginx/htpasswd:/etc/nginx/htpasswd \
- - /var/run/docker.sock:/tmp/docker.sock:ro
- - /mnt/ssdext/data/nginx/certs:/etc/nginx/certs:ro
- # see https://github.com/jwilder/nginx-proxy#per-virtual_host
- - /mnt/ssdext/data/nginx/vhost.d:/etc/nginx/vhost.d:ro
- labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
- commands:
- nginx_conf:
- method: exec
- cmd: cat /etc/nginx/conf.d/default.conf
- docs: show dockergen-generated config
- - name: ngp_le
- build: ngp_le
- volumes_from: nginx-proxy
- volumes:
- - /mnt/ssdext/data/nginx/certs:/etc/nginx/certs:rw
- - /var/run/docker.sock:/var/run/docker.sock:ro
- - /mnt/ssdext/data/nginx/vhost.d:/etc/nginx/vhost.d:rw
- piusv:
- host: himbeere
- docker:
- build: piusv
- devices: /dev/i2c-1
- # S.USV Daemon started..
- # Kann nicht auf export schreiben!
- # : Read-only file system
- privileged: true
- volumes: /mnt/ssdext/data/piusv/log:/var/log/
- commands:
- # Zwei I²C-Adressen sind im Einsatz – 0x0F für die S.USV und 0x68 für die Real Time Clock,
- # die sich auf der S.USV befindet
- i2cdetect: i2cdetect -y 1
- # Der S.USV Daemon erstellt ein Protokoll in der Datei: /var/log/susvd.log
- usv_logs: tail -f -n 100 /var/log/susvd.log
- rsync:
- host: himbeere
- docker:
- build: rsync
- volumes:
- - /etc/localtime:/etc/localtime
- - /mnt/ssdext/data:/opt/from
- - /mnt/hddext/backup:/opt/to
- restart_policy:
- always: 3
- gogs: # git server with wiki
- host: himbeere
- fqdn: git.cere.duckdns.org
- docker:
- image: gogs/gogs-rpi
- volumes: /mnt/ssdext/data/gogs:/data
- ports: 3022:22
- env:
- VIRTUAL_PORT: 3000
- healthcheck:
- test: curl -I --silent http://localhost:3000 | grep "404 Not Found"
- interval: 10 # seconds
- alexa: # https://alexa.amazon.de
- fqdn: alexa.cere.duckdns.org
- host: himbeere
- docker:
- build: alexa
- env:
- DOMO_ALEXA_PW: ibm92buVQ12nhipkP4fg
- matrix-zmq:
- host: waldbeere
- docker:
- init: true
- build: matrix-zmq
- # matrix driver needs access to /dev/mem
- privileged: true
- ports: 1337:1337
- # --led-slowdown-gpio=2 --led-pwm-lsb-nanoseconds=50
- command: '--led-pixel-mapper=Rotate:180 --led-pwm-dither-bits=2 --led-pwm-lsb-nanoseconds=100 --led-gpio-mapping=adafruit-hat-pwm --led-show-refresh --led-brightness=80 --led-cols=192 --led-rows=32 --zmq-endpoint=tcp://*:1337'
- matrix-ft:
- host: blaubeere
- docker:
- init: true
- build: flaschentaschen
- # matrix driver needs access to /dev/mem
- privileged: true
- ports: 1337:1337/udp
- # --led-pwm-dither-bits=1
- command: '/server --layer-timeout 3600 --led-pixel-mapper=Rotate:180 --led-rows=64 --led-cols=192 --led-brightness=60 --led-slowdown-gpio=3 --led-show-refresh --led-pwm-lsb-nanoseconds=150'
- commands:
- d_life: /root/ft-demos/life -g 192x64 -d 50
- d_matrix: /root/ft-demos/matrix -g 192x64
- d_quilt: /root/ft-demos/quilt -g 192x64
- d_fractal: /root/ft-demos/fractal -g 192x64
- d_hack: /root/ft-demos/hack -g 192x64
- d_midi: /root/ft-demos/midi -g 192x64
- d_maze: /root/ft-demos/maze -g 192x64
- d_plasma: /root/ft-demos/plasma -g 192x64
- d_lines: /root/ft-demos/lines -g 192x64 -a one
- d_boxes: /root/ft-demos/blur -g 192x64 boxes
- d_bolt: /root/ft-demos/blur -g 192x64 bolt
- d_sierpinski: /root/ft-demos/sierpinski -g 192x64
- matrix-ft-brom:
- host: brombeere
- docker:
- init: true
- build: flaschentaschen
- # matrix driver needs access to /dev/mem
- privileged: true
- ports: 1337:1337/udp
- # --led-pwm-dither-bits=1
- command: '/server --layer-timeout 36000 --led-rgb-sequence=BRG --led-rows=64 --led-cols=128 --led-parallel=2 --led-brightness=60 --led-slowdown-gpio=1 --led-show-refresh --led-pwm-lsb-nanoseconds=180'
- commands:
- d_life: /root/ft-demos/life -g 128x128 -d 50
- d_matrix: /root/ft-demos/matrix -g 128x128
- d_quilt: /root/ft-demos/quilt -g 128x128
- d_fractal: /root/ft-demos/fractal -g 128x128
- d_hack: /root/ft-demos/hack -g 128x128
- d_midi: /root/ft-demos/midi -g 128x128
- d_maze: /root/ft-demos/maze -g 128x128
- d_plasma: /root/ft-demos/plasma -g 128x128
- d_lines: /root/ft-demos/lines -g 128x128 -a one
- d_boxes: /root/ft-demos/blur -g 128x128 boxes
- d_bolt: /root/ft-demos/blur -g 128x128 bolt
- d_sierpinski: /root/ft-demos/sierpinski -g 128x128
- matrix-brom:
- host: blaubeere
- docker:
- init: true
- build: matrix/light
- import: pixel
- # matrix driver needs access to /dev/mem
- privileged: true
- # ports: 10000:10000/udp, 10001:10001/udp
- volumes:
- - /opt/pixel:/pixel
- env:
- LED_ROWS: 64
- LED_COLS: 64
- commands:
- # some rotating square
- demo00: examples-api-use/demo --led-rows=64 --led-cols=64 --led-show-refresh -D 0
- matrix: # interface with RGB LED-Matrix
- host: waldbeere
- docker:
- init: true
- build: matrix/fat
- # matrix driver needs access to /dev/mem
- privileged: true
- ports: 17888:8888, 10000:10000/udp, 10001:10001/udp
- volumes:
- - /opt/jupyter/notebooks:/root/notebooks
- - /opt/jupyter/config:/root/.local
- - /opt/jupyter/config_root:/root/.jupyter
- - /opt/jupyter/config_ipy_root:/root/.ipython
- - /opt/pixel:/pixel
- commands:
- # some rotating square
- demo00: examples-api-use/demo -c 6 -R 180 --led-show-refresh -D0
- # forward scrolling an image
- demo01: examples-api-use/demo -c 6 -R 180 --led-show-refresh -D1 examples-api-use/runtext.ppm
- # test image
- demo03: examples-api-use/demo -c 6 -R 180 -D3
- # Abelian sandpile model (-m <time-step-ms>)
- demo06: examples-api-use/demo -c 6 -R 180 -D6
- # Conway's game of life (-m <time-step-ms>)
- demo07: /bin/bash -c "while true; do examples-api-use/demo -c 6 -R 180 -b 100 -D7 -t 15; done"
- # Langton's ant (-m <time-step-ms>)
- demo08: examples-api-use/demo -c 6 -R 180 -m 1 --led-show-refresh -D8
- # Volume bars
- demo09: examples-api-use/demo -c 6 -R 180 -D9
- # Evolution of color
- demo10: examples-api-use/demo -c 6 -R 180 -D10
- # Brightness pulse generator
- demo11: examples-api-use/demo -c 6 -R 180 --led-pwm-bits=11 -D11
- # python sample: rotatatin block
- pydemo1: bindings/python/samples/rotating-block-generator.py -c 6 -R 180 --led-show-refresh
- # python sample: like demo01
- pydemo2: bindings/python/samples/image-scroller.py -c 6 -R 180 --led-show-refresh -i examples-api-use/runtext.ppm
- # python sample: rotatatin block
- pydemo3: bindings/python/samples/simple-square.py -c 6 -R 180 --led-show-refresh
- # tail logs of pixelreceiver (udp server)
- pixel_logs: tail -f /pixel/receive.log
- # kill pixel receiver
- pixel_kill: pkill -f "python -u /pixelreceiver.py"
- matrix2: # zerow: interface with RGB LED-Matrix
- host: blaubeere
- docker:
- init: true
- build: matrix/light
- import: pixel
- # matrix driver needs access to /dev/mem
- privileged: true
- # ports: 10000:10000/udp, 10001:10001/udp
- volumes:
- - /opt/pixel:/pixel
- env:
- LED_ROWS: 64
- LED_COLS: 192
- commands:
- # some rotating square
- demo00: examples-api-use/demo --led-rows=64 --led-cols=192 --led-pixel-mapper=U-mapper;Rotate:180 --led-show-refresh -D 0
- # forward scrolling an image
- demo01: examples-api-use/demo --led-rows=64 --led-cols=192 --led-pixel-mapper=U-mapper;Rotate:180 --led-show-refresh -D 1 examples-api-use/runtext.ppm
- # test image
- demo03: examples-api-use/demo --led-rows=64 --led-cols=192 -D 3
- # Abelian sandpile model (-m <time-step-ms>)
- demo06: examples-api-use/demo -c 6 --led-rows=64 -D 6
- # Conway's game of life (-m <time-step-ms>)
- demo07: /bin/bash -c "while true; do examples-api-use/demo --led-rows=64 --led-cols=192 --led-show-refresh -D 7 -m 20; done"
- # Langton's ant (-m <time-step-ms>)
- demo08: examples-api-use/demo -c 6 --led-rows=64 -m 1 --led-show-refresh -D 8
- # Volume bars
- demo09: examples-api-use/demo -c 6 --led-rows=64 -D 9
- # Evolution of color
- demo10: examples-api-use/demo -c 6 --led-rows=64 -D 10
- # Brightness pulse generator
- demo11: examples-api-use/demo --led-rows=64 --led-cols=192 --led-pwm-bits=11 -D 11
- # python sample: rotatatin block
- pydemo1: bindings/python/samples/rotating-block-generator.py -c 6 --led-rows=64 --led-show-refresh
- # python sample: like demo01
- pydemo2: bindings/python/samples/image-scroller.py -c 6 --led-rows=64 --led-show-refresh -i examples-api-use/runtext.ppm
- # python sample: rotatatin block
- pydemo3: bindings/python/samples/simple-square.py -c 6 --led-rows=64 --led-show-refresh
- # tail logs of pixelreceiver (udp server)
- pixel_logs: tail -f /pixel/receive.log
- # kill pixel receiver
- pixel_kill: pkill -f "python -u /pixelreceiver.py"
- vaping:
- host: waldbeere
- docker:
- build: vaping
- ports: 6080:7021
- log_config: {type: none}
- streamripper:
- host: stachelbeere
- docker:
- build: streamripper
- volumes:
- - /opt/streamripper:/home/streamripper
- command: 'https://somafm.com/defcon256.pls -s -m 30 --xs2 -o never -T'
- mqtt:
- host: himbeere
- docker:
- - name: mqtt-client
- build: mqtt/client
- init: true
- - name: mqtt-broker
- build: mqtt/broker
- init: true
- ports:
- - 0.0.0.0:1883:1883
- env:
- TZ: Europe/Berlin
- volumes:
- - /opt/fast/mqtt/broker:/files
- - name: mqtt-explorer
- fqdn: mqtt.cere.duckdns.org
- image: smeagolworms4/mqtt-explorer
- init: true
- ports:
- - 0.0.0.0:4000:4000
- env:
- TZ: Europe/Berlin
- HTTP_PORT: 4000
- CONFIG_PATH: /config
- #~ INITIAL_CONFIG: {}
- # nginx frontend
- VIRTUAL_PORT: 4000
- volumes:
- - /opt/fast/mqtt/explorer:/config
|