From 344941057dafaa49a19e707bfadb740d4cade9eb Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Fri, 15 Mar 2024 23:10:47 +0100 Subject: [PATCH] Dockerize websocket server --- docker-compose.dev.yml | 15 +++++++++++++++ shell.nix | 1 + websockets/Dockerfile | 13 +++++++++++++ websockets/Dockerfile.dev | 6 ++++++ websockets/main.go | 1 + 5 files changed, 36 insertions(+) create mode 100644 websockets/Dockerfile create mode 100644 websockets/Dockerfile.dev diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 599965f5..996e21ec 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -118,6 +118,21 @@ services: env_file: - ./.env + websockets: + build: + context: ./websockets + dockerfile: Dockerfile.dev + volumes: + - ./websockets:/app + restart: on-failure + depends_on: + - rabbitmq + environment: + - RABBITMQ_DEFAULT_USER=${RABBITMQ_DEFAULT_USER} + - RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS} + ports: + - 7777:7777 + transcoder: <<: *transcoder-base profiles: ['', 'cpu'] diff --git a/shell.nix b/shell.nix index 62457365..af5d52e1 100644 --- a/shell.nix +++ b/shell.nix @@ -36,6 +36,7 @@ in postgresql_15 pgformatter biome + websocat ]; DOTNET_ROOT = "${dotnet}"; diff --git a/websockets/Dockerfile b/websockets/Dockerfile new file mode 100644 index 00000000..333f5789 --- /dev/null +++ b/websockets/Dockerfile @@ -0,0 +1,13 @@ +FROM golang:1.21-alpine as build +WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod download +COPY . . +RUN go build -o ./websockets + +FROM alpine +WORKDIR /app +COPY --from=build /app/websockets /app/websockets + +EXPOSE 7777 +CMD ./websockets diff --git a/websockets/Dockerfile.dev b/websockets/Dockerfile.dev new file mode 100644 index 00000000..75426af0 --- /dev/null +++ b/websockets/Dockerfile.dev @@ -0,0 +1,6 @@ +FROM golang:1.21-alpine +RUN go install github.com/bokwoon95/wgo@latest +WORKDIR /app + +EXPOSE 7777 +CMD wgo run . diff --git a/websockets/main.go b/websockets/main.go index bd7bfae6..77667715 100644 --- a/websockets/main.go +++ b/websockets/main.go @@ -38,6 +38,7 @@ func main() { } }) + log.Println("Listening on :7777") err := http.ListenAndServe(":7777", nil) log.Fatal(err) }