https://github.com/bdr-pro/lumaris
Lumaris is a decentralized compute marketplace where buyers send Docker jobs and sellers run them securely. It uses Nakama for real-time communication between clients.
https://github.com/bdr-pro/lumaris
Last synced: about 1 year ago
JSON representation
Lumaris is a decentralized compute marketplace where buyers send Docker jobs and sellers run them securely. It uses Nakama for real-time communication between clients.
- Host: GitHub
- URL: https://github.com/bdr-pro/lumaris
- Owner: BDR-Pro
- Created: 2025-05-09T14:01:06.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-10T08:17:00.000Z (about 1 year ago)
- Last Synced: 2025-05-10T09:25:21.426Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Lumaris Compute Marketplace
A distributed marketplace for computing resources built on Nakama game server.
## Project Structure
```bash
lumaris/
├── main.go # Main application entry point
├── modules/
│ ├── jobReq.go # Job request/result data structures
│ └── nakamaModule.go # Nakama server-side module code
├── buyer/
│ ├── client.go # Buyer client implementation
│ └── test.go # Buyer test implementation
└── seller/
└── runner.go # Seller runner implementation
```
## Usage
### Building the project
```bash
go build -o lumaris
```
### Running as a buyer
```bash
./lumaris buyer -server 127.0.0.1:7350 -token your_token_here
```
### Running as a seller
```bash
./lumaris seller -server 127.0.0.1:7350 -token your_token_here
```
### Running tests
Test the buyer functionality:
```bash
./lumaris test-buy -server 127.0.0.1:7350 -token your_token_here -image python:3.10 -command "python -c 'print(\"Hello\")"
```
## Command-line Options
### Global Options
- `-server` - Nakama server address (default: 127.0.0.1:7350)
- `-token` - Nakama session token (required)
### Buyer Test Options
- `-image` - Docker image to use (default: python:3.10)
- `-command` - Command to run inside the container
## Development
### Nakama Module Setup
The Nakama module (`modules/nakamaModule.go`) needs to be compiled and loaded into your Nakama server:
1. Build the module:
```bash
go build -buildmode=plugin -o ./modules.so ./modules/nakamaModule.go
```
2. Add the module to your Nakama configuration:
```yaml
runtime:
path: "/path/to/modules.so"
```
3. Restart Nakama server to load the module.