## DEVELOPMENT IMAGE
ARG DEVPLATFORM=${TARGETPLATFORM:-linux/amd64}
FROM --platform=$DEVPLATFORM node:15-alpine AS dev
# Install pre-requisites
ARG DEVPLATFORM
RUN echo DEVPLATFORM: $DEVPLATFORM \
&& case $DEVPLATFORM in \
*arm*) apk add --no-cache git python3 build-base ;; \
*) apk add --no-cache git python3 ;; \
esac
# Fetch and build tileboard master branch
RUN mkdir /tileboard-source \
&& cd /tileboard-source/ \
&& git clone https://github.com/resoai/TileBoard . \
&& git checkout -b my-patch origin/master \
&& mkdir /tileboard \
&& ln -s /tileboard build \
&& yarn install \
&& npm install --global node-sass \
&& yarn run build
# Start Server
WORKDIR /tileboard
EXPOSE 8000
EXPOSE 8080
ENTRYPOINT ["/bin/sh", "-c", "yarn --cwd /tileboard-source run dev & python3 -m http.server"]
## NIGHTLY BUILD IMAGE
FROM python:alpine AS nightly
# Copy contents from dev image
COPY --from=dev /tileboard /tileboard
ENTRYPOINT python3 -m http.server