services.yml 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  1. ---
  2. jupyter: # pw: letscode.00
  3. host:
  4. himbeere:
  5. fqdn: code.cere.duckdns.org
  6. docker:
  7. build: jupyter
  8. ports: 17888:80
  9. volumes:
  10. - /mnt/ssdext/data/jupyter/notebooks:/root/notebooks
  11. - /mnt/ssdext/data/jupyter/config:/root/.local
  12. - /mnt/ssdext/data/jupyter/config_root:/root/.jupyter
  13. #~ blaubeere:
  14. #~ docker:
  15. #~ build: jupyter
  16. #~ ports: 17888:8888
  17. #~ volumes:
  18. #~ - /opt/jupyter/notebooks:/root/notebooks
  19. #~ - /opt/jupyter/config:/root/.local
  20. #~ - /opt/jupyter/config_root:/root/.jupyter
  21. docker:
  22. build: jupyter
  23. jlab:
  24. host: stachelbeere
  25. docker:
  26. build: jlab
  27. image: jlab
  28. ports: 80:8888
  29. volumes:
  30. - /opt/jlab/notebooks:/root/notebooks
  31. domoticz:
  32. host: himbeere
  33. fqdn: domo.cere.duckdns.org
  34. docker:
  35. build: domoticz
  36. image: domoticz
  37. #~ image: domoticz/domoticz:stable
  38. volumes:
  39. # - /etc/localtime:/etc/localtime
  40. # - /mnt/ssdext/data/domoticz/domoticz.db:/root/domoticz/domoticz.db
  41. - /mnt/ssdext/data/domoticz:/opt/domoticz/userdata
  42. ports: 8080:80
  43. devices: /dev/ttyUSB0
  44. env:
  45. TZ: Europe/Amsterdam
  46. WWW_PORT: 80
  47. commands:
  48. backup_db: /bin/bash -c "cp -p /opt/domoticz/userdata/domoticz.db /opt/domoticz/userdata/domoticz.db.`date +%Y.%m.%d.%H.%M.%S`"
  49. cleanup_meter_values: python3 /fix_meter_values.py
  50. #~ influxdb: # receive data from domoticz
  51. #~ host: himbeere
  52. #~ fqdn: influx.cere.duckdns.org
  53. #~ docker:
  54. #~ image: arm32v7/influxdb:latest
  55. #~ volumes:
  56. #~ - /mnt/ssdext/data/influxdb/data:/var/lib/influxdb2
  57. #~ # - /mnt/ssdext/data/influxdb/config:/etc/influxdb2
  58. #~ env:
  59. #~ VIRTUAL_PORT: 8086
  60. #~ # DOCKER_INFLUXDB_INIT_MODE: setup
  61. #~ # DOCKER_INFLUXDB_INIT_USERNAME: dirk
  62. #~ # DOCKER_INFLUXDB_INIT_PASSWORD: "#*influx.00"
  63. #~ # DOCKER_INFLUXDB_INIT_ORG: rothe
  64. #~ # DOCKER_INFLUXDB_INIT_BUCKET: home_bucket
  65. #~ # DOCKER_INFLUXDB_INIT_RETENTION: 1w
  66. #~ # DOCKER_INFLUXDB_INIT_ADMIN_TOKEN: "123XY.00"
  67. #~ INFLUXDB_REPORTING_DISABLED: true
  68. #~ INFLUXDB_ADMIN_USER: influx_admin
  69. #~ INFLUXDB_ADMIN_PASSWORD: pass
  70. #~ INFLUXDB_HTTP_AUTH_ENABLED: "true"
  71. #~ chronograf:
  72. #~ host: himbeere
  73. #~ fqdn: chronograf.cere.duckdns.org
  74. #~ docker:
  75. #~ image: arm32v7/chronograf:latest
  76. #~ volumes:
  77. #~ - /mnt/ssdext/data/chronograf/data:/var/lib/chronograf
  78. #~ env:
  79. #~ VIRTUAL_PORT: 8888
  80. grafana:
  81. host: himbeere
  82. fqdn: grafana.cere.duckdns.org
  83. docker:
  84. image: grafana/grafana-oss
  85. env:
  86. VIRTUAL_PORT: 3000
  87. volumes:
  88. # see https://grafana.com/docs/grafana/v9.0/setup-grafana/configure-docker/#default-paths
  89. - /mnt/ssdext/data/grafana/data:/var/lib/grafana
  90. - /mnt/ssdext/data/grafana/log:/var/log/grafana
  91. - /mnt/ssdext/data/grafana/plugins:/var/lib/grafana/plugins
  92. graphite: # https://hub.docker.com/r/graphiteapp/graphite-statsd/
  93. host: himbeere
  94. docker:
  95. #~ build: graphite
  96. image: graphiteapp/graphite-statsd
  97. volumes:
  98. - /mnt/ssdext/data/graphite/storage:/opt/graphite/storage
  99. - /mnt/ssdext/data/graphite/log:/var/log
  100. - /mnt/ssdext/data/graphite/redis:/var/lib/redis
  101. #~ - /mnt/ssdext/data/graphite/logs:/var/log/supervisor
  102. #~ ports:
  103. #~ - 13080:8000
  104. #~ - 8125:8125/udp
  105. #~ - 8126:8126
  106. netdata:
  107. host: himbeere
  108. #~ fqdn: netdata.cere.duckdns.org
  109. docker:
  110. hostname: himbeere
  111. build: netdata
  112. # image: reneluria/netdata
  113. cap_add: SYS_PTRACE
  114. volumes:
  115. - /proc:/host/proc:ro
  116. - /sys:/host/sys:ro
  117. - /var/run/docker.sock:/var/run/docker.sock
  118. ports: 0.0.0.0:19999:19999
  119. # https://github.com/mkueper/rpi-svn
  120. svn:
  121. host: himbeere
  122. docker:
  123. build: svn
  124. volumes:
  125. - /mnt/ssdext/data/svn:/var/svn
  126. ports: 3690:3690
  127. stop_signal: SIGKILL
  128. ngp: # nginx proxy with lets encrypt
  129. host: himbeere
  130. docker:
  131. - name: nginx-proxy
  132. build: ngp
  133. ports: 192.168.178.43:1080:80, 192.168.178.43:1443:443
  134. volumes:
  135. - /usr/share/nginx/html
  136. - /mnt/ssdext/data/nginx/htpasswd:/etc/nginx/htpasswd \
  137. - /var/run/docker.sock:/tmp/docker.sock:ro
  138. - /mnt/ssdext/data/nginx/certs:/etc/nginx/certs:ro
  139. # see https://github.com/jwilder/nginx-proxy#per-virtual_host
  140. - /mnt/ssdext/data/nginx/vhost.d:/etc/nginx/vhost.d:ro
  141. labels:
  142. com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
  143. commands:
  144. nginx_conf:
  145. method: exec
  146. cmd: cat /etc/nginx/conf.d/default.conf
  147. docs: show dockergen-generated config
  148. - name: ngp_le
  149. build: ngp_le
  150. volumes_from: nginx-proxy
  151. volumes:
  152. - /mnt/ssdext/data/nginx/certs:/etc/nginx/certs:rw
  153. - /var/run/docker.sock:/var/run/docker.sock:ro
  154. - /mnt/ssdext/data/nginx/vhost.d:/etc/nginx/vhost.d:rw
  155. #~ nexus:
  156. #~ host: himbeere
  157. #~ docker:
  158. #~ build: nexus
  159. #~ volumes:
  160. #~ - /etc/localtime:/etc/localtime
  161. #~ - /mnt/ssdext/data/nexus:/opt/sonatype-work
  162. #~ ports: 1381:8081
  163. #~ pypy:
  164. #~ host: himbeere
  165. #~ docker:
  166. #~ build: pypy
  167. #~ volumes:
  168. #~ - /etc/localtime:/etc/localtime
  169. piusv:
  170. host: himbeere
  171. docker:
  172. build: piusv
  173. devices: /dev/i2c-1
  174. # S.USV Daemon started..
  175. # Kann nicht auf export schreiben!
  176. # : Read-only file system
  177. privileged: true
  178. volumes: /mnt/ssdext/data/piusv/log:/var/log/
  179. commands:
  180. # Zwei I²C-Adressen sind im Einsatz – 0x0F für die S.USV und 0x68 für die Real Time Clock,
  181. # die sich auf der S.USV befindet
  182. i2cdetect: i2cdetect -y 1
  183. # Der S.USV Daemon erstellt ein Protokoll in der Datei: /var/log/susvd.log
  184. usv_logs: tail -f -n 100 /var/log/susvd.log
  185. rsync:
  186. host: himbeere
  187. docker:
  188. build: rsync
  189. volumes:
  190. - /etc/localtime:/etc/localtime
  191. - /mnt/ssdext/data:/opt/from
  192. - /mnt/hddext/backup:/opt/to
  193. restart_policy:
  194. always: 3
  195. gogs: # git server with wiki
  196. host: himbeere
  197. fqdn: git.cere.duckdns.org
  198. docker:
  199. image: gogs/gogs-rpi
  200. volumes: /mnt/ssdext/data/gogs:/data
  201. ports: 3022:22
  202. env:
  203. VIRTUAL_PORT: 3000
  204. healthcheck:
  205. test: curl -I --silent http://localhost:3000 | grep "404 Not Found"
  206. interval: 10 # seconds
  207. alexa: # https://alexa.amazon.de
  208. fqdn: alexa.cere.duckdns.org
  209. host: himbeere
  210. docker:
  211. build: alexa
  212. env:
  213. DOMO_ALEXA_PW: ibm92buVQ12nhipkP4fg
  214. matrix-zmq:
  215. host: waldbeere
  216. docker:
  217. init: true
  218. build: matrix-zmq
  219. # matrix driver needs access to /dev/mem
  220. privileged: true
  221. ports: 1337:1337
  222. # --led-slowdown-gpio=2 --led-pwm-lsb-nanoseconds=50
  223. 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'
  224. matrix-ft:
  225. host: blaubeere
  226. docker:
  227. init: true
  228. build: flaschentaschen
  229. # matrix driver needs access to /dev/mem
  230. privileged: true
  231. ports: 1337:1337/udp
  232. # --led-pwm-dither-bits=1
  233. 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'
  234. commands:
  235. d_life: /root/ft-demos/life -g 192x64 -d 50
  236. d_matrix: /root/ft-demos/matrix -g 192x64
  237. d_quilt: /root/ft-demos/quilt -g 192x64
  238. d_fractal: /root/ft-demos/fractal -g 192x64
  239. d_hack: /root/ft-demos/hack -g 192x64
  240. d_midi: /root/ft-demos/midi -g 192x64
  241. d_maze: /root/ft-demos/maze -g 192x64
  242. d_plasma: /root/ft-demos/plasma -g 192x64
  243. d_lines: /root/ft-demos/lines -g 192x64 -a one
  244. d_boxes: /root/ft-demos/blur -g 192x64 boxes
  245. d_bolt: /root/ft-demos/blur -g 192x64 bolt
  246. d_sierpinski: /root/ft-demos/sierpinski -g 192x64
  247. matrix-ft-brom:
  248. host: brombeere
  249. docker:
  250. init: true
  251. build: flaschentaschen
  252. # matrix driver needs access to /dev/mem
  253. privileged: true
  254. ports: 1337:1337/udp
  255. # --led-pwm-dither-bits=1
  256. 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'
  257. commands:
  258. d_life: /root/ft-demos/life -g 128x128 -d 50
  259. d_matrix: /root/ft-demos/matrix -g 128x128
  260. d_quilt: /root/ft-demos/quilt -g 128x128
  261. d_fractal: /root/ft-demos/fractal -g 128x128
  262. d_hack: /root/ft-demos/hack -g 128x128
  263. d_midi: /root/ft-demos/midi -g 128x128
  264. d_maze: /root/ft-demos/maze -g 128x128
  265. d_plasma: /root/ft-demos/plasma -g 128x128
  266. d_lines: /root/ft-demos/lines -g 128x128 -a one
  267. d_boxes: /root/ft-demos/blur -g 128x128 boxes
  268. d_bolt: /root/ft-demos/blur -g 128x128 bolt
  269. d_sierpinski: /root/ft-demos/sierpinski -g 128x128
  270. matrix-brom:
  271. host: blaubeere
  272. docker:
  273. init: true
  274. build: matrix/light
  275. import: pixel
  276. # matrix driver needs access to /dev/mem
  277. privileged: true
  278. # ports: 10000:10000/udp, 10001:10001/udp
  279. volumes:
  280. - /opt/pixel:/pixel
  281. env:
  282. LED_ROWS: 64
  283. LED_COLS: 64
  284. commands:
  285. # some rotating square
  286. demo00: examples-api-use/demo --led-rows=64 --led-cols=64 --led-show-refresh -D 0
  287. matrix: # interface with RGB LED-Matrix
  288. host: waldbeere
  289. docker:
  290. init: true
  291. build: matrix/fat
  292. # matrix driver needs access to /dev/mem
  293. privileged: true
  294. ports: 17888:8888, 10000:10000/udp, 10001:10001/udp
  295. volumes:
  296. - /opt/jupyter/notebooks:/root/notebooks
  297. - /opt/jupyter/config:/root/.local
  298. - /opt/jupyter/config_root:/root/.jupyter
  299. - /opt/jupyter/config_ipy_root:/root/.ipython
  300. - /opt/pixel:/pixel
  301. commands:
  302. # some rotating square
  303. demo00: examples-api-use/demo -c 6 -R 180 --led-show-refresh -D0
  304. # forward scrolling an image
  305. demo01: examples-api-use/demo -c 6 -R 180 --led-show-refresh -D1 examples-api-use/runtext.ppm
  306. # test image
  307. demo03: examples-api-use/demo -c 6 -R 180 -D3
  308. # Abelian sandpile model (-m <time-step-ms>)
  309. demo06: examples-api-use/demo -c 6 -R 180 -D6
  310. # Conway's game of life (-m <time-step-ms>)
  311. demo07: /bin/bash -c "while true; do examples-api-use/demo -c 6 -R 180 -b 100 -D7 -t 15; done"
  312. # Langton's ant (-m <time-step-ms>)
  313. demo08: examples-api-use/demo -c 6 -R 180 -m 1 --led-show-refresh -D8
  314. # Volume bars
  315. demo09: examples-api-use/demo -c 6 -R 180 -D9
  316. # Evolution of color
  317. demo10: examples-api-use/demo -c 6 -R 180 -D10
  318. # Brightness pulse generator
  319. demo11: examples-api-use/demo -c 6 -R 180 --led-pwm-bits=11 -D11
  320. # python sample: rotatatin block
  321. pydemo1: bindings/python/samples/rotating-block-generator.py -c 6 -R 180 --led-show-refresh
  322. # python sample: like demo01
  323. pydemo2: bindings/python/samples/image-scroller.py -c 6 -R 180 --led-show-refresh -i examples-api-use/runtext.ppm
  324. # python sample: rotatatin block
  325. pydemo3: bindings/python/samples/simple-square.py -c 6 -R 180 --led-show-refresh
  326. # tail logs of pixelreceiver (udp server)
  327. pixel_logs: tail -f /pixel/receive.log
  328. # kill pixel receiver
  329. pixel_kill: pkill -f "python -u /pixelreceiver.py"
  330. matrix2: # zerow: interface with RGB LED-Matrix
  331. host: blaubeere
  332. docker:
  333. init: true
  334. build: matrix/light
  335. import: pixel
  336. # matrix driver needs access to /dev/mem
  337. privileged: true
  338. # ports: 10000:10000/udp, 10001:10001/udp
  339. volumes:
  340. - /opt/pixel:/pixel
  341. env:
  342. LED_ROWS: 64
  343. LED_COLS: 192
  344. commands:
  345. # some rotating square
  346. demo00: examples-api-use/demo --led-rows=64 --led-cols=192 --led-pixel-mapper=U-mapper;Rotate:180 --led-show-refresh -D 0
  347. # forward scrolling an image
  348. 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
  349. # test image
  350. demo03: examples-api-use/demo --led-rows=64 --led-cols=192 -D 3
  351. # Abelian sandpile model (-m <time-step-ms>)
  352. demo06: examples-api-use/demo -c 6 --led-rows=64 -D 6
  353. # Conway's game of life (-m <time-step-ms>)
  354. 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"
  355. # Langton's ant (-m <time-step-ms>)
  356. demo08: examples-api-use/demo -c 6 --led-rows=64 -m 1 --led-show-refresh -D 8
  357. # Volume bars
  358. demo09: examples-api-use/demo -c 6 --led-rows=64 -D 9
  359. # Evolution of color
  360. demo10: examples-api-use/demo -c 6 --led-rows=64 -D 10
  361. # Brightness pulse generator
  362. demo11: examples-api-use/demo --led-rows=64 --led-cols=192 --led-pwm-bits=11 -D 11
  363. # python sample: rotatatin block
  364. pydemo1: bindings/python/samples/rotating-block-generator.py -c 6 --led-rows=64 --led-show-refresh
  365. # python sample: like demo01
  366. pydemo2: bindings/python/samples/image-scroller.py -c 6 --led-rows=64 --led-show-refresh -i examples-api-use/runtext.ppm
  367. # python sample: rotatatin block
  368. pydemo3: bindings/python/samples/simple-square.py -c 6 --led-rows=64 --led-show-refresh
  369. # tail logs of pixelreceiver (udp server)
  370. pixel_logs: tail -f /pixel/receive.log
  371. # kill pixel receiver
  372. pixel_kill: pkill -f "python -u /pixelreceiver.py"
  373. vaping:
  374. host: waldbeere
  375. docker:
  376. build: vaping
  377. ports: 6080:7021
  378. log_config: {type: none}
  379. streamripper:
  380. host: stachelbeere
  381. docker:
  382. build: streamripper
  383. volumes:
  384. - /opt/streamripper:/home/streamripper
  385. command: 'https://somafm.com/defcon256.pls -s -m 30 --xs2 -o never -T'