überlegung windsows

This commit is contained in:
chk
2026-04-26 20:38:41 +02:00
parent 929b738bcc
commit 096bce11da
2 changed files with 79 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
version: "3.3"
services:
appvideoserver:
image: node:lts-bookworm-slim # Standard-Image, kein Build nötig
container_name: AppRobotVideo
working_dir: /usr/src/app
volumes:
- .:/usr/src/app # Mountet dein Workspace (inkl. install_inside_docker.sh und .installed)
ports:
- "8448:8443"
extra_hosts:
- "host.docker.internal:host-gateway"
init: true
command: >
sh -c "
# Einmalige Installation: Checke Flag-File (.installed im gemounteten Volume)
if [ ! -f .installed ]; then
echo 'Running first-time installation...'
./install_inside_docker.sh && touch .installed
else
echo 'Installation already done, skipping...'
fi &&
# NPM-Installation (einmalig machen, wenn gewünscht hier immer, aber du kannst es anpassen)
if [ -f package-lock.json ] || [ -f npm-shrinkwrap.json ]; then
npm ci || npm install
else
npm install
fi &&
# Starte die App
npm start"
environment:
- NODE_ENV=production
- HOST_UID=${UID-1000}
- HOST_GID=${GID-1000}
- DEV0=/dev/video0
- DEV1=/dev/video2
- TARGET_SERVER=wss://host.docker.internal:2096
# Optional: Env-Var für dein Script (z.B. um es zu überspringen)
- SKIP_INSTALL=false # Kannst du setzen, um manuell zu überspringen
restart: unless-stopped
networks:
- appRobotNet
- default
privileged: true
cap_add:
- SYS_ADMIN
security_opt:
- seccomp:unconfined
networks:
default:
driver: bridge
appRobotNet:
external: true