# 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` | ![Version](https://img.shields.io/badge/version-5.6.0-blue) | | **C/C++** | clangd | `lspcontainers/clangd-language-server` | ![Version](https://img.shields.io/badge/version-20.1.8-blue) | | **C#** | omnisharp | `lspcontainers/omnisharp-language-server` | ![Version](https://img.shields.io/badge/version-1.39.12-blue) | | **CSS/SCSS/Less** | vscode-css-languageserver | `lspcontainers/css-language-server` | ![Version](https://img.shields.io/badge/version-4.10.0-blue) | | **Deno** | deno-lsp | `lspcontainers/deno-language-server` | ![Version](https://img.shields.io/badge/version-2.4.2-blue) | | **Docker** | dockerfile-ls | `lspcontainers/docker-language-server` | ![Version](https://img.shields.io/badge/version-0.14.0-blue) | | **ESLint** | eslint-languageserver | `lspcontainers/eslint-language-server` | ![Version](https://img.shields.io/badge/version-latest-blue) | | **Go** | gopls | `lspcontainers/gopls` | ![Version](https://img.shields.io/badge/version-0.19.1-blue) | | **GraphQL** | graphql-language-service | `lspcontainers/graphql-language-server` | ![Version](https://img.shields.io/badge/version-3.5.0-blue) | | **HTML** | html-languageserver | `lspcontainers/html-language-server` | ![Version](https://img.shields.io/badge/version-1.4.0-blue) | | **JavaScript/TypeScript** | typescript-language-server | `lspcontainers/typescript-language-server` | ![Version](https://img.shields.io/badge/version-4.3.4-blue) | | **JSON** | vscode-json-languageserver | `lspcontainers/json-language-server` | ![Version](https://img.shields.io/badge/version-4.10.0-blue) | | **Lua** | lua-language-server | `lspcontainers/lua-language-server` | ![Version](https://img.shields.io/badge/version-3.14.0-blue) | | **PHP** | intelephense | `lspcontainers/php-language-server` | ![Version](https://img.shields.io/badge/version-1.14.4-blue) | | **PowerShell** | powershell-es | `lspcontainers/powershell-language-server` | ![Version](https://img.shields.io/badge/version-4.3.0-blue) | | **Prisma** | prisma-language-server | `lspcontainers/prisma-language-server` | ![Version](https://img.shields.io/badge/version-6.9.1-blue) | | **Python** | pylsp | `lspcontainers/python-lsp-server` | ![Version](https://img.shields.io/badge/version-1.12.0-blue) | | **Python** | pyright | `lspcontainers/pyright-language-server` | ![Version](https://img.shields.io/badge/version-1.1.377-blue) | | **Ruby** | solargraph | `lspcontainers/ruby-language-server` | ![Version](https://img.shields.io/badge/version-0.55.1-blue) | | **Rust** | rust-analyzer | `lspcontainers/rust-analyzer` | ![Version](https://img.shields.io/badge/version-1.88.0-blue) | | **Svelte** | svelte-language-server | `lspcontainers/svelte-language-server` | ![Version](https://img.shields.io/badge/version-0.17.16-blue) | | **Tailwind CSS** | tailwindcss-language-server | `lspcontainers/tailwindcss-language-server` | ![Version](https://img.shields.io/badge/version-0.14.25-blue) | | **Terraform** | terraform-ls | `lspcontainers/terraform-ls` | ![Version](https://img.shields.io/badge/version-0.36.5-blue) | | **Vue** | volar | `lspcontainers/volar-language-server` | ![Version](https://img.shields.io/badge/version-1.8.11-blue) | | **Vue** | vuels (legacy) | `lspcontainers/vue-language-server` | ![Version](https://img.shields.io/badge/version-0.8.5-blue) | | **XML** | lemminx | `lspcontainers/xml-language-server` | ![Version](https://img.shields.io/badge/version-0.27.0-blue) | | **YAML** | yaml-language-server | `lspcontainers/yaml-language-server` | ![Version](https://img.shields.io/badge/version-1.18.0-blue) | ##️ 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