Prepara un servidor en DigitalOcean
Esta guía deja listo un Droplet para Bring Your Own Server, con su firewall 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 usan la herramienta de línea de comandos doctl de DigitalOcean en tu propio ordenador. Para configurarla, ejecuta doctl auth init y pega un token de API. También necesitas una clave SSH en ~/.ssh/id_ed25519.pub.
1. Elegir tus valores
Elige la región más cercana a tus usuarios y el tamaño adecuado para tu uso.
| Uso | SIZE | vCPU | RAM | Disco |
|---|---|---|---|---|
| Una rama de producción y una de staging | s-4vcpu-8gb | 4 | 8 GB | 160 GB |
| Producción con ramas de staging y de desarrollo | s-8vcpu-16gb | 8 | 16 GB | 320 GB |
Estos son planes Basic, con CPU compartidas. Los planes dedicados General Purpose ofrecen un rendimiento más estable, pero comprueba antes el disco con doctl compute size list --format Slug,VCPUs,Memory,Disk: algunos están por debajo de los 50 GB que Skysize necesita.
- Console
- Línea de comandos
Abre el panel de control de DigitalOcean. Usa la misma región en todos los pasos.
REGION=nyc3
NAME=skysize-odoo
SIZE=s-4vcpu-8gb
MY_IP=$(curl -4 -s https://ifconfig.me)/32
2. Crear el Droplet
Usa Ubuntu 24.04 para x86. La IPv4 pública no cambia mientras el Droplet exista. Anótala: tus registros DNS apuntarán a ella.
- Console
- Línea de comandos
Haz clic en Create → Droplets y configura:
| Opción | Valor |
|---|---|
| Region | La tuya |
| Image | Ubuntu 24.04 (LTS) x64 |
| Size | El plan del paso 1 |
| Authentication | SSH key: agrega la tuya |
| Hostname | skysize-odoo |
Luego haz clic en Create Droplet.
KEY=$(doctl compute ssh-key import "$NAME" --public-key-file ~/.ssh/id_ed25519.pub \
--format FingerPrint --no-header)
DROPLET_ID=$(doctl compute droplet create "$NAME" --region "$REGION" --size "$SIZE" \
--image ubuntu-24-04-x64 --ssh-keys "$KEY" --wait --format ID --no-header)
doctl compute droplet get "$DROPLET_ID" --format PublicIPv4 --no-header
3. Crear el firewall
| Dirección | Tipo | Puerto | Orígenes o destinos | Motivo |
|---|---|---|---|---|
| Entrante | SSH | 22 | Tu dirección IP | Tu acceso al servidor |
| Entrante | HTTP | 80 | All IPv4, All IPv6 | Certificados y redirecciones |
| Entrante | HTTPS | 443 | All IPv4, All IPv6 | Tus sitios de Odoo |
| Saliente | Todo TCP, UDP, ICMP | Todos | All IPv4, All IPv6 | El firewall bloquea lo que ninguna regla permite, y el servidor necesita el tráfico saliente |
Skysize no necesita ningún puerto entrante propio. Deja PostgreSQL (5432) cerrado salvo que uses el acceso de solo lectura a la base de datos. Si tu propia IP cambia, actualiza la regla del puerto 22 en el panel de control.
- Console
- Línea de comandos
- Abre Networking → Firewalls → Create Firewall y llámalo
skysize-odoo. - Agrega las tres reglas entrantes anteriores, con tu propia dirección IP como origen para SSH.
- Mantén las reglas salientes por defecto.
- En Apply to Droplets, selecciona tu Droplet y haz clic en Create Firewall.
doctl compute firewall create --name "$NAME" --droplet-ids "$DROPLET_ID" \
--inbound-rules "protocol:tcp,ports:22,address:$MY_IP protocol:tcp,ports:80,address:0.0.0.0/0,address:::/0 protocol:tcp,ports:443,address:0.0.0.0/0,address:::/0" \
--outbound-rules "protocol:tcp,ports:all,address:0.0.0.0/0,address:::/0 protocol:udp,ports:all,address:0.0.0.0/0,address:::/0 protocol:icmp,address:0.0.0.0/0,address:::/0"
4. Conectarse al servidor
ssh root@YOUR_DROPLET_IP
Aquí es donde pegas el comando de instalación de Skysize.
5. Crear el almacenamiento de copias de seguridad
Skysize no hace copias de seguridad hasta que un proyecto tiene un destino de copias. En el panel de control, abre Spaces Object Storage:
- Crea un bucket con el listado de archivos restringido, idealmente en otra región distinta a la de tu Droplet.
- Crea una clave de acceso para él. Copia el secreto de inmediato: solo se muestra una vez.
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 | Compatible con S3 (Wasabi, R2, MinIO...) |
| Bucket | El nombre de tu bucket |
| Endpoint | https://nyc3.digitaloceanspaces.com, con la región de tu bucket |
| Región | us-east-1, el valor que la documentación de DigitalOcean indica para las herramientas S3 |
| Prefijo | El nombre del proyecto |
| ID de clave de acceso y Clave de acceso secreta | La clave del paso 5 |
Haz clic en Probar para comprobarlo desde tu servidor.
Enviar correo desde Odoo
DigitalOcean bloquea los puertos salientes 25, 465 y 587, así que el SMTP normal no funciona desde un Droplet. Usa un proveedor de correo que ofrezca otro puerto, como 2525. 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.