yaml
This commit is contained in:
314
appRobot_full_portainer_Stack.yaml
Normal file
314
appRobot_full_portainer_Stack.yaml
Normal file
@@ -0,0 +1,314 @@
|
||||
services:
|
||||
|
||||
appRobotGuacamole:
|
||||
image: abesnier/guacamole:latest
|
||||
container_name: appRobot_guacamole
|
||||
ports:
|
||||
- "8080:8080"
|
||||
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
|
||||
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
|
||||
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:24-alpine
|
||||
container_name: appRobot_Homing
|
||||
working_dir: /app
|
||||
volumes:
|
||||
- /home/chk/Documents/appRobotHoming:/app
|
||||
- /home/chk/Documents/AppRobotVideo/public/snapshots:/app/public/snapshots
|
||||
environment:
|
||||
- WSS_VIDEO_DRIVER=wss://localhost:8448
|
||||
- WSS_URL=wss://appRobot_Driver:2095
|
||||
- HTTPS_PORT=2093
|
||||
- WEBCAM_URL=http://appRobotWebcam:8444
|
||||
- BODYTRACKER_URL=http://appRobotBodyTracker:8446
|
||||
ports:
|
||||
- "2093:2093"
|
||||
depends_on:
|
||||
- appRobotDriver
|
||||
command: >
|
||||
/bin/sh -lc "npm ci || npm install && node server/server.js"
|
||||
networks:
|
||||
- default
|
||||
restart: unless-stopped
|
||||
|
||||
# appRobotDirectBase:
|
||||
# image: node:20-bullseye
|
||||
# container_name: appRobot_DirectBase
|
||||
# network_mode: host
|
||||
# working_dir: /app
|
||||
# volumes:
|
||||
# - /home/chk/Documents/appRobotDirectControlBase:/app
|
||||
# environment:
|
||||
# - FluidNcHost=192.168.0.183
|
||||
# - FluidNcPort=80
|
||||
# - PORT=2098
|
||||
# ports:
|
||||
# - "2098:2098"
|
||||
# command: >
|
||||
# /bin/bash -lc "
|
||||
# npm ci || npm install &&
|
||||
# node server/server.js
|
||||
# "
|
||||
# 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:AppRobotWebcam: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 \
|
||||
tunnel@server.schooltech.ch -p 2255
|
||||
"
|
||||
|
||||
cloudflared:
|
||||
image: cloudflare/cloudflared:latest
|
||||
container_name: appServer_cloudflare
|
||||
command: tunnel --no-autoupdate run --token eyJhIjoiOWUyYzk0OTI1ZWVlNmE4NjRiZjllZGRiM2ZmMDRmMTUiLCJ0IjoiZDc2YzI2MjAtZGE0ZC00OTJmLWI5YjgtODNjMjgwNjQ5MTFlIiwicyI6IllUbGpPREJtTURndFpHSTVZUzAwWkRnekxXRTRNek10TXpaaE56WTBabUpsT1RBMSJ9
|
||||
# networks:
|
||||
# - default
|
||||
# - appRobotNet
|
||||
restart: unless-stopped
|
||||
|
||||
|
||||
|
||||
|
||||
appRobot_nextcloud_db:
|
||||
image: mariadb:latest
|
||||
container_name: appRobot_nextcloud_db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: KantiWattwilABC
|
||||
MYSQL_DATABASE: nextcloud
|
||||
MYSQL_USER: nextcloud
|
||||
MYSQL_PASSWORD: KantiABC122nextcloudX3!
|
||||
volumes:
|
||||
- /home/chk/Documents/appRobotNextCloud/db:/var/lib/mysql
|
||||
|
||||
appRobot_nextcloud:
|
||||
image: nextcloud:latest
|
||||
container_name: appRobot_nextcloud
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
MYSQL_PASSWORD: KantiABC122nextcloudX3!
|
||||
MYSQL_DATABASE: nextcloud
|
||||
MYSQL_USER: nextcloud
|
||||
MYSQL_HOST: appRobot_nextcloud_db
|
||||
volumes:
|
||||
- /home/chk/Documents/appRobotNextCloud/nextcloud:/var/www/html
|
||||
- /home/chk/Documents:/mnt/server:rw
|
||||
depends_on:
|
||||
- appRobot_nextcloud_db
|
||||
ports:
|
||||
- "9183:80"
|
||||
|
||||
|
||||
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
|
||||
# Alternativ: node:20-alpine (kleiner, aber evtl. openssl/ca/certs nachziehen)
|
||||
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
|
||||
|
||||
|
||||
appRobot_CodeServer:
|
||||
image: lscr.io/linuxserver/code-server
|
||||
container_name: appRobot_CodeServer
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
PUID: "1000"
|
||||
PGID: "1000"
|
||||
TZ: "Europe/Rome"
|
||||
AUTH: "none"
|
||||
PASSWORD: "Albula60"
|
||||
ports:
|
||||
- "9743:8443"
|
||||
volumes:
|
||||
- /home/chk/Documents/appRobotDriver:/workspace/appRobotDriver
|
||||
- /home/chk/Documents/appRobotHoming:/workspace/appRobotHoming
|
||||
- /home/chk/Documents/appRobotControl:/workspace/appRobotControl
|
||||
- /home/chk/Documents/AppRobotVideo/public/snapshots:/workspace/appRobotHoming/public/snapshots
|
||||
working_dir: /workspace
|
||||
|
||||
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 8444
|
||||
image: approbotwebcam:latest
|
||||
container_name: AppRobotWebcam
|
||||
restart: unless-stopped
|
||||
# 8444 am Host veröffentlicht → direkter LAN-Zugriff (http://<host>:8444) bleibt.
|
||||
# Wenn ALLES über den Proxy läuft, diesen ports-Block entfernen → proxy-only.
|
||||
ports:
|
||||
- "8444:8444"
|
||||
command: sh -c "npm install --omit=dev && node server.js"
|
||||
volumes:
|
||||
- ${APP_PATH:-.}:/usr/src/app
|
||||
devices:
|
||||
# by-id (Host) → /dev/videoN (Container) – stabil über Reboots und USB-Re-Plugs.
|
||||
# Rechte Seite = Pfad den cameras.json + FFmpeg im Container sehen.
|
||||
- /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
|
||||
group_add:
|
||||
- video
|
||||
environment:
|
||||
- NODE_ENV=production
|
||||
- PORT=8444
|
||||
|
||||
networks:
|
||||
default:
|
||||
driver: bridge
|
||||
|
||||
0
docker-compose-robot.yaml
Normal file
0
docker-compose-robot.yaml
Normal file
Reference in New Issue
Block a user