Added more docker servers as reference
This commit is contained in:
64
Docker/README.md
Normal file
64
Docker/README.md
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
# LSP Dockerfiles
|
||||||
|
|
||||||
|
**Dockerfiles for Language Server Protocol (LSP) servers** - Containerized language servers for use with IDEs.
|
||||||
|
|
||||||
|
## What is this?
|
||||||
|
|
||||||
|
This sub repository provides **production-ready Docker containers** for 25+ Language Server Protocol (LSP) servers.
|
||||||
|
|
||||||
|
### **How it works:**
|
||||||
|
1. **Docker containers** provide isolated, reproducible LSP server environments
|
||||||
|
3. **Zero local installation** - no need to install language servers on your system
|
||||||
|
|
||||||
|
Perfect for:
|
||||||
|
- **Consistent development environments** across teams and machines
|
||||||
|
- **Clean system** - no language server pollution on your host
|
||||||
|
- **Reproducible builds** with pinned package versions
|
||||||
|
- **Easy switching** between language server versions
|
||||||
|
|
||||||
|
##️ Supported Language Servers
|
||||||
|
|
||||||
|
| Language | Server | Container | Version |
|
||||||
|
|----------|--------|-----------|---------|
|
||||||
|
| **Bash** | bash-language-server | `lspcontainers/bash-language-server` |  |
|
||||||
|
| **C/C++** | clangd | `lspcontainers/clangd-language-server` |  |
|
||||||
|
| **C#** | omnisharp | `lspcontainers/omnisharp-language-server` |  |
|
||||||
|
| **CSS/SCSS/Less** | vscode-css-languageserver | `lspcontainers/css-language-server` |  |
|
||||||
|
| **Deno** | deno-lsp | `lspcontainers/deno-language-server` |  |
|
||||||
|
| **Docker** | dockerfile-ls | `lspcontainers/docker-language-server` |  |
|
||||||
|
| **ESLint** | eslint-languageserver | `lspcontainers/eslint-language-server` |  |
|
||||||
|
| **Go** | gopls | `lspcontainers/gopls` |  |
|
||||||
|
| **GraphQL** | graphql-language-service | `lspcontainers/graphql-language-server` |  |
|
||||||
|
| **HTML** | html-languageserver | `lspcontainers/html-language-server` |  |
|
||||||
|
| **JavaScript/TypeScript** | typescript-language-server | `lspcontainers/typescript-language-server` |  |
|
||||||
|
| **JSON** | vscode-json-languageserver | `lspcontainers/json-language-server` |  |
|
||||||
|
| **Lua** | lua-language-server | `lspcontainers/lua-language-server` |  |
|
||||||
|
| **PHP** | intelephense | `lspcontainers/php-language-server` |  |
|
||||||
|
| **PowerShell** | powershell-es | `lspcontainers/powershell-language-server` |  |
|
||||||
|
| **Prisma** | prisma-language-server | `lspcontainers/prisma-language-server` |  |
|
||||||
|
| **Python** | pylsp | `lspcontainers/python-lsp-server` |  |
|
||||||
|
| **Python** | pyright | `lspcontainers/pyright-language-server` |  |
|
||||||
|
| **Ruby** | solargraph | `lspcontainers/ruby-language-server` |  |
|
||||||
|
| **Rust** | rust-analyzer | `lspcontainers/rust-analyzer` |  |
|
||||||
|
| **Svelte** | svelte-language-server | `lspcontainers/svelte-language-server` |  |
|
||||||
|
| **Tailwind CSS** | tailwindcss-language-server | `lspcontainers/tailwindcss-language-server` |  |
|
||||||
|
| **Terraform** | terraform-ls | `lspcontainers/terraform-ls` |  |
|
||||||
|
| **Vue** | volar | `lspcontainers/volar-language-server` |  |
|
||||||
|
| **Vue** | vuels (legacy) | `lspcontainers/vue-language-server` |  |
|
||||||
|
| **XML** | lemminx | `lspcontainers/xml-language-server` |  |
|
||||||
|
| **YAML** | yaml-language-server | `lspcontainers/yaml-language-server` |  |
|
||||||
|
|
||||||
|
|
||||||
|
##️ Architecture & Design
|
||||||
|
|
||||||
|
### **Reproducible Builds**
|
||||||
|
All containers use **pinned package versions** for complete reproducibility:
|
||||||
|
- **Base images**: Specific Alpine/Debian versions
|
||||||
|
- **System packages**: Exact apk/apt package versions
|
||||||
|
- **Language packages**: Pinned npm, gem, pip, go module versions
|
||||||
|
|
||||||
|
### **Minimal & Secure**
|
||||||
|
- **Alpine Linux base** for minimal attack surface
|
||||||
|
- **Multi-stage builds** where applicable
|
||||||
|
- **Non-root users** for security
|
||||||
|
- **Distroless principles** - only essential components
|
||||||
17
Docker/servers/bashls/Dockerfile
Normal file
17
Docker/servers/bashls/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=5.6.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
# using npm breaks shellcheck download of its binary from api.github.com
|
||||||
|
# running shellcheck -V forces it to download its binary during build
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
shellcheck=0.10.0-r2 \
|
||||||
|
yarn=1.22.22-r1 \
|
||||||
|
&& yarn global add \
|
||||||
|
shellcheck@3.1.0 \
|
||||||
|
bash-language-server@${VERSION} \
|
||||||
|
&& shellcheck -V
|
||||||
|
|
||||||
|
CMD [ "bash-language-server", "start" ]
|
||||||
10
Docker/servers/clangd/Dockerfile
Normal file
10
Docker/servers/clangd/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=20.1.8
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
build-base=0.5-r3 \
|
||||||
|
clang-extra-tools=${VERSION}-r0
|
||||||
|
|
||||||
|
CMD [ "clangd", "--background-index" ]
|
||||||
6
Docker/servers/denols/Dockerfile
Normal file
6
Docker/servers/denols/Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
FROM denoland/deno:alpine-2.4.2
|
||||||
|
|
||||||
|
ARG VERSION=2.4.2
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
CMD [ "lsp" ]
|
||||||
12
Docker/servers/dockerls/Dockerfile
Normal file
12
Docker/servers/dockerls/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=0.14.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
dockerfile-language-server-nodejs@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "docker-langserver", "--stdio" ]
|
||||||
26
Docker/servers/eslintls/Dockerfile
Normal file
26
Docker/servers/eslintls/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=latest
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
git=2.49.1-r0 \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN git clone --depth=1 https://github.com/Microsoft/vscode-eslint
|
||||||
|
|
||||||
|
WORKDIR /tmp/vscode-eslint
|
||||||
|
|
||||||
|
RUN npm install && npm run compile
|
||||||
|
|
||||||
|
WORKDIR /tmp/vscode-eslint/server
|
||||||
|
|
||||||
|
RUN npm install --production \
|
||||||
|
&& mv out /root/vscode-eslint-language-server \
|
||||||
|
&& mv package.json node_modules /root/vscode-eslint-language-server/ \
|
||||||
|
&& rm -rf /tmp/vscode-eslint
|
||||||
|
|
||||||
|
CMD [ "/usr/bin/node", "/root/vscode-eslint-language-server/eslintServer.js", "--stdio" ]
|
||||||
39
Docker/servers/gopls/Dockerfile
Normal file
39
Docker/servers/gopls/Dockerfile
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
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/gopkgs@v2.1.2 \
|
||||||
|
&& go install github.com/ramya-rao-a/go-outline@9736a4bde949f321d201e5eaa5ae2bcde011bf00 \
|
||||||
|
&& go install github.com/cweill/gotests/gotests@v1.6.0 \
|
||||||
|
&& go install github.com/fatih/gomodifytags@v1.17.0 \
|
||||||
|
&& go install github.com/josharian/impl@v1.4.0 \
|
||||||
|
&& go install github.com/haya14busa/goplay/cmd/goplay@v1.0.0 \
|
||||||
|
&& go install github.com/go-delve/delve/cmd/dlv@v1.25.0 \
|
||||||
|
&& go install honnef.co/go/tools/cmd/staticcheck@2025.1.1 \
|
||||||
|
&& 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" ]
|
||||||
9
Docker/servers/gopls/docker_entrypoint.sh
Executable file
9
Docker/servers/gopls/docker_entrypoint.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eu pipefail
|
||||||
|
|
||||||
|
LSPCONTAINERS_GROUP=$(id -g)
|
||||||
|
LSPCONTAINERS_USER=$(id -u)
|
||||||
|
|
||||||
|
sudo usermod -u $LSPCONTAINERS_USER lspcontainers \
|
||||||
|
&& sudo groupmod -g $LSPCONTAINERS_GROUP lspcontainers || true \
|
||||||
|
&& exec "gopls"
|
||||||
12
Docker/servers/graphql-lsp/Dockerfile
Normal file
12
Docker/servers/graphql-lsp/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=3.5.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
graphql-language-service-cli@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "graphql-lsp", "server" , "-m", "stream" ]
|
||||||
12
Docker/servers/html/Dockerfile
Normal file
12
Docker/servers/html/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=1.4.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
vscode-html-languageserver-bin@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "html-languageserver", "--stdio" ]
|
||||||
12
Docker/servers/intelephense/Dockerfile
Normal file
12
Docker/servers/intelephense/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=1.14.4
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
intelephense@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "intelephense", "--stdio" ]
|
||||||
12
Docker/servers/jsonls/Dockerfile
Normal file
12
Docker/servers/jsonls/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=4.10.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
vscode-langservers-extracted@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "vscode-json-language-server", "--stdio" ]
|
||||||
26
Docker/servers/lemminx/Dockerfile
Normal file
26
Docker/servers/lemminx/Dockerfile
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
FROM debian:12.11-slim
|
||||||
|
# The binary requires gnu-libc and will not work on alpine
|
||||||
|
|
||||||
|
ARG VERSION=0.27.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt-get update -y \
|
||||||
|
&& apt-get install --yes --no-install-recommends -o APT::Install-Suggests=0 -o APT::Install-Recommends=0 \
|
||||||
|
curl=7.88.1-10+deb12u12 \
|
||||||
|
ca-certificates=20230311+deb12u1 \
|
||||||
|
unzip=6.0-28 \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& curl -sL -O https://github.com/redhat-developer/vscode-xml/releases/download/${VERSION}/lemminx-linux.zip \
|
||||||
|
&& unzip lemminx-linux.zip \
|
||||||
|
&& rm -rf lemminx-linux.zip \
|
||||||
|
&& apt-get remove curl unzip -y \
|
||||||
|
&& apt-get autoremove -y \
|
||||||
|
&& apt-get clean -y \
|
||||||
|
&& rm -rf /var/lib/apt/lists \
|
||||||
|
&& mv lemminx-linux /root/
|
||||||
|
|
||||||
|
CMD [ "/root/lemminx-linux", "--stdio" ]
|
||||||
18
Docker/servers/omnisharp/Dockerfile
Normal file
18
Docker/servers/omnisharp/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
FROM debian:12.11-slim
|
||||||
|
|
||||||
|
ARG VERSION=1.39.12
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN apt-get update \
|
||||||
|
&& apt-get install curl=7.88.1-10+deb12u12 --no-install-recommends --yes \
|
||||||
|
&& apt-get reinstall ca-certificates=20230311+deb12u1 --yes \
|
||||||
|
&& update-ca-certificates \
|
||||||
|
&& curl -L -O https://github.com/OmniSharp/omnisharp-roslyn/releases/download/v${VERSION}/omnisharp-linux-x64.tar.gz \
|
||||||
|
&& tar -xf omnisharp-linux-x64.tar.gz -C /usr \
|
||||||
|
&& rm omnisharp-linux-x64.tar.gz \
|
||||||
|
&& apt-get clean \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
CMD [ "/usr/run", "--languageserver" ]
|
||||||
15
Docker/servers/powershell_es/Dockerfile
Normal file
15
Docker/servers/powershell_es/Dockerfile
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
FROM mcr.microsoft.com/powershell:7.5-alpine-3.20
|
||||||
|
|
||||||
|
ARG VERSION=4.3.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
WORKDIR /srv
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
curl=8.12.1-r0 \
|
||||||
|
unzip=6.0-r14 \
|
||||||
|
&& curl -L -o PowerShellEditorServices.zip https://github.com/PowerShell/PowerShellEditorServices/releases/download/v${VERSION}/PowerShellEditorServices.zip \
|
||||||
|
&& unzip PowerShellEditorServices.zip \
|
||||||
|
&& rm -fr PowerShellEditorServices.zip
|
||||||
|
|
||||||
|
CMD ["/usr/bin/pwsh", "-NoLogo", "-NoProfile", "-Command", "/srv/PowerShellEditorServices/Start-EditorServices.ps1 -BundledModulesPath /PowerShellEditorServices -LogPath /PowerShellEditorServices/logs.log -SessionDetailsPath /PowerShellEditorServices/session.json -FeatureFlags @() -AdditionalModules @() -HostName 'lspcontainers' -HostProfileId 'lspcontainers' -HostVersion 1.0.0 -Stdio -LogLevel Normal"]
|
||||||
12
Docker/servers/prisma/Dockerfile
Normal file
12
Docker/servers/prisma/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=6.9.1
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
@prisma/language-server@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "prisma-language-server", "--stdio" ]
|
||||||
28
Docker/servers/pylsp/Dockerfile
Normal file
28
Docker/servers/pylsp/Dockerfile
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
FROM alpine:3.22.1 as build
|
||||||
|
|
||||||
|
ARG VERSION=1.12.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
build-base=0.5-r3 \
|
||||||
|
python3=3.12.11-r0 \
|
||||||
|
python3-dev=3.12.11-r0 \
|
||||||
|
py3-pip=25.1.1-r0 \
|
||||||
|
&& python3 -m venv /venv
|
||||||
|
|
||||||
|
WORKDIR /venv
|
||||||
|
|
||||||
|
RUN /venv/bin/pip install "python-lsp-server[all]==${VERSION}"
|
||||||
|
|
||||||
|
|
||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
RUN apk add --no-cache python3=3.12.11-r0 py3-pip=25.1.1-r0
|
||||||
|
|
||||||
|
WORKDIR /venv
|
||||||
|
|
||||||
|
COPY --from=build /venv .
|
||||||
|
|
||||||
|
ENV PATH="/venv/bin:$PATH"
|
||||||
|
|
||||||
|
CMD [ "/venv/bin/pylsp" ]
|
||||||
12
Docker/servers/pyright/Dockerfile
Normal file
12
Docker/servers/pyright/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=1.1.377
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
pyright@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "pyright-langserver", "--stdio" ]
|
||||||
9
Docker/servers/rust_analyzer/Dockerfile
Normal file
9
Docker/servers/rust_analyzer/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
ARG VERSION=1.88.0
|
||||||
|
|
||||||
|
FROM rust:${VERSION}-alpine3.22
|
||||||
|
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN rustup component add rust-analyzer
|
||||||
|
|
||||||
|
CMD [ "rust-analyzer" ]
|
||||||
17
Docker/servers/solargraph/Dockerfile
Normal file
17
Docker/servers/solargraph/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=0.55.1
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
g++=14.2.0-r6 \
|
||||||
|
gcc=14.2.0-r6 \
|
||||||
|
git=2.49.1-r0 \
|
||||||
|
make=4.4.1-r3 \
|
||||||
|
ruby=3.4.4-r0 \
|
||||||
|
ruby-dev=3.4.4-r0 \
|
||||||
|
zlib-dev=1.3.1-r2 \
|
||||||
|
&& gem install \
|
||||||
|
solargraph -v ${VERSION}
|
||||||
|
|
||||||
|
CMD [ "/usr/local/bundle/bin/solargraph", "stdio" ]
|
||||||
8
Docker/servers/sumneko_lua/Dockerfile
Normal file
8
Docker/servers/sumneko_lua/Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=3.14.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing/ lua-language-server=${VERSION}-r0
|
||||||
|
|
||||||
|
CMD [ "lua-language-server" ]
|
||||||
12
Docker/servers/svelteserver/Dockerfile
Normal file
12
Docker/servers/svelteserver/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=0.17.16
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
svelte-language-server@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "svelteserver", "--stdio" ]
|
||||||
13
Docker/servers/tailwindcss/Dockerfile
Normal file
13
Docker/servers/tailwindcss/Dockerfile
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=0.14.25
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
tailwindcss@4.1.11 \
|
||||||
|
@tailwindcss/language-server@${VERSION}
|
||||||
|
|
||||||
|
CMD ["tailwindcss-language-server", "--stdio"]
|
||||||
38
Docker/servers/terraformls/Dockerfile
Normal file
38
Docker/servers/terraformls/Dockerfile
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
FROM alpine:3.22.1 AS build
|
||||||
|
|
||||||
|
ARG VERSION=0.36.5
|
||||||
|
ARG TF_LS_VERSION=${VERSION}
|
||||||
|
ARG TF_VERSION=1.12.2
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache --virtual \
|
||||||
|
build-deps \
|
||||||
|
curl=8.14.1-r1 \
|
||||||
|
gnupg=2.4.7-r0
|
||||||
|
|
||||||
|
WORKDIR /build
|
||||||
|
|
||||||
|
RUN curl --proto '=https' \
|
||||||
|
--tlsv1.2 -fsSLO https://releases.hashicorp.com/terraform-ls/${TF_LS_VERSION}/terraform-ls_${TF_LS_VERSION}_linux_amd64.zip \
|
||||||
|
--next -fsSLO https://releases.hashicorp.com/terraform-ls/${TF_LS_VERSION}/terraform-ls_${TF_LS_VERSION}_SHA256SUMS \
|
||||||
|
--next -fsSLO https://releases.hashicorp.com/terraform-ls/${TF_LS_VERSION}/terraform-ls_${TF_LS_VERSION}_SHA256SUMS.sig \
|
||||||
|
--next -fsSLO https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_linux_amd64.zip \
|
||||||
|
--next -fsSLO https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_SHA256SUMS \
|
||||||
|
--next -fsSLO https://releases.hashicorp.com/terraform/${TF_VERSION}/terraform_${TF_VERSION}_SHA256SUMS.sig \
|
||||||
|
--next -s -o hashicorp.asc https://keybase.io/hashicorp/pgp_keys.asc \
|
||||||
|
&& gpg --import ./hashicorp.asc \
|
||||||
|
&& grep terraform-ls_${TF_LS_VERSION}_linux_amd64.zip terraform-ls_${TF_LS_VERSION}_SHA256SUMS > SHA256SUMS \
|
||||||
|
&& grep terraform_${TF_VERSION}_linux_amd64.zip terraform_${TF_VERSION}_SHA256SUMS > TERRAFORM_SHA256SUMS \
|
||||||
|
&& gpg --verify terraform-ls_${TF_LS_VERSION}_SHA256SUMS.sig terraform-ls_${TF_LS_VERSION}_SHA256SUMS \
|
||||||
|
&& gpg --verify terraform_${TF_VERSION}_SHA256SUMS.sig terraform_${TF_VERSION}_SHA256SUMS \
|
||||||
|
&& sha256sum -c SHA256SUMS \
|
||||||
|
&& sha256sum -c TERRAFORM_SHA256SUMS \
|
||||||
|
&& unzip -o terraform-ls_${TF_LS_VERSION}_linux_amd64.zip \
|
||||||
|
&& unzip -o terraform_${TF_VERSION}_linux_amd64.zip
|
||||||
|
|
||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
COPY --from=build /build/terraform-ls /usr/bin/terraform-ls
|
||||||
|
COPY --from=build /build/terraform /usr/bin/terraform
|
||||||
|
|
||||||
|
CMD [ "/usr/bin/terraform-ls", "serve" ]
|
||||||
14
Docker/servers/tsserver/Dockerfile
Normal file
14
Docker/servers/tsserver/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=4.3.4
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
typescript-language-server@${VERSION} \
|
||||||
|
@vue/typescript-plugin@2.1.6 \
|
||||||
|
typescript@5.5.4
|
||||||
|
|
||||||
|
CMD [ "typescript-language-server", "--stdio" ]
|
||||||
9
Docker/servers/volar/Dockerfile
Normal file
9
Docker/servers/volar/Dockerfile
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=1.8.11
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache nodejs=22.16.0-r2 npm=11.3.0-r0 && \
|
||||||
|
npm install -g @vue/language-server@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "vue-language-server", "--stdio" ]
|
||||||
12
Docker/servers/vuels/Dockerfile
Normal file
12
Docker/servers/vuels/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=0.8.5
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
vls@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "vls", "--stdio" ]
|
||||||
12
Docker/servers/yamlls/Dockerfile
Normal file
12
Docker/servers/yamlls/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM alpine:3.22.1
|
||||||
|
|
||||||
|
ARG VERSION=1.18.0
|
||||||
|
LABEL version="${VERSION}"
|
||||||
|
|
||||||
|
RUN apk add --no-cache \
|
||||||
|
nodejs=22.16.0-r2 \
|
||||||
|
npm=11.3.0-r0 \
|
||||||
|
&& npm install -g \
|
||||||
|
yaml-language-server@${VERSION}
|
||||||
|
|
||||||
|
CMD [ "yaml-language-server", "--stdio" ]
|
||||||
Reference in New Issue
Block a user