2021-05-26 12:34:42 +02:00
|
|
|
# This dockerfile is used to build Focalboard for Linux
|
|
|
|
# it builds all the parts inside the container and the last stage just holds the
|
|
|
|
# package that can be extracted using docker cp command
|
|
|
|
# ie
|
|
|
|
# docker build -f Dockerfile.build --no-cache -t focalboard-build:dirty .
|
|
|
|
# docker run --rm -v /tmp/dist:/tmp -d --name test focalboard-build:dirty /bin/sh -c 'sleep 1000'
|
|
|
|
# docker cp test:/dist/focalboard-server-linux-amd64.tar.gz .
|
|
|
|
|
|
|
|
# build frontend
|
2022-03-18 18:57:26 +01:00
|
|
|
FROM node:16.3.0@sha256:ca6daf1543242acb0ca59ff425509eab7defb9452f6ae07c156893db06c7a9a4 AS frontend
|
2021-05-26 12:34:42 +02:00
|
|
|
|
|
|
|
WORKDIR /webapp
|
|
|
|
COPY webapp .
|
|
|
|
|
|
|
|
RUN npm install --no-optional
|
|
|
|
RUN npm run pack
|
|
|
|
|
|
|
|
# build backend and package
|
2022-03-18 18:57:26 +01:00
|
|
|
FROM golang:1.16.5@sha256:3ba07778b0a48cef0820fe630220089b74ac9bd06a92ac1cf7b2f1abceffcdaa AS backend
|
2021-05-26 12:34:42 +02:00
|
|
|
|
|
|
|
COPY . .
|
|
|
|
COPY --from=frontend /webapp/pack webapp/pack
|
|
|
|
|
|
|
|
# RUN apt-get update && apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev -y
|
|
|
|
RUN make server-linux
|
|
|
|
RUN make server-linux-package-docker
|
|
|
|
|
|
|
|
# just hold the packages to output later
|
2022-03-18 18:57:26 +01:00
|
|
|
FROM alpine:3.12@sha256:d9459083f962de6bd980ae6a05be2a4cf670df6a1d898157bceb420342bec280 AS dist
|
2021-05-26 12:34:42 +02:00
|
|
|
|
|
|
|
WORKDIR /dist
|
|
|
|
|
|
|
|
COPY --from=backend /go/dist/focalboard-server-linux-amd64.tar.gz .
|