Utilizar o seu próprio cloud-init na instalação do seu VPS
Ao instalar ou reinstalar o seu VPS, pode fornecer um cloud-init próprio. O VPS executa esse ficheiro automaticamente no primeiro arranque: instala os seus pacotes, cria os seus utilizadores e executa os seus comandos. Não precisa de API nem de terminal para isso.
1. Abrir o campo
- Inicie sessão em O meu WebOké, aceda a Os meus produtos e clique no seu VPS.
- Novo VPS: verá o bloco Instale o seu VPS. Reinstalação: escolha o separador Avançado e, em Reinstalar, clique em Reinstalar....
- Escolha o sistema operativo e introduza a palavra-passe de root e, se pretender, a sua chave SSH.
- Por baixo da chave SSH, clique em cloud-init próprio e cole o seu ficheiro no campo.
- Clique no botão para instalar ou em Apagar tudo e reinstalar.
2. O que pode conter o ficheiro?
- Um ficheiro que comece por
#cloud-config(definições em YAML) ou um script que comece por#!.#cloud-boothooke## template: jinjatambém funcionam. - No máximo 256 KB e apenas texto (UTF-8).
- Em YAML, a indentação faz-se com espaços, nunca com tabulações.
- A rede (IPv4 e IPv6) é configurada pela WebOké. Um network-config próprio não é utilizado.
3. Um exemplo
Este ficheiro instala o htop e o fail2ban, cria o utilizador anna com uma chave SSH e sudo e, em seguida, executa um comando:
#cloud-config
hostname: web1
fqdn: web1.example.com
package_update: true
packages:
- htop
- fail2ban
users:
- default
- name: anna
shell: /bin/bash
sudo: "ALL=(ALL) NOPASSWD:ALL"
ssh_authorized_keys:
- ssh-ed25519 AAAAC3Nza... anna@laptop
runcmd:
- timedatectl set-timezone Europe/Amsterdam
Substitua a chave pela sua própria chave pública. O exemplo destina-se a Debian e Ubuntu: em AlmaLinux e Rocky Linux, instale o htop e o fail2ban através de runcmd, após dnf install -y epel-release.
4. O que tem prioridade?
A WebOké fornece o nome de anfitrião, a palavra-passe de root (como hash) e a sua chave SSH. O seu ficheiro é combinado com esses dados. Se definir users, password, chpasswd ou ssh_authorized_keys, os seus valores têm prioridade.
ssh_authorized_keys ou password no nível superior, estes substituem a chave e a palavra-passe do formulário. Nesse caso, inclua também a chave com que pretende iniciar sessão. Em users, mantenha a linha - default no topo.5. Verificar se correu bem
O cloud-init é executado uma única vez, no primeiro arranque do seu VPS. Depois, inicie sessão e verifique:
cloud-init status --longmostrastatus: donese tudo tiver corrido bem, ouerrorcom o respetivo erro.- O resultado dos seus pacotes, comandos e scripts encontra-se em
/var/log/cloud-init-output.log. Os detalhes encontram-se em/var/log/cloud-init.log. - Com
sudo cloud-init schema --systempode verificar o seu ficheiro. Se o YAML não estiver correto, o cloud-init ignora partes do mesmo.
Bom saber
- Funciona com todos os sistemas operativos da lista: Ubuntu 24.04 e 26.04, Debian 12 e 13, AlmaLinux 9 e 10 e Rocky Linux 9 e 10.
- O seu ficheiro é transmitido de forma encriptada e não fica guardado no histórico de tarefas do seu VPS. Ainda assim, não inclua segredos de que não precise.
- Um VPS é um serviço não gerido (unmanaged). O suporte não presta ajuda com o conteúdo do seu cloud-init. Todas as possibilidades estão descritas em docs.cloud-init.io.
Explicação detalhada com mais exemplos: cloud-init próprio: configurar o seu VPS automaticamente no primeiro arranque no manual do VPS.
Consulte também: Montar uma ISO própria ou reinstalar o seu VPS e Iniciar sessão no seu VPS com SSH (e criar uma chave SSH).
