coolify/dev/lima/coold.yaml

80 lines
2.7 KiB
YAML
Raw Normal View History

# Lima VM for testing Coolify v5 against coolify-provisioned hosts.
# Start with: scripts/coold-vm.sh up
#
# This file is copied into .dev/lima/coold.generated.yaml by the wrapper script,
# with {{COOLIFY_REPO}}, {{COOLIFY_COOLD_VERSION}}, and {{COOLIFY_CORROSION_VERSION}} replaced before Lima sees it.
vmType: "vz"
arch: "default"
cpus: 4
memory: "8GiB"
disk: "100GiB"
containerd:
system: false
user: false
ssh:
localPort: {{COOLIFY_COOLD_VM_SSH_PORT}}
images:
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-amd64.img"
arch: "x86_64"
- location: "https://cloud-images.ubuntu.com/releases/24.04/release/ubuntu-24.04-server-cloudimg-arm64.img"
arch: "aarch64"
mountType: "virtiofs"
mounts:
- location: "{{COOLIFY_REPO}}"
mountPoint: "/workspace/coolify"
writable: true
portForwards:
- guestPort: 5173
hostPort: 5173
hostIP: "127.0.0.1"
- guestPort: 3000
hostPort: 3000
hostIP: "127.0.0.1"
provision:
- mode: system
script: |
#!/usr/bin/env bash
set -euxo pipefail
export DEBIAN_FRONTEND=noninteractive
echo "[coold-vm] Updating Ubuntu package index..."
apt-get update
echo "[coold-vm] Installing minimal VM dependencies..."
apt-get install -y --no-install-recommends \
bash \
ca-certificates \
curl \
iproute2 \
jq \
openssl \
sqlite3 \
sudo
cat >/usr/local/bin/rtk <<'SH'
#!/usr/bin/env bash
exec "$@"
SH
chmod +x /usr/local/bin/rtk
mkdir -p /etc/coolify /var/lib/coolify-dev
chmod 755 /etc/coolify
coolify_test_public_key="ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFuGmoeGq/pojrsyP1pszcNVuZx9iFkCELtxrh31QJ68 sail@76ff66d2e2dd"
install -d -m 700 /root/.ssh
touch /root/.ssh/authorized_keys
grep -qxF "$coolify_test_public_key" /root/.ssh/authorized_keys || echo "$coolify_test_public_key" >>/root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
target_home="$(getent passwd 501 | cut -d: -f6 || true)"
if [ -n "$target_home" ] && [ -d "$target_home" ]; then
owner="$(stat -c '%u:%g' "$target_home")"
install -d -m 700 -o "${owner%:*}" -g "${owner#*:}" "$target_home/.ssh"
touch "$target_home/.ssh/authorized_keys"
grep -qxF "$coolify_test_public_key" "$target_home/.ssh/authorized_keys" || echo "$coolify_test_public_key" >>"$target_home/.ssh/authorized_keys"
chown "$owner" "$target_home/.ssh/authorized_keys"
chmod 600 "$target_home/.ssh/authorized_keys"
fi
echo "[coold-vm] Minimal provisioning complete. coolify bootstrap will install WireGuard, Podman, Corrosion, coold, and builder."