From 46f7815699e5257f862095d301945f9cc3ff7f0c Mon Sep 17 00:00:00 2001 From: Jonas Plum Date: Mon, 30 Sep 2024 03:20:26 +0200 Subject: [PATCH] feat: docker files (#1104) --- .goreleaser.yaml | 9 +++++++++ docker/Dockerfile | 24 ++++++++++++++++++++++++ docker/goreleaser.Dockerfile | 9 +++++++++ 3 files changed, 42 insertions(+) create mode 100644 docker/Dockerfile create mode 100644 docker/goreleaser.Dockerfile diff --git a/.goreleaser.yaml b/.goreleaser.yaml index b1f881f..472426c 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -11,6 +11,15 @@ builds: - linux - darwin +dockers: + - ids: [ catalyst ] + dockerfile: docker/goreleaser.Dockerfile + image_templates: + - "ghcr.io/securitybrewery/catalyst:latest" + - "ghcr.io/securitybrewery/catalyst:{{.Tag}}" + - "ghcr.io/securitybrewery/catalyst:v{{.Major}}" + - "ghcr.io/securitybrewery/catalyst:v{{.Major}}.{{.Minor}}" + archives: - format: tar.gz # this name template makes the OS and Arch compatible with the results of `uname`. diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..16e56c1 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,24 @@ +FROM oven/bun:debian +RUN apt-get update && apt-get install -y make +COPY .. /tmp/catalyst + +WORKDIR /tmp/catalyst + +RUN make build-ui + +FROM golang:1.23 +COPY --from=0 /tmp/catalyst /tmp/catalyst + +WORKDIR /tmp/catalyst + +RUN go build -o /usr/local/bin/catalyst + +FROM ubuntu:24.04 + +COPY --from=1 /usr/local/bin/catalyst /usr/local/bin/catalyst + +EXPOSE 8080 + +VOLUME /usr/local/bin/catalyst_data + +CMD ["/usr/local/bin/catalyst", "serve", "--http", "0.0.0.0:8080"] \ No newline at end of file diff --git a/docker/goreleaser.Dockerfile b/docker/goreleaser.Dockerfile new file mode 100644 index 0000000..be558ec --- /dev/null +++ b/docker/goreleaser.Dockerfile @@ -0,0 +1,9 @@ +FROM ubuntu:24.04 + +COPY catalyst /usr/local/bin/catalyst + +EXPOSE 8080 + +VOLUME /usr/local/bin/catalyst_data + +CMD ["/usr/local/bin/catalyst", "serve", "--http", "0.0.0.0:8080"] \ No newline at end of file