Files
KNEL-AIMiddleware/dockerfiles/docker-language-server/Dockerfile
Charles N Wyble cfca7e6342 Add LSP Dockerfiles for bash, docker, and marksman
- bash-language-server: Prebuilt npm package (190MB)
- docker-language-server: Multi-stage Go build (49.2MB)
- marksman: Debian with libicu72 for .NET runtime (144MB)
- All configured for Crush via stdio communication
2026-01-21 19:19:37 -05:00

33 lines
631 B
Docker

# syntax=docker/dockerfile:1
ARG GO_VERSION="1.25"
ARG ALPINE_VERSION="3.22"
FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS builder
WORKDIR /src
# Copy go files
COPY go.mod go.sum ./
# Download dependencies
RUN go mod download
# Copy source code
COPY . .
# Build of binary
RUN CGO_ENABLED=0 GOOS=linux go build -o docker-language-server ./cmd/docker-language-server
# Runtime stage
FROM alpine:${ALPINE_VERSION}
WORKDIR /app
# Copy binary from builder
COPY --from=builder /src/docker-language-server /usr/local/bin/
# Set entrypoint to run LSP server
ENTRYPOINT ["docker-language-server"]
CMD ["start", "--stdio"]