2024-10-01 13:28:14 +02:00
|
|
|
|
# syntax=docker/dockerfile:latest
|
|
|
|
|
|
2022-04-13 13:48:54 +02:00
|
|
|
|
# Git: git version 2.30.2
|
2024-10-29 12:32:09 +01:00
|
|
|
|
# /etc/os-release: Alpine Linux v3.20
|
2022-06-30 01:36:24 +02:00
|
|
|
|
# Kernel: Linux ca3abedc4fb1 5.17.15-76051715-generic #202206141358~1655919116~22.04~1db9e34 SMP PREEMPT Wed Jun 22 19 x86_64 Linux
|
2024-10-29 12:32:09 +01:00
|
|
|
|
# Build cmd: docker build --no-cache . -t nushell:latest
|
|
|
|
|
# Other tags: nushell:latest-alpine, nushell
|
2022-06-30 01:36:24 +02:00
|
|
|
|
FROM alpine
|
2022-04-13 13:48:54 +02:00
|
|
|
|
|
2024-09-26 16:57:37 +02:00
|
|
|
|
ARG TARGETARCH
|
2024-10-01 13:28:14 +02:00
|
|
|
|
ARG ARCH=${TARGETARCH/arm64/aarch64}
|
2024-10-29 12:32:09 +01:00
|
|
|
|
ARG ARCH=${ARCH/arm/armv7}
|
2024-10-01 13:28:14 +02:00
|
|
|
|
ARG ARCH=${ARCH/amd64/x86_64}
|
2024-09-26 16:57:37 +02:00
|
|
|
|
|
2024-10-29 12:32:09 +01:00
|
|
|
|
ARG BUILD_REF
|
|
|
|
|
ARG BUILD_DATE
|
2024-10-30 12:45:15 +01:00
|
|
|
|
ARG RELEASE_QUERY_API="https://api.github.com/repos/nushell/nushell/releases/latest"
|
|
|
|
|
|
2024-10-29 12:32:09 +01:00
|
|
|
|
LABEL maintainer="The Nushell Project Developers" \
|
|
|
|
|
org.opencontainers.image.licenses="MIT" \
|
|
|
|
|
org.opencontainers.image.title="Nushell" \
|
|
|
|
|
org.opencontainers.image.created=$BUILD_DATE \
|
|
|
|
|
org.opencontainers.image.revision=$BUILD_REF \
|
|
|
|
|
org.opencontainers.image.authors="The Nushell Project Developers" \
|
|
|
|
|
org.opencontainers.image.vendor="Nushell Project" \
|
|
|
|
|
org.opencontainers.image.description="A new type of shell" \
|
|
|
|
|
org.opencontainers.image.source="https://github.com/nushell/nushell" \
|
|
|
|
|
org.opencontainers.image.documentation="https://www.nushell.sh/book/"
|
|
|
|
|
|
2024-10-01 13:28:14 +02:00
|
|
|
|
RUN echo '/usr/bin/nu' >> /etc/shells \
|
2022-06-30 01:36:24 +02:00
|
|
|
|
&& adduser -D -s /usr/bin/nu nushell \
|
|
|
|
|
&& mkdir -p /home/nushell/.config/nushell/ \
|
|
|
|
|
&& cd /tmp \
|
2024-10-30 12:45:15 +01:00
|
|
|
|
&& wget -qO - ${RELEASE_QUERY_API} \
|
2023-11-08 13:30:34 +01:00
|
|
|
|
| grep browser_download_url \
|
2024-10-01 13:28:14 +02:00
|
|
|
|
| cut -d '"' -f 4 \
|
|
|
|
|
| grep ${ARCH}-unknown-linux-musl \
|
2023-11-08 13:30:34 +01:00
|
|
|
|
| xargs -I{} wget {} \
|
2024-10-29 12:32:09 +01:00
|
|
|
|
&& mkdir nu-latest && tar xvf nu-*.tar.gz --directory=nu-latest \
|
|
|
|
|
&& cp -aR nu-latest/**/* /usr/bin/ \
|
|
|
|
|
# Setup default config file for nushell
|
|
|
|
|
&& cd /home/nushell/.config/nushell \
|
2022-12-10 16:22:23 +01:00
|
|
|
|
&& chmod +x /usr/bin/nu \
|
2022-06-30 01:36:24 +02:00
|
|
|
|
&& chown -R nushell:nushell /home/nushell/.config/nushell \
|
2024-09-15 14:03:22 +02:00
|
|
|
|
# Reset Nushell config to default
|
|
|
|
|
&& su -c 'config reset -w' nushell \
|
2023-06-28 20:04:32 +02:00
|
|
|
|
&& ls /usr/bin/nu_plugin* \
|
2024-07-05 14:16:50 +02:00
|
|
|
|
| xargs -I{} su -c 'plugin add {}' nushell \
|
2022-06-30 01:36:24 +02:00
|
|
|
|
&& rm -rf /tmp/*
|
2022-04-13 13:48:54 +02:00
|
|
|
|
|
2022-06-30 01:36:24 +02:00
|
|
|
|
USER nushell
|
|
|
|
|
|
|
|
|
|
WORKDIR /home/nushell
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["nu"]
|