Files
Newton-LSP/Docker/reference-servers/gopls/Dockerfile
T

40 lines
1.3 KiB
Docker

FROM alpine:3.22.1
ARG VERSION=0.19.1
LABEL version="${VERSION}"
RUN apk add --no-cache \
bash=5.2.37-r0 \
git=2.49.1-r0 \
go=1.24.4-r0 \
shadow=4.17.3-r0 \
sudo=1.9.17_p1-r0
ENV GO111MODULE="on"
RUN userdel guest \
&& groupdel users \
&& addgroup lspcontainers \
&& adduser -G lspcontainers -h /home/lspcontainers -D lspcontainers \
&& echo '%lspcontainers ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/lspcontainers
USER lspcontainers
ENV GOBIN="/home/lspcontainers/.bin"
ENV PATH="${GOBIN}:$PATH"
RUN go install github.com/uudashr/gopkgs/v2/cmd/[email protected] \
&& go install github.com/ramya-rao-a/go-outline@9736a4bde949f321d201e5eaa5ae2bcde011bf00 \
&& go install github.com/cweill/gotests/[email protected] \
&& go install github.com/fatih/[email protected] \
&& go install github.com/josharian/[email protected] \
&& go install github.com/haya14busa/goplay/cmd/[email protected] \
&& go install github.com/go-delve/delve/cmd/[email protected] \
&& go install honnef.co/go/tools/cmd/[email protected] \
&& go install golang.org/x/tools/gopls@v${VERSION}
COPY --chown=lspcontainers:lspcontainers \
docker_entrypoint.sh /home/lspcontainers/docker_entrypoint.sh
CMD [ "/home/lspcontainers/docker_entrypoint.sh" ]