added dockerfile for nakama

This commit is contained in:
2025-11-29 16:59:33 +05:30
parent 840d7701ca
commit 07cb519f55

44
Dockerfile Normal file
View File

@@ -0,0 +1,44 @@
# -----------------------------------------------------
# 1. Build the Nakama plugin (ARM64)
# -----------------------------------------------------
FROM --platform=linux/arm64 golang:1.22-alpine AS plugin_builder
# Install dependencies needed for CGO plugin build
RUN apk add --no-cache git build-base
WORKDIR /workspace
# Download module deps first (better caching)
COPY go.mod go.sum ./
RUN go mod download
# Copy source code
COPY . .
# Build plugin
RUN mkdir -p build && \
CGO_ENABLED=1 go build \
--trimpath \
--buildmode=plugin \
-o build/main.so \
./plugins
# -----------------------------------------------------
# 2. Build final Nakama image (ARM64)
# -----------------------------------------------------
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
# Copy Nakama config
COPY local.yml /nakama/data/local.yml
# Default Nakama startup (runs migrations + server)
ENTRYPOINT [
"/bin/sh",
"-ecx",
"/nakama/nakama migrate up --database.address postgres:localdb@postgres:5432/nakama?sslmode=disable && \
exec /nakama/nakama --config /nakama/data/local.yml --database.address postgres:localdb@postgres:5432/nakama?sslmode=disable"
]