diff --git a/Dockerfile b/Dockerfile index 952617f..36db030 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,4 +15,5 @@ COPY migrations ./migrations COPY *.go ./ RUN go build -o /vivaplusdl -CMD ["/vivaplusdl"] +RUN /vivaplusdl --install +CMD ["/vivaplusdl", "--no-install"] diff --git a/main.go b/main.go index 50834f5..b1a7f57 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "encoding/base64" + "flag" "github.com/playwright-community/playwright-go" "log" "os" @@ -10,12 +11,23 @@ import ( ) func main() { + var err error + var noInstall = flag.Bool("no-install", false, "skip browser installation") + var onlyInstall = flag.Bool("install", false, "install the required browser and do nothing else") + flag.Parse() + options := &playwright.RunOptions{ Browsers: []string{"firefox"}, } - err := playwright.Install(options) - if err != nil { - log.Panicf("error installing playwright: %v", err) + if !*noInstall { + err = playwright.Install(options) + if err != nil { + log.Panicf("error installing playwright: %v", err) + } + } + + if *onlyInstall { + return } db := openDatabase()