nuked the local es-scrcpy

This commit is contained in:
user
2026-03-28 13:34:53 +02:00
parent 94af2a2065
commit acf7b28086
5 changed files with 191 additions and 96 deletions

View File

@@ -1,47 +0,0 @@
FROM node:25.6.1-bookworm-slim AS app-builder
ARG ANDROID_SDK_ROOT=/opt/android-sdk
ARG ANDROID_CMDLINE_TOOLS_VERSION=13114758
RUN apt-get update && apt-get install -y --no-install-recommends \
bash \
ca-certificates \
curl \
git \
openjdk-17-jdk \
unzip \
&& rm -rf /var/lib/apt/lists/*
ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ENV ANDROID_SDK_ROOT=${ANDROID_SDK_ROOT}
ENV ANDROID_HOME=${ANDROID_SDK_ROOT}
ENV PATH=${JAVA_HOME}/bin:${ANDROID_SDK_ROOT}/cmdline-tools/latest/bin:${ANDROID_SDK_ROOT}/platform-tools:${PATH}
RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools /tmp/android-sdk && \
curl -fsSL -o /tmp/android-sdk/cmdline-tools.zip \
https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_CMDLINE_TOOLS_VERSION}_latest.zip && \
unzip -q /tmp/android-sdk/cmdline-tools.zip -d /tmp/android-sdk && \
mv /tmp/android-sdk/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest && \
yes | sdkmanager --licenses > /dev/null && \
sdkmanager \
"platform-tools" \
"platforms;android-36" \
"build-tools;36.0.0" && \
rm -rf /tmp/android-sdk
RUN npm i -g pnpm
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY apps/app-builder/package.json ./apps/app-builder/package.json
COPY packages ./packages
RUN pnpm install --frozen-lockfile
COPY apps/app-builder ./apps/app-builder
COPY mobile ./mobile
EXPOSE 3000
CMD ["pnpm", "--filter", "@apps/app-builder", "run", "prod"]

View File

@@ -1,21 +0,0 @@
FROM node:25.6.1-alpine AS deps
RUN npm i -g pnpm
WORKDIR /app
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml turbo.json ./
COPY apps/processor/package.json ./apps/processor/package.json
COPY packages ./packages
RUN pnpm install --frozen-lockfile
COPY apps/processor ./apps/processor
RUN pnpm install
EXPOSE 3000
CMD ["pnpm", "--filter", "@apps/processor", "run", "prod"]

View File

@@ -0,0 +1,29 @@
FROM node:25.7.0-bookworm
# System deps: ADB for device communication, build tools for native modules (node-pty)
RUN apt-get update && \
apt-get install -y android-tools-adb python3 make g++ git && \
rm -rf /var/lib/apt/lists/*
# Clone and build ws-scrcpy
WORKDIR /build
RUN git clone --depth 1 https://github.com/NetrisTV/ws-scrcpy.git . && \
npm install && \
npm run dist:prod
# Set up runtime
WORKDIR /app
RUN cp -r /build/dist/* . && \
npm install && \
rm -rf /build
# Config: Android tracker on, no iOS, HTTP on port 8000 (Traefik handles TLS)
RUN printf 'runGoogTracker: true\nrunApplTracker: false\n\nserver:\n - secure: false\n port: 8000\n' > /app/config.yaml
# Entrypoint: start ADB, connect to device if configured, then launch
RUN printf '#!/bin/bash\nset -e\nadb start-server\nif [ -n "$ADB_DEVICE_HOST" ]; then\n echo "Connecting to ADB device at $ADB_DEVICE_HOST:${ADB_DEVICE_PORT:-5555}"\n adb connect "$ADB_DEVICE_HOST:${ADB_DEVICE_PORT:-5555}"\n sleep 2\n adb devices\nfi\nexec node index.js\n' > /entrypoint.sh && \
chmod +x /entrypoint.sh
EXPOSE 8000
ENTRYPOINT ["/entrypoint.sh"]