diff --git a/.gitignore b/.gitignore index 774c3f7..8bb82d0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ _working server server.toml +docker/docker-compose.override.yml diff --git a/docker/Dockerfile.dev b/docker/Dockerfile.dev index 945f37d..d81cbb7 100644 --- a/docker/Dockerfile.dev +++ b/docker/Dockerfile.dev @@ -1,13 +1,7 @@ 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"] +ENTRYPOINT ["/build/server/docker/build-and-run.sh"] diff --git a/docker/build-and-run.sh b/docker/build-and-run.sh index c244118..4e7428a 100755 --- a/docker/build-and-run.sh +++ b/docker/build-and-run.sh @@ -3,6 +3,6 @@ set -e -cd /build +cd /build/server go build . ./server diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 73b0c7b..5d216c4 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -7,7 +7,7 @@ services: ports: - "0.0.0.0:45420:45420" volumes: - - "..:/build" + - "..:/build/server" - "../server.toml:/root/.config/cursorius/server.toml" - "/var/run/docker.sock:/var/run/docker.sock" - "../_working/go:/go" diff --git a/docker/run-dev.sh b/docker/run-dev.sh index bf23dd2..309547c 100755 --- a/docker/run-dev.sh +++ b/docker/run-dev.sh @@ -5,32 +5,56 @@ set -e mkdir -p _working/go mkdir -p _working/jobs +base_default_compose_files="docker/docker-compose.yml" +default_compose_files="$base_default_compose_files" + +if [ -f "docker/docker-compose.override.yml" ] +then + default_compose_files+=" docker/docker-compose.override.yml" +else + default_compose_files="docker/docker-compose.yml" +fi + function stop_containers { - docker compose -f docker/docker-compose.yml down - docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml down + current_containers="$(cat _working/current_containers)" + if [ "$current_containers" == "default" ] + then + compose_files="$default_compose_files" + elif [ "$current_containers" == "webhook" ] + then + compose_files="$default_compose_files docker/webhook-override.yml" + fi + compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') + docker compose $compose_file_flags down } function show_logs { current_containers="$(cat _working/current_containers)" - if [[ "$current_containers" == "default" ]] + if [ "$current_containers" == "default" ] then - docker compose -f docker/docker-compose.yml logs -f - elif [[ "$current_containers" == "webhook" ]] + compose_files="$default_compose_files" + elif [ "$current_containers" == "webhook" ] then - docker compose -f docker/docker-compose.yml -f docker/webhook-override.yml logs -f + compose_files="$default_compose_files docker/webhook-override.yml" fi + compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') + docker compose $compose_file_flags logs -f } case $1 in "default") echo "default" > _working/current_containers - docker compose -f docker/docker-compose.yml up --build -d - docker compose -f docker/docker-compose.yml logs -f;; + compose_files="$default_compose_files" + compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') + docker compose $compose_file_flags up --build -d + docker compose $compose_file_flags logs -f;; "webhook") echo "webhook" > _working/current_containers stop_containers - 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;; + compose_files="$default_compose_files docker/webhook-override.yml" + compose_file_flags=$(echo "$compose_files" | tr ' ' '\n' | xargs -I'{}' echo "-f {} " | tr -d '\n') + docker compose $compose_file_flags up --build -d + docker compose $compose_file_flags logs -f;; "stop") stop_containers;; "logs")