přeskočit na obsah
[JJ]
zpět na snippety
bashproxmoxlxcbashautomation10. 4. 2026

Proxmox LXC bootstrap one-liner

Vytvoří Ubuntu 24.04 LXC kontejner, nastaví hostname, IP, SSH klíč a unattended upgrades. Jeden příkaz, hotovo za 30 sekund.

Nový LXC kontejner pro každý projekt je norma — izolace, snapshot, easy restore. Tohle je shell funkce, kterou si dám do .bashrc na Proxmox hostu.

Funkce

bash
# ~/.bashrc na Proxmox hostu
ct-new() {
  local VMID="${1:?VMID required}"
  local NAME="${2:?name required}"
  local IP="${3:?IP/cidr required, e.g. 10.10.10.50/24}"
  local CORES="${4:-2}"
  local RAM="${5:-2048}"
  local DISK="${6:-16}"
  local TEMPLATE="local:vztmpl/ubuntu-24.04-standard_24.04-2_amd64.tar.zst"

  pct create "${VMID}" "${TEMPLATE}" \
    --hostname "${NAME}" \
    --cores "${CORES}" \
    --memory "${RAM}" \
    --swap 512 \
    --rootfs "local-lvm:${DISK}" \
    --net0 "name=eth0,bridge=vmbr0,firewall=1,ip=${IP},gw=10.10.10.1" \
    --features nesting=1,keyctl=1 \
    --unprivileged 1 \
    --onboot 1 \
    --start 1 \
    --ssh-public-keys ~/.ssh/authorized_keys

  echo "[+] CT ${VMID} ${NAME} (${IP}) created"
  sleep 5

  pct exec "${VMID}" -- bash -c '
    apt-get update -qq && \
    apt-get install -yqq sudo curl wget ca-certificates unattended-upgrades && \
    dpkg-reconfigure -plow unattended-upgrades
  '

  echo "[+] CT ${VMID} bootstrap done"
}

Použití

bash
# vytvořit ai-dev (LXC 120) na 10.10.10.112, 6 cores, 24 GB RAM, 80 GB disk
ct-new 120 ai-dev 10.10.10.112/24 6 24576 80

Co dělám potom

bash
# přidat na hosta do /etc/hosts
echo "10.10.10.112 ai-dev" >> /etc/hosts

# nasadit Ansible playbook
ansible-playbook -i 10.10.10.112, playbooks/baseline.yml

Pro stovku kontejnerů by tohle bylo špatné. Pro 17 serverů? Pohoda, hotovo.