# syntax=docker/dockerfile:1 ## ## Build ## FROM golang:alpine AS build WORKDIR /app RUN apk update RUN apk add --update gcc g++ RUN apk add --update python3 RUN apk add --update npm COPY package.json ./package.json RUN npm i COPY ./src ./src COPY ./gulpfile.js ./gulpfile.js COPY ./webpack.config.js ./webpack.config.js RUN npx gulp build COPY go.mod . COPY go.sum . RUN go mod download RUN go install github.com/mattn/go-sqlite3 COPY . ./ RUN ls -l RUN mkdir bin RUN go build -o bin/thomasshop ## ## Deploy ## FROM alpine:latest WORKDIR / COPY --from=build /app/bin/thomasshop /bin COPY --from=build /app/dist /dist COPY --from=build /app/templates /templates RUN echo "#!/bin/ash" > /run.sh RUN echo "cp -r /dist/* /outdist" >> /run.sh RUN echo "exec /bin/thomasshop" >> /run.sh RUN chmod +x /run.sh ENTRYPOINT ["/run.sh"]