Prepara un servidor en Azure
Esta guía deja lista una máquina virtual para Bring Your Own Server, con su firewall, su IP fija y su almacenamiento de copias de seguridad. Skysize instala todo lo demás en el servidor.
Cada paso tiene dos pestañas: haz clic en Console o pega desde Línea de comandos. Tu elección se aplica a toda la página.
Los comandos se ejecutan en Cloud Shell (Bash), el icono de terminal en la parte superior del portal de Azure, así no tienes que instalar nada. Mantén abierta la misma pestaña: cada bloque reutiliza los valores del paso 1.
1. Elegir tus valores
Elige la ubicación más cercana a tus usuarios y el tamaño adecuado para tu uso.
| Uso | Tamaño | vCPU | RAM | Disco |
|---|---|---|---|---|
| Una rama de producción y una de staging | Standard_D2s_v5 | 2 | 8 GB | 128 GB |
| Producción con ramas de staging y de desarrollo | Standard_D4s_v5 | 4 | 16 GB | 256 GB |
Evita los tamaños con una p después del número, como D2ps_v5: son ARM, y el instalador se niega a ejecutarse en ellos. Evita la serie B en producción: se ralentiza con una carga sostenida.
- Console
- Línea de comandos
Abre Resource groups → Create, llama al grupo skysize-odoo y elige tu ubicación. Usa el mismo grupo y la misma ubicación en todos los pasos.
LOCATION=eastus
NAME=skysize-odoo
SIZE=Standard_D2s_v5
DISK_GB=128
STORAGE=skysizeodoo$RANDOM
az group create --name "$NAME" --location "$LOCATION"
2. Crear el grupo de seguridad de red
El servidor necesita estas reglas entrantes, y ninguna otra:
| Servicio | Puerto | Origen | Motivo |
|---|---|---|---|
| SSH | 22 | Any | Tu acceso al servidor, solo con clave SSH |
| HTTP | 80 | Any | Certificados y redirecciones |
| HTTPS | 443 | Any | Tus sitios de Odoo |
Skysize no necesita ningún puerto entrante propio. Cuando conozcas la dirección desde la que te conectas, puedes limitar a ella la regla de SSH. Deja PostgreSQL (5432) cerrado salvo que uses el acceso de solo lectura a la base de datos. El tráfico saliente está permitido por defecto, y el servidor lo necesita.
- Console
- Línea de comandos
Todavía no hay nada que crear: estas reglas se definen al crear la VM en el paso siguiente.
az network nsg create --resource-group "$NAME" --name "$NAME"
az network nsg rule create --resource-group "$NAME" --nsg-name "$NAME" \
--name ssh --priority 1000 --protocol Tcp --destination-port-ranges 22 --access Allow
az network nsg rule create --resource-group "$NAME" --nsg-name "$NAME" \
--name web --priority 1010 --protocol Tcp --destination-port-ranges 80 443 --access Allow
3. Crear la VM con una IP fija
Usa Ubuntu 24.04 para x86, una IP pública estática para que tus registros DNS sigan funcionando, y una identidad administrada para las copias de seguridad. Anota la IP: tus registros DNS apuntarán a ella.
- Console
- Línea de comandos
Abre Virtual machines → Create → Azure virtual machine y configura:
| Pestaña | Opción | Valor |
|---|---|---|
| Basics | Resource group | skysize-odoo |
| Basics | Virtual machine name | skysize-odoo |
| Basics | Image | Ubuntu Server 24.04 LTS, x64 |
| Basics | Size | El tamaño del paso 1 |
| Basics | Authentication type | SSH public key, nombre de usuario azureuser |
| Basics | Public inbound ports | Allow selected ports: SSH (22), HTTP (80), HTTPS (443) |
| Disks | OS disk | Premium SSD, con el tamaño del paso 1 |
| Networking | Public IP | Mantén la nueva IP que propone, que es estática |
| Management | Enable system assigned managed identity | Activada |
Haz clic en Review + create, luego en Create, y descarga la clave SSH cuando se te pida.
az vm create --resource-group "$NAME" --name "$NAME" \
--image Canonical:ubuntu-24_04-lts:server:latest \
--size "$SIZE" \
--os-disk-size-gb "$DISK_GB" --storage-sku Premium_LRS \
--admin-username azureuser --generate-ssh-keys \
--nsg "$NAME" --public-ip-sku Standard \
--assign-identity
az vm show --resource-group "$NAME" --name "$NAME" --show-details --query publicIps --output tsv
4. Crear el almacenamiento de copias de seguridad
Skysize no hace copias de seguridad hasta que un proyecto tiene un destino de copias. Esto crea una cuenta de almacenamiento privada y permite que la identidad administrada del servidor la use, sin ningún secreto que guardar. Anota el nombre de la cuenta de almacenamiento.
- Console
- Línea de comandos
Cuenta de almacenamiento
- Abre Storage accounts → Create.
- Elige el grupo
skysize-odooy un nombre único en todo Azure: solo letras minúsculas y dígitos. - Establece Redundancy en LRS.
- En la pestaña Advanced, desactiva Allow enabling anonymous access on individual containers.
- Haz clic en Review + create y luego en Create.
Contenedor y acceso
- En la cuenta de almacenamiento, abre Containers y agrega uno llamado
backups. - Abre Access Control (IAM) → Add → Add role assignment.
- Elige Storage Blob Data Contributor, luego en Members elige Managed identity y selecciona tu VM.
- Haz clic en Review + assign.
- Repite con Storage Blob Delegator.
az storage account create --resource-group "$NAME" --name "$STORAGE" \
--location "$LOCATION" --sku Standard_LRS --allow-blob-public-access false
az storage container create --account-name "$STORAGE" --name backups --auth-mode key
PRINCIPAL=$(az vm show --resource-group "$NAME" --name "$NAME" --query identity.principalId --output tsv)
SCOPE=$(az storage account show --resource-group "$NAME" --name "$STORAGE" --query id --output tsv)
az role assignment create --assignee-object-id "$PRINCIPAL" --assignee-principal-type ServicePrincipal \
--role "Storage Blob Data Contributor" --scope "$SCOPE"
az role assignment create --assignee-object-id "$PRINCIPAL" --assignee-principal-type ServicePrincipal \
--role "Storage Blob Delegator" --scope "$SCOPE"
echo "Storage account: $STORAGE"
5. Conectarse al servidor
Aquí es donde pegas el comando de instalación de Skysize.
- Console
- Línea de comandos
Desde un terminal en tu ordenador, con la clave que descargaste:
ssh -i skysize-odoo_key.pem azureuser@YOUR_PUBLIC_IP
Desde el mismo Cloud Shell, que tiene la clave SSH:
ssh azureuser@YOUR_PUBLIC_IP
6. Definir el destino de copias
Cuando tu proyecto exista, abre su Configuración → Destino de copias, haz clic en Añadir destino y completa:
| Campo | Valor |
|---|---|
| Tipo | Azure Blob Storage |
| Cuenta de almacenamiento | El nombre de tu cuenta de almacenamiento |
| Contenedor | backups |
| Prefijo | El nombre del proyecto |
| Autenticación | Identidad administrada |
Haz clic en Probar para comprobarlo desde tu servidor. Los roles nuevos pueden tardar unos minutos en aplicarse, así que vuelve a intentarlo si la primera prueba falla.
Enviar correo desde Odoo
Azure bloquea el puerto 25 saliente en la mayoría de los tipos de suscripción. Usa un relay SMTP autenticado en el puerto 587. Consulta Configurar el correo saliente.
Conectar el servidor a Skysize
Tu servidor está listo. Sigue Configura tu propio servidor, a partir del paso en el que se registra el servidor. En resumen: regístralo en el panel, conéctate a él por SSH y pega el comando de instalación. El estado cambia a En línea en menos de un minuto cuando termina el instalador.
Cuando tu primer proyecto esté en marcha, agrega tu dominio.
Si algo sale mal
El panel indica que los puertos 80 y 443 no son accesibles. Comprueba las reglas de firewall anteriores, y que la IP pública en la configuración del servidor es la que anotaste. Después haz clic en Comprobar de nuevo.
El servidor permanece en Desconectado. El servidor se conecta hacia afuera a Skysize, así que ninguna regla entrante soluciona esto. Ejecuta estos comandos en el servidor:
sudo systemctl status skysize-agent
sudo journalctl -u skysize-agent -n 50
nc -zv cp.skysize.io 50051
Si el instalador no terminó, o el token de acceso ya se usó, utiliza Regenerar token de acceso en la página del servidor y ejecuta de nuevo el comando de instalación.
¿Sigues sin poder resolverlo? Abre Soporte en el panel e incluye la salida de esos comandos.