Skip to content

cryptowizard0/vmdocker_container

Repository files navigation

VMDocker Container

License Go Version Docker

VMDocker Container is a Docker-based runtime environment designed to execute computational tasks for HyMatrix, working seamlessly with Vmdocker for distributed computing scenarios.

More about HyMatrix & Vmdocker:

🚀 Features

  • Multi-Runtime Support: Supports multiple execution environments
  • Docker Integration: Containerized deployment for consistency and scalability
  • RESTful API: Clean and intuitive API endpoints
  • Production Ready: Built with Go for high performance and reliability

📋 Supported Runtimes

Runtime Description
AOS AOS v2.0.1 env
Ollama Large Language Model serving runtime
Test Lightweight in-memory runtime for message-path verification (RUNTIME_TYPE=test)

🐳 Quick Start with Docker

Prerequisites

  • Docker installed and running
  • Go 1.19+ (for local development)

Build Docker Image

# Build GoLua runtime image
./docker_build.sh golua <VERSION>

# Build Ollama runtime image
./docker_build.sh ollama <VERSION>

Parameters:

  • golua|ollama: Runtime type to build
  • <VERSION>: Image version tag (e.g., v1.0.0, latest, dev)

Examples:

# Build with specific version
./docker_build.sh golua v1.0.0
./docker_build.sh ollama v2.1.0

# Build with latest tag
./docker_build.sh golua latest

Run Container

./docker_run.sh

The container will start and expose the API on the configured port.

🛠️ Local Development

Running Locally

# Run directly with Go
go run -tags=lua53 main.go

# Or build and run binary
go build -tags=lua53 -o vmdocker-container
./vmdocker-container

Testing

# Run all tests
go test -tags=lua53 -v ./...

# Run tests with coverage
go test -tags=lua53 -v -cover ./...

🏗️ Project Structure

.
├── ao/                 # AO runtime files
├── common/             # Shared utilities
├── runtime/            # Runtime implementations
│   ├── runtime_ollama/ # Ollama runtime
│   └── runtime_vmgolua/# GoLua runtime
├── server/             # HTTP server implementation
├── utils/              # Helper utilities
├── Dockerfile.*        # Docker build files
├── docker_build.sh     # Build script
├── docker_run.sh       # Run script
└── main.go            # Application entry point

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🔗 Related Projects

  • Hymx - The main computation framework
  • Vmdocker - Container orchestration system
  • AOS - Actor Oriented System

About

VMDocker Container is a Docker-based runtime environment designed to execute computational tasks for HyMatrix, working seamlessly with Vmdocker for distributed computing scenarios.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors