- Move ci-test.sh and setup.sh to scripts/ - Trim docs/src/zig-cli.md to current structure - Replace hardcoded secrets with placeholders in configs - Update .gitignore to block .env*, secrets/, keys, build artifacts - Slim README.md to reflect current CLI/TUI split - Add cleanup trap to ci-test.sh - Ensure no secrets are committed
71 lines
1.5 KiB
Markdown
71 lines
1.5 KiB
Markdown
# FetchML
|
||
|
||
A lightweight ML experiment platform with a tiny Zig CLI and a Go backend. Designed for homelabs and small teams.
|
||
|
||
## Quick start
|
||
|
||
```bash
|
||
# Clone and run (dev)
|
||
git clone <your-repo>
|
||
cd fetch_ml
|
||
docker-compose up -d
|
||
|
||
# Or build the CLI locally
|
||
cd cli && make all
|
||
./build/ml --help
|
||
```
|
||
|
||
## What you get
|
||
|
||
- **Zig CLI** (`ml`): Tiny, fast local client. Uses `~/.ml/config.toml` and `FETCH_ML_CLI_*` env vars.
|
||
- **Go backends**: API server, worker, and a TUI for richer remote features.
|
||
- **TUI over SSH**: `ml monitor` launches the TUI on the server, keeping the local CLI minimal.
|
||
- **CI/CD**: Cross‑platform builds with `zig build-exe` and Go releases.
|
||
|
||
## CLI usage
|
||
|
||
```bash
|
||
# Configure
|
||
cat > ~/.ml/config.toml <<EOF
|
||
worker_host = "127.0.0.1"
|
||
worker_user = "dev_user"
|
||
worker_base = "/tmp/ml-experiments"
|
||
worker_port = 9101
|
||
api_key = "your-api-key"
|
||
EOF
|
||
|
||
# Core commands
|
||
ml status
|
||
ml queue my-job
|
||
ml cancel my-job
|
||
ml dataset list
|
||
ml monitor # SSH to run TUI remotely
|
||
```
|
||
|
||
## Build
|
||
|
||
```bash
|
||
# CLI (Zig)
|
||
cd cli && make all # release-small
|
||
make tiny # extra-small
|
||
make fast # release-fast
|
||
|
||
# Go backends
|
||
make cross-platform # builds for Linux/macOS/Windows
|
||
```
|
||
|
||
## Deploy
|
||
|
||
- **Dev**: `docker-compose up -d`
|
||
- **Prod**: Use the provided systemd units or containers on Rocky Linux.
|
||
|
||
## Docs
|
||
|
||
See `docs/` for detailed guides:
|
||
- `docs/src/zig-cli.md` – CLI reference
|
||
- `docs/src/quick-start.md` – Full setup guide
|
||
- `docs/src/deployment.md` – Production deployment
|
||
|
||
## License
|
||
|
||
See LICENSE.
|