summaryrefslogtreecommitdiff
path: root/vendor/github.com/playwright-community/playwright-go/Dockerfile.example
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/playwright-community/playwright-go/Dockerfile.example')
-rw-r--r--vendor/github.com/playwright-community/playwright-go/Dockerfile.example25
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/github.com/playwright-community/playwright-go/Dockerfile.example b/vendor/github.com/playwright-community/playwright-go/Dockerfile.example
new file mode 100644
index 0000000..3077cf3
--- /dev/null
+++ b/vendor/github.com/playwright-community/playwright-go/Dockerfile.example
@@ -0,0 +1,25 @@
+# Stage 1: Modules caching
+FROM golang:1.22 as modules
+COPY go.mod go.sum /modules/
+WORKDIR /modules
+RUN go mod download
+
+# Stage 2: Build
+FROM golang:1.22 as builder
+COPY --from=modules /go/pkg /go/pkg
+COPY . /workdir
+WORKDIR /workdir
+# Install playwright cli with right version for later use
+RUN PWGO_VER=$(grep -oE "playwright-go v\S+" /workdir/go.mod | sed 's/playwright-go //g') \
+ && go install github.com/playwright-community/playwright-go/cmd/playwright@${PWGO_VER}
+# Build your app
+RUN GOOS=linux GOARCH=amd64 go build -o /bin/myapp
+
+# Stage 3: Final
+FROM ubuntu:noble
+COPY --from=builder /go/bin/playwright /bin/myapp /
+RUN apt-get update && apt-get install -y ca-certificates tzdata \
+ # Install dependencies and all browsers (or specify one)
+ && /playwright install --with-deps \
+ && rm -rf /var/lib/apt/lists/*
+CMD ["/myapp"] \ No newline at end of file