Remove axios from the realtime server dependencies to avoid header injection risk, switch Docker builds to npm ci, and bump the realtime image version to 1.0.15.
30 lines
1.2 KiB
Docker
30 lines
1.2 KiB
Docker
# Versions
|
|
# https://github.com/soketi/soketi/releases
|
|
ARG SOKETI_VERSION=1.6-16-alpine
|
|
# https://github.com/cloudflare/cloudflared/releases
|
|
ARG CLOUDFLARED_VERSION=2025.7.0
|
|
|
|
FROM quay.io/soketi/soketi:${SOKETI_VERSION}
|
|
|
|
ARG TARGETPLATFORM
|
|
ARG CLOUDFLARED_VERSION
|
|
|
|
WORKDIR /terminal
|
|
RUN apk upgrade --no-cache && \
|
|
apk add --no-cache openssh-client make g++ python3 curl
|
|
COPY docker/coolify-realtime/package*.json ./
|
|
RUN npm ci
|
|
RUN npm rebuild node-pty --update-binary
|
|
COPY docker/coolify-realtime/soketi-entrypoint.sh /soketi-entrypoint.sh
|
|
COPY docker/coolify-realtime/terminal-server.js /terminal/terminal-server.js
|
|
COPY docker/coolify-realtime/terminal-utils.js /terminal/terminal-utils.js
|
|
|
|
# Install Cloudflared based on architecture
|
|
RUN if [ "${TARGETPLATFORM}" = "linux/amd64" ]; then \
|
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-amd64" -o /usr/local/bin/cloudflared; \
|
|
elif [ "${TARGETPLATFORM}" = "linux/arm64" ]; then \
|
|
curl -sSL "https://github.com/cloudflare/cloudflared/releases/download/${CLOUDFLARED_VERSION}/cloudflared-linux-arm64" -o /usr/local/bin/cloudflared; \
|
|
fi && \
|
|
chmod +x /usr/local/bin/cloudflared
|
|
|
|
ENTRYPOINT ["/bin/sh", "/soketi-entrypoint.sh"]
|