Files
appRobotDriver/appRobot_full_portainer_Stack.yaml
2026-06-14 10:32:31 +02:00

246 lines
7.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
services:
appRobotGuacamole:
image: abesnier/guacamole:latest
container_name: appRobot_guacamole
volumes:
- /home/chk/Documents/appServerInstallation/guacamole/config:/config/guacamole
- /home/chk/Documents/appServerInstallation/guacamole/postgres:/config/postgres
restart: unless-stopped
extra_hosts:
- "host.docker.internal:host-gateway"
networks:
- default
appRobotDriver:
container_name: appRobot_Driver
image: node:24-alpine
working_dir: /usr/src/app
volumes:
- /home/chk/Documents/appRobotDriver:/usr/src/app
command: npm start
restart: unless-stopped
environment:
- NODE_ENV=development
- NODE_OPTIONS=--inspect=0.0.0.0:2081
- GRBL_BASE_IP=192.168.0.183
- GRBL_ELLBOW_IP=192.168.0.202
- GRBL_HAND_IP=192.168.0.250
- ROBOT_SPEED_MODE=correct
- ROBOT_KINEMATICS=arm3segmentlinearx
- ROBOT_GRBL_AUTOREPORT=true
- ROBOT_GRBL_REPORT_INTERVAL=200
ports:
- "2098:2098"
- "2081:2081"
networks:
- default
appRobotSimulation:
container_name: appRobot_Simulation
image: node:24-alpine
working_dir: /usr/src/app
volumes:
- /home/chk/Documents/appRobotSimulation:/usr/src/app
environment:
- TARGET_SERVER=wss://appRobot_Driver:2095
command: npm start
depends_on:
- appRobotDriver
restart: unless-stopped
ports:
- "1003:1003"
networks:
- default
appRobotControl:
image: node:24-alpine
container_name: appRobot_Control
working_dir: /app
command: sh -c "npm install && node --inspect=0.0.0.0:9229 3DInput.js"
ports:
- "10010:10010"
- "9229:9229"
volumes:
- /home/chk/Documents/appRobotControl:/app
environment:
#- NODE_ENV=production
- NODE_ENV=development # mit debugging
- TARGET_SERVER=wss://appRobot_Driver:2095
depends_on:
- appRobotDriver
restart: unless-stopped
appRobotHoming:
image: node:20-bullseye
container_name: appRobot_Homing
working_dir: /app
volumes:
- /home/chk/Documents/appRobotHoming:/app
environment:
- WSS_VIDEO_DRIVER=wss://appRobot_Webcam:8448
- WSS_URL=wss://appRobot_Driver:2095
- HTTPS_PORT=2093
- WEBCAM_URL=http://appRobot_Webcam:8444
- BODYTRACKER_URL=http://appRobotBodyTracker:8446
ports:
- "2093:2093"
depends_on:
- appRobotDriver
command: >
/bin/bash -lc "apt-get update -qq && apt-get install -y --no-install-recommends python3-pip && pip3 install --quiet --no-cache-dir opencv-python-headless numpy && npm ci || npm install && node server/server.js"
networks:
- default
restart: unless-stopped
appRobot_Tunnel:
image: alpine:latest
container_name: appRobot_Tunnel
restart: unless-stopped
environment:
- TZ=Europe/Zurich
volumes:
- /home/chk/Documents/AppServerPortalUI/.ssh:/root/.ssh:ro
command: >
/bin/sh -c "
apk add --no-cache openssh-client autossh &&
autossh -M 0 -N -o StrictHostKeyChecking=no \
-i /root/.ssh/id_ed25519 \
-o StrictHostKeyChecking=no \
-o ServerAliveInterval=60 \
-o ServerAliveCountMax=10 \
-o ExitOnForwardFailure=yes \
-N \
-R 0.0.0.0:9703:portainer:9000 \
-R 0.0.0.0:9710:appRobot_Control:10010 \
-R 0.0.0.0:9798:appRobot_Driver:2098 \
-R 0.0.0.0:9712:appRobot_Simulation:1003\
-R 0.0.0.0:9743:appRobot_Webcam:8444 \
-R 0.0.0.0:9780:appRobot_guacamole:8080 \
-R 0.0.0.0:9793:appRobot_Homing:2093 \
-R 0.0.0.0:9725:appRobot_AccessBase:443 \
-R 0.0.0.0:9726:appRobot_AccessEllbow:443 \
-R 0.0.0.0:9727:appRobot_AccessHand:443 \
-R 0.0.0.0:9744:appRobot_CodeServer:8443 \
-R 0.0.0.0:7060:overleaf:80 \
tunnel@server.schooltech.ch -p 2255
"
cloudflared:
image: cloudflare/cloudflared:latest
container_name: appServer_cloudflare
command: tunnel --no-autoupdate run --token eyJhIjoiOWUyYzk0OTI1ZWVlNmE4NjRiZjllZGRiM2ZmMDRmMTUiLCJ0IjoiZDc2YzI2MjAtZGE0ZC00OTJmLWI5YjgtODNjMjgwNjQ5MTFlIiwicyI6IllUbGpPREJtTURndFpHSTVZUzAwWkRnekxXRTRNek10TXpaaE56WTBabUpsT1RBMSJ9
restart: unless-stopped
appRobot_AccessBase:
image: node:20-bullseye
# Alternativ: node:20-alpine (kleiner, aber evtl. openssl/ca/certs nachziehen)
container_name: appRobot_AccessBase
working_dir: /app
volumes:
- /home/chk/Documents/appRobotControlScara:/app
environment:
- FluidNcHost=192.168.0.183 #fluidncbase.local
- FluidNcPort=80
- PORT=443
command: >
/bin/bash -lc "
npm ci || npm install &&
node server/server.js
"
restart: unless-stopped
appRobot_AccessEllbow:
image: node:20-bullseye
# Alternativ: node:20-alpine (kleiner, aber evtl. openssl/ca/certs nachziehen)
container_name: appRobot_AccessEllbow
working_dir: /app
volumes:
- /home/chk/Documents/appRobotControlScara:/app
environment:
- FluidNcHost=192.168.0.202 #fluidncellbow.local
- FluidNcPort=80
- PORT=443
command: >
/bin/bash -lc "
npm ci || npm install &&
node server/server.js
"
restart: unless-stopped
appRobot_AccessHand:
image: node:20-bullseye
container_name: appRobot_AccessHand
working_dir: /app
volumes:
- /home/chk/Documents/appRobotControlScara:/app
environment:
- FluidNcHost=192.168.0.250 #fluidnchand.local
- FluidNcPort=80
- PORT=443
command: >
/bin/bash -lc "
npm ci || npm install &&
node server/server.js
"
restart: unless-stopped
yolo:
image: ultralytics/ultralytics:latest
container_name: appRobot_Yolo
working_dir: /app
volumes:
- /home/chk/Documents/appRobotYolo:/app
- /home/chk/Documents/AppRobotVideo/public/snapshots:/snapshots
command: python watcher.py
restart: unless-stopped
webcam:
build:
context: /tmp
dockerfile_inline: |
FROM node:lts-bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
EXPOSE 8424
image: approbotwebcam:latest
container_name: appRobot_Webcam
restart: unless-stopped
ports:
- "8444:8444"
command: >
sh -c "(apt-get update && apt-get install -y --no-install-recommends i965-va-driver libva-drm2 vainfo) || echo 'WARN: VA-Treiber-Install fehlgeschlagen H.264 evtl. nicht verfuegbar';
npm install --omit=dev && node server.js"
volumes:
- /home/chk/Documents/appRobotWebcam:/usr/src/app
devices:
- /dev/v4l/by-id/usb-046d_0825_3BB3FE20-video-index0:/dev/video0 # cam0 C270 (046d:0825)
- /dev/v4l/by-id/usb-046d_081b_342D4F40-video-index0:/dev/video2 # cam1 C270 (046d:081b)
- /dev/v4l/by-id/usb-046d_HD_Pro_Webcam_C920_9C5591DF-video-index0:/dev/video4 # cam2 C920
- /dev/dri:/dev/dri
group_add:
- video
environment:
- NODE_ENV=production
- PORT=8444
- LIBVA_DRIVER_NAME=i965
networks:
default:
driver: bridge