Desplegar una imagen Docker
La forma más simple: apuntá la plataforma a cualquier imagen de un registry público (Docker Hub, GHCR, etc.) y la corre detrás de HTTPS.
Los ejemplos asumen
API=https://api.cynchro.cloudy un$TOKENde Primeros pasos.
Dashboard
- Deploy an app → pestaña Docker image.
- App name + Docker image + Container port.
- (Opcional) CPU, Memory, Domain custom.
- Deploy.
API
curl -s -X POST $API/deploy \
-H "authorization: Bearer $TOKEN" -H 'content-type: application/json' \
-d '{
"name": "hello",
"image": "nginxdemos/hello",
"port": 80
}'
Campos
| Campo | Requerido | Default | Notas |
|---|---|---|---|
name | ✅ | — | DNS-safe: a–z, 0–9, -. Único por org. Redesplegar actualiza en el lugar. |
image | ✅* | — | Cualquier imagen pulleable, ej. ghcr.io/acme/api:1.2.3. |
port | 80 | El puerto en el que escucha tu contenedor. | |
domain | <name>.<ROOT_DOMAIN> | Hostname custom (ver abajo). | |
cpu | 1 | Cores (ej. 0.5). Máx 8. | |
memory | 512 | MB. Mín 64, máx 16384. | |
env | {} | Variables de entorno inline (cifradas at-rest). | |
envFrom / secretFiles | — | Referencian Secrets por nombre. |
* Se requiere uno de image, repo o services.
Variables de entorno
Valores inline (guardados cifrados):
-d '{"name":"api","image":"acme/api:1.0","port":3000,
"env":{"LOG_LEVEL":"info","FEATURE_X":"on"}}'
Para credenciales y config compartida, preferí Secrets sobre el env inline.
Dominios custom
Por defecto tu app queda en https://<name>.<ROOT_DOMAIN> (ej. https://hello.cynchro.cloud). Para usar tu propio hostname:
- Apuntá el DNS de ese hostname a la IP del servidor primero (un registro
A). - Pasalo como
domain:
-d '{"name":"site","image":"acme/site:1.0","port":80,"domain":"www.midominio.com"}'
El cert se emite en el primer request vía Let’s Encrypt HTTP-01 — el DNS tiene que resolver antes. domain debe ser un hostname válido (sin espacios ni caracteres raros).
Actualizar / redesplegar
Desplegá el mismo name de nuevo con otro tag de image — es idempotente y actualiza el contenedor. La cuota solo cuenta apps nuevas, así que los redeploys siempre se permiten.
→ Gestionala: Gestionar apps · Buildear desde el código: Desplegar desde Git