diff --git a/.make/go.mk b/.make/go.mk index 5f5847fa21c..481321468bd 100644 --- a/.make/go.mk +++ b/.make/go.mk @@ -119,3 +119,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/changelog/unreleased/enhancement-debug-docker-arm64.md b/changelog/unreleased/enhancement-debug-docker-arm64.md new file mode 100644 index 00000000000..dfe47c94812 --- /dev/null +++ b/changelog/unreleased/enhancement-debug-docker-arm64.md @@ -0,0 +1,3 @@ +Enhancement: Implement debug docker for arm64 platform + +https://github.com/owncloud/ocis/pull/10940 diff --git a/ocis/docker/Dockerfile.linux.debug.arm64 b/ocis/docker/Dockerfile.linux.debug.arm64 new file mode 100644 index 00000000000..34ee27b3942 --- /dev/null +++ b/ocis/docker/Dockerfile.linux.debug.arm64 @@ -0,0 +1,41 @@ +FROM arm64v8/alpine:latest + +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="ownCloud GmbH " \ + org.opencontainers.image.title="ownCloud Infinite Scale" \ + org.opencontainers.image.vendor="ownCloud GmbH" \ + org.opencontainers.image.authors="ownCloud GmbH" \ + org.opencontainers.image.description="oCIS - ownCloud Infinite Scale is a modern file-sync and share platform" \ + org.opencontainers.image.licenses="Apache-2.0" \ + org.opencontainers.image.documentation="https://github.com/owncloud/ocis" \ + org.opencontainers.image.url="https://hub.docker.com/r/owncloud/ocis" \ + org.opencontainers.image.source="https://github.com/owncloud/ocis" \ + org.opencontainers.image.version="${VERSION}" \ + org.opencontainers.image.revision="${REVISION}" + +RUN addgroup -g 1000 -S ocis-group && \ + adduser -S --ingroup ocis-group --uid 1000 ocis-user --home /var/lib/ocis + +RUN mkdir -p /var/lib/ocis && \ + chown -R ocis-user:ocis-group /var/lib/ocis && \ + chmod -R 751 /var/lib/ocis && \ + mkdir -p /etc/ocis && \ + chown -R ocis-user:ocis-group /etc/ocis && \ + chmod -R 751 /etc/ocis + +VOLUME [ "/var/lib/ocis", "/etc/ocis" ] +WORKDIR /var/lib/ocis + +USER 1000 + +EXPOSE 9200/tcp + +ENTRYPOINT ["/usr/bin/ocis"] +CMD ["server"] + +COPY dist/binaries/ocis-linux-arm64 /usr/bin/ocis