From d56a79772e9016af3f65d87c75db1e10dd0ec0f6 Mon Sep 17 00:00:00 2001 From: Olof Nord Date: Fri, 11 Nov 2022 23:30:27 +0100 Subject: [PATCH] Add RISC-V support to project Adjust goreleaser and add build and docker support Add new Dockerfile as there is not yet any linux/riscv64 support for alpine:latest. --- .goreleaser.yml | 22 ++++++++++++++++++++++ Dockerfile.riscv64 | 15 +++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 Dockerfile.riscv64 diff --git a/.goreleaser.yml b/.goreleaser.yml index a697179f..b47c8082 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -20,6 +20,7 @@ build: - 386 - arm - arm64 + - riscv64 goarm: - 5 - 6 @@ -113,6 +114,24 @@ dockers: - "filebrowser/filebrowser:v{{ .Major }}-armv7" extra_files: - docker_config.json + - + dockerfile: Dockerfile.riscv64 + use: buildx + build_flag_templates: + - "--pull" + - "--label=org.opencontainers.image.created={{.Date}}" + - "--label=org.opencontainers.image.name={{.ProjectName}}" + - "--label=org.opencontainers.image.revision={{.FullCommit}}" + - "--label=org.opencontainers.image.version={{.Version}}" + - "--label=org.opencontainers.image.source={{.GitURL}}" + - "--platform=linux/riscv64" + goos: linux + goarch: riscv64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-riscv64" + - "filebrowser/filebrowser:v{{ .Major }}-riscv64" + extra_files: + - docker_config.json ## s6 based docker images - dockerfile: Dockerfile.s6 @@ -195,18 +214,21 @@ docker_manifests: - "filebrowser/filebrowser:{{ .Tag }}-arm64" - "filebrowser/filebrowser:{{ .Tag }}-armv6" - "filebrowser/filebrowser:{{ .Tag }}-armv7" + - "filebrowser/filebrowser:{{ .Tag }}-riscv64" - name_template: "filebrowser/filebrowser:{{ .Tag }}" image_templates: - "filebrowser/filebrowser:{{ .Tag }}-amd64" - "filebrowser/filebrowser:{{ .Tag }}-arm64" - "filebrowser/filebrowser:{{ .Tag }}-armv6" - "filebrowser/filebrowser:{{ .Tag }}-armv7" + - "filebrowser/filebrowser:{{ .Tag }}-riscv64" - name_template: "filebrowser/filebrowser:v{{ .Major }}" image_templates: - "filebrowser/filebrowser:v{{ .Major }}-amd64" - "filebrowser/filebrowser:v{{ .Major }}-arm64" - "filebrowser/filebrowser:v{{ .Major }}-armv6" - "filebrowser/filebrowser:v{{ .Major }}-armv7" + - "filebrowser/filebrowser:v{{ .Major }}-riscv64" ## s6 image manifests - name_template: "filebrowser/filebrowser:s6" image_templates: diff --git a/Dockerfile.riscv64 b/Dockerfile.riscv64 new file mode 100644 index 00000000..8fd9fe39 --- /dev/null +++ b/Dockerfile.riscv64 @@ -0,0 +1,15 @@ +FROM riscv64/alpine:edge +RUN apk --update add ca-certificates \ + mailcap \ + curl + +HEALTHCHECK --start-period=2s --interval=5s --timeout=3s \ + CMD curl -f http://localhost/health || exit 1 + +VOLUME /srv +EXPOSE 80 + +COPY docker_config.json /.filebrowser.json +COPY filebrowser /filebrowser + +ENTRYPOINT [ "/filebrowser" ] \ No newline at end of file