e0258a928e
Recommended base: Debian 13 Trixie (matches opencode-devbox base image). - cloud-init.yml: automated VM provisioning for Proxmox/OpenStack/cloud providers - setup-host.sh: interactive post-install script for manually-created VMs - README.md: documents both paths and VM sizing recommendations Installs Docker (official repo), Compose v2, ufw firewall, mosh support, and the IPv4 DNS preference workaround for Docker Hub IPv6 issues.
2.3 KiB
2.3 KiB
Deploy — Host VM setup
Scripts for setting up a fresh Linux VM to host opencode-devbox.
Files
cloud-init.yml— cloud-init user-data template for automated VM provisioning on OpenStack, Proxmox, or any cloud with cloud-init supportsetup-host.sh— interactive post-install script for VMs that weren't provisioned with cloud-init
Supported distributions
- Debian 13 (Trixie) — recommended (matches opencode-devbox base image)
- Ubuntu 24.04 LTS — also works
Other distributions will need manual adaptation.
Quick start
Option 1: Cloud-init (automated)
Customize cloud-init.yml — replace the SSH public key and optionally the hostname/timezone. Then use it during VM creation:
- Proxmox: attach as cloud-init user-data
- OpenStack:
openstack server create --user-data cloud-init.yml ... - AWS/DigitalOcean/etc: paste into the "user data" field
The VM boots with Docker installed, firewall configured, and your SSH key authorized. Log in as the devbox user.
Option 2: Post-install script (manual)
On a fresh Debian/Ubuntu VM:
curl -fsSL https://gitea.jordbo.se/joakimp/opencode-devbox/raw/branch/main/deploy/setup-host.sh | bash
Or clone and run:
git clone https://gitea.jordbo.se/joakimp/opencode-devbox
cd opencode-devbox/deploy
./setup-host.sh
What gets installed
- Docker Engine (from Docker's official apt repo, not distro's
docker.io) - Docker Compose plugin (v2)
tmux,mosh,gitufwfirewall with SSH (22) and mosh (UDP 60000-61000) allowed- IPv4 DNS preference (works around Docker Hub IPv6 connectivity issues)
VM sizing recommendations
| Use case | vCPU | RAM | Disk |
|---|---|---|---|
| Minimum | 2 | 4 GB | 20 GB |
| Recommended | 4 | 8 GB | 40 GB |
| Heavy use (Rust/Python builds, multi-project) | 8 | 16 GB | 80 GB |
After VM setup
mkdir -p ~/opencode-devbox && cd ~/opencode-devbox
curl -sL https://gitea.jordbo.se/joakimp/opencode-devbox/raw/branch/main/docker-compose.yml -o docker-compose.yml
curl -sL https://gitea.jordbo.se/joakimp/opencode-devbox/raw/branch/main/.env.example -o .env
vim .env # configure provider and keys
docker compose up -d
docker compose exec -u developer devbox opencode