Initial BitNet s9pk package with SSH access

This commit is contained in:
GERTY
2026-05-12 22:31:18 +00:00
commit 6e8a8f5b59
10 changed files with 429 additions and 0 deletions

105
README.md Normal file
View File

@@ -0,0 +1,105 @@
# BitNet s9pk Package
StartOS package for BitNet LLM with SSH access.
## Project Structure
```
bitnet-s9pk/
├── Dockerfile # Extended BitNet image with SSH
├── docker_entrypoint.sh # Entrypoint script for SSH setup
├── manifest.yaml # StartOS package manifest
├── instructions.md # User-facing instructions
├── Makefile # Build automation
├── scripts/
│ ├── config_get.sh # Config schema
│ ├── config_set.sh # Config application
│ ├── properties.sh # Package properties
│ └── health_check.sh # Health check script
└── assets/
└── icon.png # Package icon (TODO)
```
## Prerequisites
- Docker access (local or remote via SSH to MacBook)
- `start-cli` installed and authenticated
- Developer key at `/data/.startos/developer.key.pem`
## Building
### Option 1: Using Makefile (Recommended)
```bash
cd /data/.openclaw/workspace/bitnet-s9pk
make
```
This will:
1. Build the Docker image on remote Docker (MacBook)
2. Export it as `image.tar`
3. Pack everything into `bitnet.s9pk`
### Option 2: Manual Build
```bash
# Build image on MacBook
docker -H ssh://macbook build --platform linux/amd64 \
--tag start9/bitnet/main:1.0.0 \
-o type=docker,dest=image.tar .
# Pack the s9pk
start-cli s9pk pack --arch aarch64 --arch x86_64 .
```
## Installing
```bash
# Install on your StartOS server
start-cli package install bitnet.s9pk
# Or use make
make install
```
## Configuration After Install
1. Go to BitNet service in StartOS UI
2. Navigate to **Config** tab
3. Paste your SSH public key
4. Save and restart the service
## Connecting via SSH
```bash
# Via Tor (get address from Interfaces tab)
ssh -o ProxyCommand="nc -x localhost:9050 %h %p" root@your-bitnet-address.onion
# Via LAN
ssh root@your-server-lan-ip -p <port>
```
## Using BitNet
Once connected:
```bash
# Run inference
python3 /BitNet/run_inference.py -m ggml-model-i2_s.gguf -p "Hello, world!"
# See help
python3 /BitNet/run_inference.py --help
```
## TODO
- [ ] Add proper icon.png (512x512)
- [ ] Test on actual StartOS hardware
- [ ] Add model download action
- [ ] Volume mount for custom models
## References
- BitNet: https://github.com/microsoft/BitNet
- Container: https://github.com/kth8/bitnet
- StartOS Docs: https://docs.start9.com/latest/developer-docs/