vale Docker & Self-Hosted Deployment

GitHub

Pencil: A markup-aware linter for prose built with speed and extensibility in mind.

6,261 stars Go Go 7 files ยท ~3,965 tokens #linter#linting#vale
1. Pull Image (DOCKERHUB) docker pull vale-cli/vale:latest
2. Docker Run (1-Click Launch) docker run -d --name vale --restart always vale-cli/vale:latest
3. Podman Run podman run -d --name vale --restart always vale-cli/vale:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/vale-cli/vale:latest
5. ORAS Pull (OCI Artifact) oras pull vale-cli/vale:latest
Dockerfile
# syntax=docker/dockerfile:1
ARG GOLANG_VER=1.25
FROM golang:${GOLANG_VER}-alpine AS build

# See https://cloud.docker.com/repository/docker/jdkato/vale

# TODO: DITA / XML:
#    openjdk11 \
#    libxslt \
# COPY bin/dita-ot-3.6 /
#
# This currently isn't packaged because it makes the size 7x as big.

# Debug shell: $ docker run -it --entrypoint /bin/sh jdkato/vale -s

RUN apk add build-base

COPY . /app/
WORKDIR /app

ENV CGO_ENABLED=1

ARG ltag

RUN go build -ldflags "-s -w -X main.version=$ltag" -o /app/vale ./cmd/vale

FROM alpine

RUN apk add --no-cache \
    py3-docutils \
    asciidoctor \
    nodejs \
    npm

RUN npm install -g mdx2vast

COPY --from=build /app/vale /bin

# ENV PATH="/bin:/dita-ot-3.6/bin:$PATH"
ENTRYPOINT ["/bin/vale"]