paperclip: provision LXC ct254 on lab-pve1 #60

Open
opened 2026-10-25 12:06:20 +00:00 by lab · 0 comments
Owner

Context

Paperclip runs as a dedicated LXC container beside ct253 (opencode). It needs
an always-on host for its Node server, embedded PostgreSQL, and the agent
subprocesses it spawns.

Steps

  1. Add a second entry to containers in terraform/node.tfvars:
{
  name                 = "paperclip"
  ct_id                = 254
  hostname             = "paperclip"
  ipv4_address         = "192.168.0.54/24"
  target_node          = "lab-pve1"
  cpu_cores            = 4
  memory_mb            = 4096
  disk_size            = 32
  storage_datastore_id = "local-lvm"
  description          = "Paperclip agent orchestrator (Tailscale-only, no reverse proxy)"
}
  1. Leave proxmox_password alone. The real value comes from outside the repo.
  2. terraform fmt -check && terraform validate
  3. terraform plan then terraform apply

Done when

  • pct list on lab-pve1 shows 254 running
  • ping 192.168.0.54 answers and SSH with the workstation key works
  • free -m inside the container sees ~4 GB

Notes

  • memory_mb is a cgroup cap, not a reservation. pve1 had ~2.8 GB free at
    design time; idle Paperclip needs ~1.3 GB.
## Context Paperclip runs as a dedicated LXC container beside `ct253` (opencode). It needs an always-on host for its Node server, embedded PostgreSQL, and the agent subprocesses it spawns. ## Steps 1. Add a second entry to `containers` in `terraform/node.tfvars`: ```hcl { name = "paperclip" ct_id = 254 hostname = "paperclip" ipv4_address = "192.168.0.54/24" target_node = "lab-pve1" cpu_cores = 4 memory_mb = 4096 disk_size = 32 storage_datastore_id = "local-lvm" description = "Paperclip agent orchestrator (Tailscale-only, no reverse proxy)" } ``` 2. Leave `proxmox_password` alone. The real value comes from outside the repo. 3. `terraform fmt -check && terraform validate` 4. `terraform plan` then `terraform apply` ## Done when - `pct list` on `lab-pve1` shows `254` running - `ping 192.168.0.54` answers and SSH with the workstation key works - `free -m` inside the container sees ~4 GB ## Notes - `memory_mb` is a cgroup cap, not a reservation. pve1 had ~2.8 GB free at design time; idle Paperclip needs ~1.3 GB.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lab/homelab#60
No description provided.