#!/usr/bin/env bash # Bash script for fast Docker build using host compilation set -e ARCH=${1:-"arm64"} TAG=${2:-"x0gp-server:latest"} # Navigate to the server root directory SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" SERVER_DIR="$(dirname "$SCRIPT_DIR")" cd "$SERVER_DIR" echo "Building Go binary for OS=linux, ARCH=${ARCH}..." mkdir -p bin BIN_PATH="bin/poc-server-linux-${ARCH}" # Compile locally CGO_ENABLED=0 GOOS=linux GOARCH=${ARCH} go build -ldflags="-s -w" -o "${BIN_PATH}" ./cmd/poc-server echo "Go binary successfully compiled: ${BIN_PATH}" echo "Building Docker image '${TAG}'..." # Build docker image docker build --build-arg BINARY_PATH="${BIN_PATH}" -t "${TAG}" -f Dockerfile.fast . echo -e "\nDocker image '${TAG}' built successfully!"