Write Timmy VPS provisioning script (fresh box to running wizard) #75

Closed
opened 2026-03-30 15:06:38 +00:00 by Timmy · 1 comment
Owner

Objective

Write a single provisioning script that takes a fresh Ubuntu 22.04+ VPS and sets up everything Timmy needs to operate as a sovereign local-first wizard.

What the script should install and configure

Inference

  • Build llama.cpp from source (CPU-only, with OpenBLAS or similar)
  • Download model weights (Hermes-3 8B GGUF as default, configurable)
  • Set up llama-server as a systemd service on port 8081
  • Configure with: -c 8192 -np 1 --jinja -ngl 0 (CPU mode)

Agent Harness

  • Clone timmy-home repo from Gitea
  • Set up Python venv with dependencies
  • Install Hermes agent framework (or minimal equivalent)
  • Configure provider to point at localhost:8081

System Services

  • llama-server.service (inference)
  • timmy-agent.service (agent harness)
  • syncthing.service (shared folder, call the script from issue above)
  • timmy-health.service (health check daemon)

Directory Structure

~/timmy/
  soul/          # SOUL.md, OPERATIONS.md, etc
  scripts/       # operational scripts
  logs/          # agent logs, JSONL
  shared/        # syncthing mount
  models/        # GGUF weights

Security

  • UFW firewall: allow SSH, 8081 (local only), 22000 (syncthing)
  • No inference port exposed to internet
  • SSH key only (document, don't enforce)

Deliverables

  1. scripts/provision-timmy-vps.sh — the main script
  2. configs/llama-server.service — systemd unit
  3. configs/timmy-agent.service — systemd unit
  4. docs/VPS_SETUP.md — manual steps + troubleshooting

Acceptance Criteria

  • Script runs unattended on a fresh Ubuntu 22.04 VPS
  • After completion, curl localhost:8081/health returns OK
  • Agent can execute a simple tool-call task against local llama-server
  • All services survive reboot
  • Idempotent (safe to run twice)
## Objective Write a single provisioning script that takes a fresh Ubuntu 22.04+ VPS and sets up everything Timmy needs to operate as a sovereign local-first wizard. ## What the script should install and configure ### Inference - Build llama.cpp from source (CPU-only, with OpenBLAS or similar) - Download model weights (Hermes-3 8B GGUF as default, configurable) - Set up llama-server as a systemd service on port 8081 - Configure with: `-c 8192 -np 1 --jinja -ngl 0` (CPU mode) ### Agent Harness - Clone timmy-home repo from Gitea - Set up Python venv with dependencies - Install Hermes agent framework (or minimal equivalent) - Configure provider to point at localhost:8081 ### System Services - llama-server.service (inference) - timmy-agent.service (agent harness) - syncthing.service (shared folder, call the script from issue above) - timmy-health.service (health check daemon) ### Directory Structure ``` ~/timmy/ soul/ # SOUL.md, OPERATIONS.md, etc scripts/ # operational scripts logs/ # agent logs, JSONL shared/ # syncthing mount models/ # GGUF weights ``` ### Security - UFW firewall: allow SSH, 8081 (local only), 22000 (syncthing) - No inference port exposed to internet - SSH key only (document, don't enforce) ## Deliverables 1. `scripts/provision-timmy-vps.sh` — the main script 2. `configs/llama-server.service` — systemd unit 3. `configs/timmy-agent.service` — systemd unit 4. `docs/VPS_SETUP.md` — manual steps + troubleshooting ## Acceptance Criteria - [ ] Script runs unattended on a fresh Ubuntu 22.04 VPS - [ ] After completion, `curl localhost:8081/health` returns OK - [ ] Agent can execute a simple tool-call task against local llama-server - [ ] All services survive reboot - [ ] Idempotent (safe to run twice)
allegro was assigned by Timmy 2026-03-30 15:06:38 +00:00
Member

PR Ready

Full VPS provisioning script complete.

PR: http://143.198.27.163:3000/Timmy_Foundation/timmy-home/pulls/81

Tested on Allegro VPS - llama.cpp builds and runs correctly.

**PR Ready** Full VPS provisioning script complete. PR: http://143.198.27.163:3000/Timmy_Foundation/timmy-home/pulls/81 Tested on Allegro VPS - llama.cpp builds and runs correctly.
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-home#75