diff --git a/.make/go.mk b/.make/go.mk index dcd1bd452..0d5090c5a 100644 --- a/.make/go.mk +++ b/.make/go.mk @@ -110,3 +110,15 @@ debug-linux-docker-amd64: release-dirs -ldflags '-extldflags "-static" $(DEBUG_LDFLAGS) $(DOCKER_LDFLAGS)' \ -o '$(DIST)/binaries/$(EXECUTABLE)-linux-amd64' \ ./cmd/$(NAME) + +debug-linux-docker-arm64: release-dirs + GOOS=linux \ + GOARCH=arm64 \ + go build \ + -gcflags="all=-N -l" \ + -tags 'netgo $(TAGS)' \ + -buildmode=exe \ + -trimpath \ + -ldflags '-extldflags "-static" $(DEBUG_LDFLAGS) $(DOCKER_LDFLAGS)' \ + -o '$(DIST)/binaries/$(EXECUTABLE)-linux-arm64' \ + ./cmd/$(NAME) diff --git a/opencloud/Makefile b/opencloud/Makefile index 020f60bae..059e39a37 100644 --- a/opencloud/Makefile +++ b/opencloud/Makefile @@ -36,4 +36,4 @@ dev-docker-multiarch: .PHONY: debug-docker debug-docker: $(MAKE) --no-print-directory debug-linux-docker-$(GOARCH) - docker build -f docker/Dockerfile.linux.debug.$(GOARCH) -t opencloud-eu/opencloud:debug . + docker build -f docker/Dockerfile.linux.debug.$(GOARCH) -t opencloudeu/opencloud:debug . diff --git a/opencloud/docker/Dockerfile.linux.debug.arm64 b/opencloud/docker/Dockerfile.linux.debug.arm64 new file mode 100644 index 000000000..f5fb4d9b7 --- /dev/null +++ b/opencloud/docker/Dockerfile.linux.debug.arm64 @@ -0,0 +1,41 @@ +FROM arm64v8/alpine:edge + +ARG VERSION="" +ARG REVISION="" + +RUN apk add --no-cache attr bash ca-certificates curl delve inotify-tools libc6-compat mailcap tree vips patch && \ + echo 'hosts: files dns' >| /etc/nsswitch.conf + +LABEL maintainer="OpenCloud GmbH " \ + org.opencontainers.image.title="OpenCloud" \ + org.opencontainers.image.vendor="OpenCloud GmbH" \ + org.opencontainers.image.authors="OpenCloud GmbH" \ + org.opencontainers.image.description="OpenCloud is a modern file-sync and share platform" \ + org.opencontainers.image.licenses="Apache-2.0" \ + org.opencontainers.image.documentation="https://github.com/opencloud-eu/opencloud" \ + org.opencontainers.image.url="https://hub.docker.com/r/opencloud-eu/opencloud" \ + org.opencontainers.image.source="https://github.com/opencloud-eu/opencloud" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.revision="${REVISION}" + +RUN addgroup -g 1000 -S opencloud-group && \ + adduser -S --ingroup opencloud-group --uid 1000 opencloud-user --home /var/lib/opencloud + +RUN mkdir -p /var/lib/opencloud && \ + chown -R opencloud-user:opencloud-group /var/lib/opencloud && \ + chmod -R 751 /var/lib/opencloud && \ + mkdir -p /etc/opencloud && \ + chown -R opencloud-user:opencloud-group /etc/opencloud && \ + chmod -R 751 /etc/opencloud + +VOLUME [ "/var/lib/opencloud", "/etc/opencloud" ] +WORKDIR /var/lib/opencloud + +USER 1000 + +EXPOSE 9200/tcp + +ENTRYPOINT ["/usr/bin/opencloud"] +CMD ["server"] + +COPY dist/binaries/opencloud-linux-arm64 /usr/bin/opencloud