Skip to content

GaleMind/galemind-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GaleMind Server

GaleMind ML Inference Server v0.1 - A high-performance machine learning inference server providing both REST and gRPC APIs.

Prerequisites

  • Rust (1.70+): Install from rustup.rs
  • Make: Required for using the Makefile commands

Github deployment notes

  • Pushing a commit to main or develop branch will trigger Docker image building and (upon success) pushing to galemindzen's Docker hub private repo.
  • Pushing a v* tag onto any commit will trigger its docker image building and (upon success) pushing to galemindzen's Docker hub private repo;
    • if that "*" ends in +k8s, then also deploy onto Galemind's Linode Kubernetes cluster.

Installation

  1. Clone the repository:
git clone <repository-url>
cd galemind-server
  1. Install Rust dependencies:
cargo build

Compilation

Using Makefile (Recommended)

# Build the entire project (includes format and test)
make all

# Run tests only
make test

# Format code
make format

# Run the server
make run

Using Cargo directly

# Build the project
cargo build

# Build for production (optimized)
cargo build --release

# Run tests
cargo test

# Format code
cargo fmt

Usage

Environment Variables

Set the required environment variables in the .env file (recommended):

export MODELS_DIR=/path/to/your/models

Starting the Server

Using Makefile (automatically loads environment variables from .env):

make run

Or using cargo directly:

cargo run -p galemind start

Server Configuration

The server supports the following command-line options:

cargo run -p galemind start \
  --rest-host 0.0.0.0 \
  --rest-port 8080 \
  --grpc-host 0.0.0.0 \
  --grpc-port 50051
  • REST API: Available at http://localhost:8080 (default)
  • gRPC API: Available at localhost:50051 (default)

Available Make Commands

Command Description
make all Format code, run tests, and build the project
make test Run all tests
make format Format code using cargo fmt
make run Start the GaleMind server

Project Structure

This is a Rust workspace containing:

  • src/galemind/ - Main server application
  • src/grpc_server/ - gRPC server implementation
  • src/rest_server/ - REST API server implementation

License

See the LICENSE file for details.