mirror of
https://github.com/mattermost/focalboard.git
synced 2025-03-23 20:52:42 +02:00
[GH-124] Added Docker Arm64 Capability (#1700)
* Added Docker Arm64 Capability
This commit is contained in:
parent
9f344382ce
commit
a8bafb35c9
@ -1,6 +1,7 @@
|
||||
CHANGELOG.md
|
||||
README.md
|
||||
|
||||
node_modules
|
||||
.github/
|
||||
mac/
|
||||
win-wpf/
|
||||
|
5
Makefile
5
Makefile
@ -65,6 +65,11 @@ server-linux: setup-go-work ## Build server for Linux.
|
||||
$(eval LDFLAGS += -X "github.com/mattermost/focalboard/server/model.Edition=linux")
|
||||
cd server; env GOOS=linux GOARCH=amd64 go build -ldflags '$(LDFLAGS)' -tags '$(BUILD_TAGS)' -o ../bin/linux/focalboard-server ./main
|
||||
|
||||
server-docker: setup-go-work ## Build server for Docker Architectures.
|
||||
mkdir -p bin/docker
|
||||
$(eval LDFLAGS += -X "github.com/mattermost/focalboard/server/model.Edition=linux")
|
||||
cd server; env GOOS=$(os) GOARCH=$(arch) go build -ldflags '$(LDFLAGS)' -tags '$(BUILD_TAGS)' -o ../bin/docker/focalboard-server ./main
|
||||
|
||||
server-win: setup-go-work ## Build server for Windows.
|
||||
$(eval LDFLAGS += -X "github.com/mattermost/focalboard/server/model.Edition=win")
|
||||
cd server; env GOOS=windows GOARCH=amd64 go build -ldflags '$(LDFLAGS)' -tags '$(BUILD_TAGS)' -o ../bin/win/focalboard-server.exe ./main
|
||||
|
@ -4,7 +4,9 @@ FROM node:16.3.0@sha256:ca6daf1543242acb0ca59ff425509eab7defb9452f6ae07c156893db
|
||||
WORKDIR /webapp
|
||||
ADD webapp/ /webapp
|
||||
|
||||
RUN npm install --no-optional && \
|
||||
### 'CPPFLAGS="-DPNG_ARM_NEON_OPT=0"' Needed To Avoid Bug Described in: https://github.com/imagemin/optipng-bin/issues/118#issuecomment-1019838562
|
||||
### Can be Removed when Ticket will be Closed
|
||||
RUN CPPFLAGS="-DPNG_ARM_NEON_OPT=0" npm install --no-optional && \
|
||||
npm run pack
|
||||
|
||||
### Go build
|
||||
@ -13,7 +15,11 @@ FROM golang:1.18.3@sha256:b203dc573d81da7b3176264bfa447bd7c10c9347689be405403818
|
||||
WORKDIR /go/src/focalboard
|
||||
ADD . /go/src/focalboard
|
||||
|
||||
RUN EXCLUDE_PLUGIN=true EXCLUDE_SERVER=true EXCLUDE_ENTERPRISE=true make server-linux
|
||||
# Get target architecture
|
||||
ARG TARGETOS
|
||||
ARG TARGETARCH
|
||||
|
||||
RUN EXCLUDE_PLUGIN=true EXCLUDE_SERVER=true EXCLUDE_ENTERPRISE=true make server-docker os=${TARGETOS} arch=${TARGETARCH}
|
||||
|
||||
## Final image
|
||||
FROM debian:buster-slim@sha256:5b0b1a9a54651bbe9d4d3ee96bbda2b2a1da3d2fa198ddebbced46dfdca7f216
|
||||
@ -24,7 +30,7 @@ RUN chown -R nobody:nogroup /opt/focalboard
|
||||
WORKDIR /opt/focalboard
|
||||
|
||||
COPY --from=nodebuild --chown=nobody:nogroup /webapp/pack pack/
|
||||
COPY --from=gobuild --chown=nobody:nogroup /go/src/focalboard/bin/linux/focalboard-server bin/
|
||||
COPY --from=gobuild --chown=nobody:nogroup /go/src/focalboard/bin/docker/focalboard-server bin/
|
||||
COPY --from=gobuild --chown=nobody:nogroup /go/src/focalboard/LICENSE.txt LICENSE.txt
|
||||
COPY --from=gobuild --chown=nobody:nogroup /go/src/focalboard/docker/server_config.json config.json
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## Docker
|
||||
|
||||
The Dockerfile gives a quick and easy way to pull the latest Focalboard server and deploy it locally. In the example below,
|
||||
The Dockerfile gives a quick and easy way to build the latest Focalboard server and deploy it locally. In the example below,
|
||||
the Focalboard database and files will be persisted in a named volumed called `fbdata`.
|
||||
|
||||
From the Focalboard project root directory:
|
||||
@ -14,6 +14,15 @@ docker run -it -v "fbdata:/opt/focalboard/data" -p 80:8000 focalboard
|
||||
|
||||
Open a browser to [localhost](http://localhost) to start
|
||||
|
||||
## Alternative architectures
|
||||
|
||||
From the Focalboard project root directory:
|
||||
|
||||
```bash
|
||||
docker build -f docker/Dockerfile --platform linux/arm64 -t focalboard .
|
||||
docker run -it -v "fbdata:/opt/focalboard/data" -p 80:8000 focalboard
|
||||
```
|
||||
|
||||
## Docker-Compose
|
||||
|
||||
Docker-Compose provides the option to automate the build and run step, or even include some of the steps from the [personal server setup](https://www.focalboard.com/download/personal-edition/ubuntu/).
|
||||
|
Loading…
x
Reference in New Issue
Block a user