mirror of
https://github.com/nushell/nushell
synced 2024-12-27 05:23:11 +00:00
02804ab537
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description Works for `docker build` and `docker buildx build` For more detail about the new Dockerfile syntax: https://www.docker.com/blog/new-dockerfile-capabilities-v1-7-0/
40 lines
1.2 KiB
Docker
40 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:latest
|
||
|
||
# Git: git version 2.30.2
|
||
# /etc/os-release: Alpine Linux v3.16
|
||
# Kernel: Linux ca3abedc4fb1 5.17.15-76051715-generic #202206141358~1655919116~22.04~1db9e34 SMP PREEMPT Wed Jun 22 19 x86_64 Linux
|
||
# Build cmd: docker build --no-cache . -t nushell-latest
|
||
# Other tags: nushell/alpine-nu:latest, nushell
|
||
FROM alpine
|
||
|
||
LABEL maintainer=nushell
|
||
|
||
ARG TARGETARCH
|
||
ARG ARCH=${TARGETARCH/arm64/aarch64}
|
||
ARG ARCH=${ARCH/amd64/x86_64}
|
||
|
||
RUN echo '/usr/bin/nu' >> /etc/shells \
|
||
&& adduser -D -s /usr/bin/nu nushell \
|
||
&& mkdir -p /home/nushell/.config/nushell/ \
|
||
&& cd /tmp \
|
||
&& wget -qO - https://api.github.com/repos/nushell/nushell/releases/latest \
|
||
| grep browser_download_url \
|
||
| cut -d '"' -f 4 \
|
||
| grep ${ARCH}-unknown-linux-musl \
|
||
| xargs -I{} wget {} \
|
||
&& tar -xzf nu* \
|
||
&& cd nu*-musl \
|
||
&& mv nu* /usr/bin \
|
||
&& chmod +x /usr/bin/nu \
|
||
&& chown -R nushell:nushell /home/nushell/.config/nushell \
|
||
# Reset Nushell config to default
|
||
&& su -c 'config reset -w' nushell \
|
||
&& ls /usr/bin/nu_plugin* \
|
||
| xargs -I{} su -c 'plugin add {}' nushell \
|
||
&& rm -rf /tmp/*
|
||
|
||
USER nushell
|
||
|
||
WORKDIR /home/nushell
|
||
|
||
ENTRYPOINT ["nu"]
|