check / check (push) Successful in 48s
The root Dockerfile builds the only image; Dockerfile.backend is gone. Its stages: lint, a Go stage that runs the tests and builds netwatch-server, the node stage, and an nginx runtime. nginx serves dist/ on 8080 and proxies /api/ and /.well-known/healthcheck to the backend on 127.0.0.1:8081. bin/entrypoint.sh starts both, turns TERM or INT into a stop of both, and exits non-zero when either exits on its own. The backend runs as user netwatch and keeps reports on the /data volume. New setting BIND_ADDRESS (empty: every interface). STOPSIGNAL is SIGTERM, since the nginx image's SIGQUIT would miss the entrypoint. script/docker is the org model verbatim. Model: opus-5-5
22 lines
689 B
Python
Executable File
22 lines
689 B
Python
Executable File
#!/bin/sh
|
|
# script/build: compile the static netwatch-server binary into the
|
|
# backend project root, with its version and architecture stamped in.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
|
|
main() {
|
|
cd "$ROOT"
|
|
|
|
# VERSION comes from the environment (the root Dockerfile passes its
|
|
# ARG VERSION in). Unset or empty, it is git describe, or "dev" where
|
|
# there is no git or no repository history.
|
|
version="${VERSION:-$(git describe --always --dirty 2>/dev/null || echo dev)}"
|
|
|
|
CGO_ENABLED=0 go build -trimpath \
|
|
-ldflags "-s -w -X main.Version=$version -X main.Buildarch=$(uname -m)" \
|
|
-o netwatch-server ./cmd/netwatch-server/
|
|
}
|
|
|
|
main "$@"
|