From 91f041048566b13c21811c8c4f4f63e18a951427 Mon Sep 17 00:00:00 2001 From: restitux Date: Sat, 24 Dec 2022 17:05:57 -0700 Subject: [PATCH] Cleanup docker development setup --- .dockerignore | 3 +-- .gitignore | 3 ++- Dockerfile | 14 ------------- docker-compose.yml | 11 ---------- docker/Dockerfile | 20 ++++++++++++++++++ docker/Dockerfile.dev | 13 ++++++++++++ docker/build-and-run.sh | 8 +++++++ docker/docker-compose.yml | 13 ++++++++++++ docker/run-dev.sh | 21 +++++++++++++++++++ .../webhook-override.yml | 8 ------- test/docker-compose.yml | 12 ----------- 11 files changed, 78 insertions(+), 48 deletions(-) delete mode 100644 Dockerfile delete mode 100644 docker-compose.yml create mode 100644 docker/Dockerfile create mode 100644 docker/Dockerfile.dev create mode 100755 docker/build-and-run.sh create mode 100644 docker/docker-compose.yml create mode 100755 docker/run-dev.sh rename test/docker-compose-webhook.yml => docker/webhook-override.yml (63%) delete mode 100644 test/docker-compose.yml diff --git a/.dockerignore b/.dockerignore index 08c917d..f064bc0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,2 @@ -*.yml *.toml -test +working diff --git a/.gitignore b/.gitignore index 7f6147f..2d0ec12 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +working +server server.toml -server-dind.toml diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 361a9f7..0000000 --- a/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM golang:1.19-bullseye as builder -MAINTAINER restitux - -COPY . /server -WORKDIR /server -RUN go build . - - -FROM debian:bullseye -RUN apt-get update && apt-get install -y \ - ca-certificates \ - && rm -rf /var/lib/apt/lists/* -COPY --from=builder /server/server /server -ENTRYPOINT ["/server"] diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index bbc6cc5..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: "3.3" -services: - cursorius-server: - build: - context: . - dockerfile: ./Dockerfile - ports: - - "0.0.0.0:45420:45420" - volumes: - - "./server.toml:/root/.config/cursorius/server.toml" - - "/var/run/docker.sock:/var/run/docker.sock" diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..e42631e --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.19-bullseye as builder +MAINTAINER restitux + +# Install connect proto build deps +RUN go install github.com/bufbuild/buf/cmd/buf@latest && \ + go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest && \ + go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && \ + go install github.com/bufbuild/connect-go/cmd/protoc-gen-connect-go@latest + +COPY . /server +WORKDIR /server +RUN go build . + + +FROM debian:bullseye +RUN apt-get update && apt-get install -y \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* +COPY --from=builder /server/server /server +ENTRYPOINT ["/server"] diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev new file mode 100644 index 0000000..945f37d --- /dev/null +++ b/docker/Dockerfile.dev @@ -0,0 +1,13 @@ +FROM golang:1.19-bullseye +MAINTAINER restitux + +# Install connect proto build deps +RUN GOPATH="/go-bin" go install github.com/bufbuild/buf/cmd/buf@latest && \ + GOPATH="/go-bin" go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest && \ + GOPATH="/go-bin" go install google.golang.org/protobuf/cmd/protoc-gen-go@latest && \ + GOPATH="/go-bin" go install github.com/bufbuild/connect-go/cmd/protoc-gen-connect-go@latest + +RUN apt-get update && apt-get install -y \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* +ENTRYPOINT ["/build/docker/build-and-run.sh"] diff --git a/docker/build-and-run.sh b/docker/build-and-run.sh new file mode 100755 index 0000000..c244118 --- /dev/null +++ b/docker/build-and-run.sh @@ -0,0 +1,8 @@ +#!/bin/bash + + +set -e + +cd /build +go build . +./server diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml new file mode 100644 index 0000000..a103929 --- /dev/null +++ b/docker/docker-compose.yml @@ -0,0 +1,13 @@ +version: "3.3" +services: + cursorius-server: + build: + context: .. + dockerfile: docker/Dockerfile.dev + ports: + - "0.0.0.0:45420:45420" + volumes: + - "..:/build" + - "../server.toml:/root/.config/cursorius/server.toml" + - "/var/run/docker.sock:/var/run/docker.sock" + - "../working/go:/go-src" diff --git a/docker/run-dev.sh b/docker/run-dev.sh new file mode 100755 index 0000000..0483272 --- /dev/null +++ b/docker/run-dev.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -e + +mkdir -p working + +case $1 in + "default") + docker compose -f docker/docker-compose.yml down + docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml down + docker compose -f docker/docker-compose.yml up --build -d + docker compose -f docker/docker-compose.yml logs -f;; + "webhook") + docker compose -f docker/docker-compose.yml down + docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml down + docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml up --build -d + docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml logs -f;; + *) echo "ERROR: Unknown param \"$1\"" 2>&1 + exit 255;; +esac + diff --git a/test/docker-compose-webhook.yml b/docker/webhook-override.yml similarity index 63% rename from test/docker-compose-webhook.yml rename to docker/webhook-override.yml index 448ee2b..a6fd623 100644 --- a/test/docker-compose-webhook.yml +++ b/docker/webhook-override.yml @@ -1,16 +1,8 @@ version: "3.3" services: cursorius-server: - build: - context: .. - dockerfile: ./Dockerfile networks: - gitea - ports: - - "0.0.0.0:45420:45420" - volumes: - - "../server.toml:/root/.config/cursorius/server.toml" - - "/var/run/docker.sock:/var/run/docker.sock" gitea: image: gitea/gitea:latest environment: diff --git a/test/docker-compose.yml b/test/docker-compose.yml deleted file mode 100644 index 949f3cf..0000000 --- a/test/docker-compose.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: "3.3" -services: - cursorius-server: - build: - context: . - dockerfile: ./Dockerfile - ports: - - "0.0.0.0:45420:45420" - volumes: - - "./server.toml:/root/.config/cursorius/server.toml" - - "/home/robby/development/restitux/ohea/cursorius/test/server/job:/job" - - "/var/run/docker.sock:/var/run/docker.sock"