You've already forked focalboard
							
							
				mirror of
				https://github.com/mattermost/focalboard.git
				synced 2025-10-31 00:17:42 +02:00 
			
		
		
		
	[GH-124] Added Docker Arm64 Capability (#1700)
* Added Docker Arm64 Capability
This commit is contained in:
		| @@ -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/). | ||||
|   | ||||
		Reference in New Issue
	
	Block a user