Files
meshsense-docker-tools/Dockerfile
Matt 9c0f8c470b
Some checks failed
Nightly Docker Build / build-and-push (push) Has been cancelled
update Dockerfile, build nightly
2025-07-03 19:52:59 -04:00

47 lines
902 B
Docker

FROM node:20-alpine AS build
ARG GIT_REF=master
# Install build dependencies
RUN apk add --no-cache git cmake alpine-sdk dbus-dev && npm install -g typescript
# Clone the repository using GIT_REF (tag or branch)
WORKDIR /src
RUN git clone --recurse-submodules https://github.com/Affirmatech/MeshSense.git . && \
git checkout "${GIT_REF}"
# Web Bluetooth build
WORKDIR /src/api/webbluetooth
RUN npm install \
&& npm run build:all
# Meshtastic JS build
WORKDIR /src/api/meshtastic-js
RUN npm install \
&& npm run build
# Install main API and UI dependencies
WORKDIR /src/ui
RUN npm install
WORKDIR /src/api
RUN npm install
# Build UI and API
WORKDIR /src/ui
RUN npm run build
WORKDIR /src/api
RUN npm run build
# Final image
FROM alpine:latest
WORKDIR /app
RUN apk add --no-cache nodejs dbus-dev
# Copy built output
COPY --from=build /src/api/dist /app
CMD ["node", "index.cjs"]