# ----------------------------------------------------- # 1. Build the Nakama plugin # ----------------------------------------------------- FROM --platform=linux/arm64 golang:1.22 AS plugin_builder RUN apt-get update && apt-get install -y \ build-essential \ git WORKDIR /workspace COPY go.mod go.sum ./ RUN go mod download COPY . . RUN mkdir -p build && \ CGO_ENABLED=1 go build \ --trimpath \ --buildmode=plugin \ -o build/main.so \ ./plugins # ----------------------------------------------------- # 2. Build final Nakama image # ----------------------------------------------------- FROM --platform=linux/arm64 heroiclabs/nakama:3.21.0 AS nakama # Copy plugin from builder stage COPY --from=plugin_builder /workspace/build/main.so /nakama/data/modules/main.so # Default Nakama startup (runs migrations + server) ENTRYPOINT exec /bin/sh -ecx "/nakama/nakama migrate up --database.address \"$DB_ADDR\" && exec /nakama/nakama --database.address \"$DB_ADDR\" --socket.server_key=\"$SERVER_KEY\" --http.cors=allow_origin:https://games.aetoskia.com"