nexstream-api / backend /Dockerfile
circleci
deploy beb5a90
dae0a8c
Raw
History Blame Contribute Delete
1.06 kB
FROM node:22-slim
WORKDIR /app
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=DL3008
RUN set -ex; \
export DEBIAN_FRONTEND=noninteractive; \
apt-get update; \
apt-get install -y --no-install-recommends \
python3 \
python3-pip \
python3-full \
ffmpeg \
curl \
unzip; \
curl -fsSL https://deno.land/install.sh | sh; \
rm -rf /var/lib/apt/lists/*
ENV DENO_INSTALL="/root/.deno"
ENV PATH="$DENO_INSTALL/bin:$PATH"
RUN python3 -m venv /opt/tool-venv \
&& /opt/tool-venv/bin/pip install --upgrade pip \
&& /opt/tool-venv/bin/pip install --upgrade --pre yt-dlp kaggle yt-dlp-getpot-wpc
ENV PATH="/opt/tool-venv/bin:$PATH"
# shared has its own deps (zod) the schemas need
WORKDIR /app/shared
COPY web/shared/ ./
RUN npm ci
WORKDIR /app/backend
COPY web/backend/package*.json ./
RUN npm ci
COPY web/backend/ ./
RUN npx tsc
RUN mkdir -p temp && chmod 777 temp
ENV PORT=8000
ENV API_ONLY=true
EXPOSE 8000
CMD ["node", "--import", "./dist/backend/src/instrument.js", "dist/backend/src/app.js"]