Building WebSummoner
Following the same philosophy as
golang-docker-boilerplate,
every build task runs inside a pinned Go container (golang:1.27-trixie by
default). No Go installation is needed on your machine — only Docker.
Everyday commands
Section titled “Everyday commands”Run each task in the pinned Go container. This repository is a self-contained Go module, so mounting it alone is enough.
Compile for your platform:
docker run --rm -v "$PWD":/app -w /app golang:1.27-trixie \ go build -buildvcs=false -o dist/websummoner .Run the tests, with the same build tags CI uses:
docker run --rm -v "$PWD":/app -w /app golang:1.27-trixie \ go test -tags 's3 metadata' -race ./...Vet and check formatting:
docker run --rm -v "$PWD":/app -w /app golang:1.27-trixie \ bash -c 'go vet ./... && test -z "$(gofmt -l .)"'Lint with the project’s configuration:
docker run --rm -v "$PWD":/app -w /app golangci/golangci-lint:latest \ golangci-lint run ./...Release binaries and the Docker image
Section titled “Release binaries and the Docker image”ci/build.sh cross-compiles every release target into dist/, and CI runs it
for tagged releases — so released binaries always come from one place. To
reproduce a release build locally, run that script in the container:
docker run --rm -v "$PWD":/app -w /app golang:1.27-trixie ci/build.shThen build the image from the linux binary for your architecture:
docker build --build-arg TARGETARCH=amd64 -t websummoner:local .Browser images
Section titled “Browser images”Ready-made browser images are published to Docker Hub by RIADVICE and updated as new browser versions stabilize — you never need to build them to use WebSummoner. Just pull:
docker pull websummoner/chrome:152.0docker pull websummoner/firefox:155.0.0To build fully custom images yourself, the
images repository contains the
public images build tool and its
build documentation.
Documentation site
Section titled “Documentation site”This documentation is an Astro Starlight
site in docs-site/:
cd docs-sitenpm installnpm run dev # live preview at http://localhost:4321/npm run build # static output in dist/ + llms.txtIt is built and deployed to GitHub Pages automatically by the custom
docs GitHub Actions workflow.