FROM docker.io/library/golang:1.25-bookworm WORKDIR /app # Install wgo for live reloading with retry logic RUN for i in 1 2 3 4 5; do \ echo "Attempt $i to install wgo..." && \ go install github.com/bokwoon95/wgo@latest && break || \ (echo "Install failed, retrying in 5s..." && sleep 5); \ done # Copy module files first for caching COPY server-go/go.mod server-go/go.sum ./server-go/ WORKDIR /app/server-go RUN go mod download # Copy the rest of the source COPY server-go/ . # Expose port EXPOSE 4000 ENV PORT=4000 # Run app directly for stability test CMD ["go", "run", "main.go"]