From 46d80464d2a67927b06a11b83fb137ad364a90ed Mon Sep 17 00:00:00 2001 From: Oleg Lobanov Date: Tue, 21 Dec 2021 14:28:42 +0100 Subject: [PATCH] build: revert to using the default alpine based docker image Build both standard and linuxserver based images. linuxserver based images can be accessed by adding `-s6` suffix to the docker image name --- .goreleaser.yml | 106 ++++++++++++++++++-- Dockerfile | 15 ++- Dockerfile.s6 | 16 +++ Dockerfile.aarch64 => Dockerfile.s6.aarch64 | 0 Dockerfile.armhf => Dockerfile.s6.armhf | 0 docker_config.json | 8 ++ 6 files changed, 131 insertions(+), 14 deletions(-) create mode 100644 Dockerfile.s6 rename Dockerfile.aarch64 => Dockerfile.s6.aarch64 (100%) rename Dockerfile.armhf => Dockerfile.s6.armhf (100%) create mode 100644 docker_config.json diff --git a/.goreleaser.yml b/.goreleaser.yml index 5078f27d..a697179f 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -56,9 +56,9 @@ dockers: - "filebrowser/filebrowser:{{ .Tag }}-amd64" - "filebrowser/filebrowser:v{{ .Major }}-amd64" extra_files: - - docker/root + - docker_config.json - - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile use: buildx build_flag_templates: - "--pull" @@ -74,9 +74,9 @@ dockers: - "filebrowser/filebrowser:{{ .Tag }}-arm64" - "filebrowser/filebrowser:v{{ .Major }}-arm64" extra_files: - - docker/root + - docker_config.json - - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile use: buildx build_flag_templates: - "--pull" @@ -93,9 +93,9 @@ dockers: - "filebrowser/filebrowser:{{ .Tag }}-armv6" - "filebrowser/filebrowser:v{{ .Major }}-armv6" extra_files: - - docker/root + - docker_config.json - - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile use: buildx build_flag_templates: - "--pull" @@ -111,6 +111,81 @@ dockers: image_templates: - "filebrowser/filebrowser:{{ .Tag }}-armv7" - "filebrowser/filebrowser:v{{ .Major }}-armv7" + extra_files: + - docker_config.json +## s6 based docker images + - + dockerfile: Dockerfile.s6 + 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/amd64" + goos: linux + goarch: amd64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" + extra_files: + - docker/root + - + dockerfile: Dockerfile.s6.aarch64 + 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/arm64" + goos: linux + goarch: arm64 + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" + extra_files: + - docker/root + - + dockerfile: Dockerfile.s6.armhf + 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/arm/v6" + goos: linux + goarch: arm + goarm: '6' + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-armv6-s6" + - "filebrowser/filebrowser:v{{ .Major }}-armv6-s6" + extra_files: + - docker/root + - + dockerfile: Dockerfile.s6.armhf + 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/arm/v7" + goos: linux + goarch: arm + goarm: '7' + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-armv7-s6" + - "filebrowser/filebrowser:v{{ .Major }}-armv7-s6" extra_files: - docker/root docker_manifests: @@ -132,6 +207,25 @@ docker_manifests: - "filebrowser/filebrowser:v{{ .Major }}-arm64" - "filebrowser/filebrowser:v{{ .Major }}-armv6" - "filebrowser/filebrowser:v{{ .Major }}-armv7" +## s6 image manifests + - name_template: "filebrowser/filebrowser:s6" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-armv6-s6" + - "filebrowser/filebrowser:{{ .Tag }}-armv7-s6" + - name_template: "filebrowser/filebrowser:{{ .Tag }}-s6" + image_templates: + - "filebrowser/filebrowser:{{ .Tag }}-amd64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-arm64-s6" + - "filebrowser/filebrowser:{{ .Tag }}-armv6-s6" + - "filebrowser/filebrowser:{{ .Tag }}-armv7-s6" + - name_template: "filebrowser/filebrowser:v{{ .Major }}-s6" + image_templates: + - "filebrowser/filebrowser:v{{ .Major }}-amd64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-arm64-s6" + - "filebrowser/filebrowser:v{{ .Major }}-armv6-s6" + - "filebrowser/filebrowser:v{{ .Major }}-armv7-s6" brews: - name: filebrowser tap: diff --git a/Dockerfile b/Dockerfile index 3208b057..ab826705 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-alpine:3.14 - +FROM alpine:latest RUN apk --update add ca-certificates \ mailcap \ curl @@ -7,10 +6,10 @@ RUN apk --update add ca-certificates \ HEALTHCHECK --start-period=2s --interval=5s --timeout=3s \ CMD curl -f http://localhost/health || exit 1 -# copy local files -COPY docker/root/ / -COPY filebrowser /usr/bin/filebrowser +VOLUME /srv +EXPOSE 80 -# ports and volumes -VOLUME /srv /config /database -EXPOSE 80 \ No newline at end of file +COPY docker_config.json /.filebrowser.json +COPY filebrowser /filebrowser + +ENTRYPOINT [ "/filebrowser" ] \ No newline at end of file diff --git a/Dockerfile.s6 b/Dockerfile.s6 new file mode 100644 index 00000000..3208b057 --- /dev/null +++ b/Dockerfile.s6 @@ -0,0 +1,16 @@ +FROM ghcr.io/linuxserver/baseimage-alpine:3.14 + +RUN apk --update add ca-certificates \ + mailcap \ + curl + +HEALTHCHECK --start-period=2s --interval=5s --timeout=3s \ + CMD curl -f http://localhost/health || exit 1 + +# copy local files +COPY docker/root/ / +COPY filebrowser /usr/bin/filebrowser + +# ports and volumes +VOLUME /srv /config /database +EXPOSE 80 \ No newline at end of file diff --git a/Dockerfile.aarch64 b/Dockerfile.s6.aarch64 similarity index 100% rename from Dockerfile.aarch64 rename to Dockerfile.s6.aarch64 diff --git a/Dockerfile.armhf b/Dockerfile.s6.armhf similarity index 100% rename from Dockerfile.armhf rename to Dockerfile.s6.armhf diff --git a/docker_config.json b/docker_config.json new file mode 100644 index 00000000..f0fa64a6 --- /dev/null +++ b/docker_config.json @@ -0,0 +1,8 @@ +{ + "port": 80, + "baseURL": "", + "address": "", + "log": "stdout", + "database": "/database.db", + "root": "/srv" +} \ No newline at end of file