build: new pipeline, new way to cross-compile and build docker images locally. (#3383)
* refactor(ci): faster pipeline, add support for darwin/arm64 (#26) * feat: WIP * feat: WIP - all except windows * fix: Bump crazymax/osxcross to 14.5 * feat: bundle UI * fix: works on all 10! * fix: WIP * fix: add git sha and tag * fix: download taglib from cross-taglib * feat: add more dependabot coverage * feat: build JS bundle using Docker * refactor: pipeline * fix: wip * fix: wip * fix: wip * fix: wip * fix: wip * fix: wip * fix: wip * fix: wip * fix: wip * fix: real * fix: no container * fix: no container * fix: pkg-config * fix: pkg-config * fix: pkg-config * fix: pkg-config * fix: pkg-config * fix: add lint * fix: add lint * fix: add lint * fix: add lint * fix: add lint * fix: add lint * fix: add js * fix: gittags * fix: gittags * test: is_release * test: is_release * test: is_release * test: push image * test: push image * test: push image * test: push image * test: push image * test: push image * test: push image * test: push image * test: push image * fix: extract download taglib action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: extract prepare docker action * fix: add msi * fix: add msi * fix: add msi * fix: add msi * fix: add msi * test: full * test: full * test: disable some platforms to avoid hitting the rate limit * test: disable some platforms to avoid hitting the rate limit * fix: use ecr.aws for base images * test: full release * test: full release * fix: clean-up * refactor: pipeline clean-up (#32) * fix: clean-up * fix: clean-up * fix: clean-up * fix: fetch all tags * fix: version * fix: version * fix: no need to setup QEMU * fix: don't try to push images in unauthorized branches * fix: check push enabled * fix: change layout?
This commit is contained in:
@@ -1,40 +0,0 @@
|
||||
#####################################################
|
||||
### Copy platform specific binary
|
||||
FROM bash as copy-binary
|
||||
ARG TARGETPLATFORM
|
||||
|
||||
RUN echo "Target Platform = ${TARGETPLATFORM}"
|
||||
|
||||
COPY dist .
|
||||
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then cp navidrome_linux_amd64_linux_amd64_v1/navidrome /navidrome; fi
|
||||
RUN if [ "$TARGETPLATFORM" = "linux/386" ]; then cp navidrome_linux_386_linux_386/navidrome /navidrome; fi
|
||||
RUN if [ "$TARGETPLATFORM" = "linux/arm64" ]; then cp navidrome_linux_arm64_linux_arm64/navidrome /navidrome; fi
|
||||
RUN if [ "$TARGETPLATFORM" = "linux/arm/v6" ]; then cp navidrome_linux_arm_linux_arm_6/navidrome /navidrome; fi
|
||||
RUN if [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then cp navidrome_linux_arm_linux_arm_7/navidrome /navidrome; fi
|
||||
RUN chmod +x /navidrome
|
||||
|
||||
|
||||
#####################################################
|
||||
### Build Final Image
|
||||
FROM alpine:3.20
|
||||
LABEL maintainer="deluan@navidrome.org"
|
||||
|
||||
# Install ffmpeg and mpv
|
||||
RUN apk add -U --no-cache ffmpeg mpv
|
||||
|
||||
# Show ffmpeg build info, for troubleshooting purposes
|
||||
RUN ffmpeg -buildconf
|
||||
|
||||
COPY --from=copy-binary /navidrome /app/
|
||||
|
||||
VOLUME ["/data", "/music"]
|
||||
ENV ND_MUSICFOLDER /music
|
||||
ENV ND_DATAFOLDER /data
|
||||
ENV ND_PORT 4533
|
||||
ENV GODEBUG "asyncpreemptoff=1"
|
||||
|
||||
EXPOSE ${ND_PORT}
|
||||
HEALTHCHECK CMD wget -O- http://localhost:${ND_PORT}/ping || exit 1
|
||||
WORKDIR /app
|
||||
|
||||
ENTRYPOINT ["/app/navidrome"]
|
||||
Reference in New Issue
Block a user