diff --git a/.github/workflows/containers.yaml b/.github/workflows/containers.yaml index eb1fb15..e360c2c 100644 --- a/.github/workflows/containers.yaml +++ b/.github/workflows/containers.yaml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: # ADD NEW Dockerfile directories HERE!!! - contexts: [deepspeed-mii, elia, llm-cli] + contexts: [deepspeed-mii, elia, llm-cli, gptscript] steps: - uses: actions/setup-go@v4 if: startsWith(github.ref, format('refs/tags/{0}/v', matrix.contexts)) diff --git a/containers/gptscript/Dockerfile b/containers/gptscript/Dockerfile new file mode 100644 index 0000000..3a19c31 --- /dev/null +++ b/containers/gptscript/Dockerfile @@ -0,0 +1,36 @@ +FROM alpine/git as cloner + +WORKDIR /app + +RUN git clone https://github.com/gptscript-ai/gptscript.git . + +FROM oven/bun:latest as bun-builder + +WORKDIR /app + +COPY --from=cloner /app/ui /app +RUN bun install +RUN bun run generate + +FROM golang:alpine as go-builder + +WORKDIR /app + +COPY --from=cloner /app /app +COPY --from=bun-builder /app/.output/public /app/static/ui +RUN CGO_ENABLED=0 go build -ldflags="-s -w" . + +FROM alpine:latest + +WORKDIR /scripts + +COPY --from=cloner /app/examples /scripts/examples +COPY --from=go-builder /app/gptscript /usr/local/bin/gptscript + +VOLUME ["/scripts"] + +ENTRYPOINT ["gptscript"] + +ENV GPTSCRIPT_LISTEN_ADDRESS=0.0.0.0:9090 + +CMD ["--server"]