diff --git a/Dockerfile b/Dockerfile index d786009..e6ffa9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,16 @@ +# Build stage FROM golang:latest AS builder WORKDIR /app COPY go.mod go.sum ./ RUN go mod download COPY . . -RUN go build -v -o svg-templater ./... +RUN CGO_ENABLED=0 GOOS=linux go build -v -o svg-templater ./cmd/svg-templater +# Final stage FROM alpine:latest WORKDIR /root/ +EXPOSE 3000 +VOLUME ["/var/lib/svg-templater"] +RUN apk add inkscape fontconfig COPY --from=builder /app/svg-templater /usr/local/bin/svg-templater CMD ["svg-templater"] diff --git a/go.mod b/go.mod index 9cd88bb..081845e 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require github.com/glebarez/go-sqlite v1.22.0 require ( github.com/dustin/go-humanize v1.0.1 // indirect github.com/google/uuid v1.5.0 // indirect - github.com/hymkor/exregexp-go v0.2.0 // indirect + github.com/hymkor/exregexp-go v0.2.0 github.com/mattn/go-isatty v0.0.20 // indirect github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect golang.org/x/sys v0.15.0 // indirect diff --git a/pkg/format/formatconverter.go b/pkg/format/formatconverter.go index d497b8e..b88530e 100644 --- a/pkg/format/formatconverter.go +++ b/pkg/format/formatconverter.go @@ -4,6 +4,7 @@ import ( "bytes" "fmt" "io" + "log" "os" "os/exec" "path/filepath" @@ -74,11 +75,11 @@ func runCommand(input string, param ConversionParameters) (io.ReadCloser, error) args = append(args, "-o", outFile) args = append(args, input) - cmd := exec.Command("/opt/homebrew/bin/inkscape", args...) + cmd := exec.Command("inkscape", args...) cmd.Dir = svg.TempDir out, err := cmd.CombinedOutput() - + log.Println(string(out)) if err != nil { return nil, fmt.Errorf("inkscape failed: %w: %s", err, string(out)) }