Specs stay at repo root (cross-VM). Move deploy and code into logical projects with README per domain, updated manifest.yaml, and symlinks at legacy paths for VM122 backward compatibility.
68 lines
1.7 KiB
Bash
Executable file
68 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
# Criar VM123 no Proxmox — executar NO HOST PVE como root
|
|
# HW: 2 vCPU, 4 GB RAM, 25 GB disco | IP: 10.10.10.123
|
|
set -euo pipefail
|
|
|
|
VMID=123
|
|
NAME=vm123-finance
|
|
CORES=2
|
|
MEMORY=4096
|
|
DISK_GB=25
|
|
BRIDGE=vmbr0
|
|
STORAGE="${PVE_STORAGE:-local-lvm}"
|
|
ISO_STORAGE="${ISO_STORAGE:-local}"
|
|
UBUNTU_ISO="${UBUNTU_ISO:-ubuntu-24.04-live-server-amd64.iso}"
|
|
IP=10.10.10.123/24
|
|
GW=10.10.10.1
|
|
|
|
if ! command -v qm &>/dev/null; then
|
|
echo "Execute este script no host Proxmox." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if qm status "$VMID" &>/dev/null; then
|
|
echo "VM $VMID já existe."
|
|
qm config "$VMID"
|
|
exit 0
|
|
fi
|
|
|
|
qm create "$VMID" \
|
|
--name "$NAME" \
|
|
--cores "$CORES" \
|
|
--memory "$MEMORY" \
|
|
--net0 "virtio,bridge=${BRIDGE}" \
|
|
--scsihw virtio-scsi-pci \
|
|
--scsi0 "${STORAGE}:${DISK_GB}" \
|
|
--ostype l26 \
|
|
--agent enabled=1 \
|
|
--boot order=scsi0
|
|
|
|
if [[ -f "/var/lib/vz/template/iso/${UBUNTU_ISO}" ]] || pvesm list "${ISO_STORAGE}" 2>/dev/null | grep -q "$UBUNTU_ISO"; then
|
|
qm set "$VMID" --ide2 "${ISO_STORAGE}:iso/${UBUNTU_ISO},media=cdrom"
|
|
qm set "$VMID" --boot order=ide2\;scsi0
|
|
echo "ISO anexada. Instalar Ubuntu 24.04 manualmente ou via cloud-init."
|
|
else
|
|
echo "ISO não encontrada. Anexar Ubuntu 24.04 e instalar."
|
|
fi
|
|
|
|
cat <<EOF
|
|
|
|
VM $VMID criada.
|
|
Após instalar Ubuntu 24.04:
|
|
IP estático: ${IP}
|
|
Gateway: ${GW}
|
|
DNS: 1.1.1.1
|
|
|
|
Copiar stack:
|
|
scp -r deploy/vm123-finance-stack root@${IP%/*}:/opt/
|
|
|
|
Na VM123:
|
|
bash /opt/vm123-finance-stack/bootstrap-vm123.sh
|
|
cd /opt/vm123-finance-stack && cp .env.example .env && nano .env
|
|
docker compose up -d
|
|
bash install-openpanel.sh
|
|
bash setup-foss-openpanel-module.sh
|
|
|
|
SSH WAN: porta 2523 (configurar DNAT pfSense → ${IP%/*}:22)
|
|
|
|
EOF
|