synsema

← Docs

App o sistema

El plan Pro incluye una máquina tuya en la nube para apps escritas en lo que sea: Node, Python, Go, Rust, Ruby, PHP, Java, un sitio estático o lo que construya un Dockerfile. Los programas escritos en Synsema corren como proyectos Synsema (también en el plan Free).

Máquina2 vCPU, 4 GB de memoria, 40 GB de disco (Pro, USD 20/mes) · 4 vCPU, 8 GB, 80 GB (Pro 8 GB, USD 30/mes)
Qué correCualquier app: un proyecto compose entero (la app con su base de datos y lo demás), su Dockerfile, o Railpack, que detecta el lenguaje
Dónde respondehttps://<app>.synsema.app, con HTTPS
ConsolaUna terminal en el navegador en https://<máquina>-console.synsema.app, privada para ti
Mientras paguesNada se borra por falta de uso

Crear la máquina§

En el panel: Nuevo → App o sistema. Elige un nombre y una región; la máquina queda lista en alrededor de un minuto. Una máquina por cuenta; tus apps la comparten.

Desplegar una app§

Desde la terminal, en la carpeta de la app:

syn deploy

syn deploy mira la carpeta: un programa Synsema se vuelve un proyecto Synsema; cualquier otra cosa, una app en tu máquina. --app o --project lo dicen explícitamente, --name le pone nombre y --port da el puerto cuando no se puede detectar. Sigue la construcción hasta que la app responde y muestra su dirección.

Desde el panel: en la página de tu máquina, Nueva app: un repositorio público (y, si quieres, una rama, una carpeta dentro, el puerto y las variables de entorno).

Cómo se construye y se corre§

1. Se trae el código: el repositorio (un clon superficial) o la carpeta que subió syn deploy. 2. Con un archivo compose (compose.yaml, docker-compose.yml…), se levanta el proyecto entero, como dice su README: la app, su base de datos, su cache. Se publica el servicio que ningún otro necesita; los demás no publican puertos (se hablan por nombre), así dos proyectos nunca se pelean por uno. Sus variables le llegan como su .env. Si no, con un Dockerfile, se construye con él. Sin él, Railpack detecta el lenguaje y construye una imagen (Node con package.json, Python con requirements.txt o pyproject.toml, Go con go.mod, Rust con Cargo.toml, y más). Un Procfile dice cómo arrancarla. 3. Corre con Docker y arranca de nuevo con la máquina. Recibe PORT: escucha en él. El puerto es el que diste, si no el que expone la imagen, si no 8080. El log del build se ve en la página de la app mientras corre. 4. Cuando responde, se publica en https://<app>.synsema.app. Cada pedido le llega desde 127.0.0.1 con X-Forwarded-Proto, -Host y -For, como detrás de tu propio proxy: HTTPS, cookies, OAuth y passkeys funcionan como en una VPS.

Cada app tiene su página: estado, dirección, las últimas líneas de su log, las variables (guardar la vuelve a desplegar), Desplegar de nuevo y Borrar.

Variables de entorno§

NOMBRE=valor, una por línea, en la página de la app o al crearla. La app las recibe como variables de entorno, además de PORT.

Lo que necesita una app§

Una app corre en su propio contenedor: lo que necesita sale de su propio repositorio, no de la máquina. Las librerías van donde las espera su lenguaje (package.json, requirements.txt, go.mod…); los paquetes del sistema, en sus variables como RAILPACK_DEPLOY_APT_PACKAGES=ffmpeg imagemagick (las variables que empiezan con RAILPACK_ llegan a la construcción; las demás solo a la app corriendo). Con un Dockerfile, el Dockerfile lo dice todo. sudo apt install en la consola instala en la máquina, no dentro de una app.

Un dominio propio§

En la página de la app, en Dominios propios, agrega app.example.com y apúntalo aquí en tu DNS:

El dominioRegistro
un subdominio, app.example.comCNAME a <app>.synsema.app
la raíz, example.comA a la dirección IP que muestra la página de la app

El certificado se emite en la primera visita, cuando el DNS ya apunta aquí; la app sigue respondiendo también en <app>.synsema.app. Hasta diez dominios por app; borrar la app los libera. Cualquier syn tunnel en Pro los acepta también: POST /api/v1/tunnels/<id>/domains.

La consola§

La pestaña Consola de tu máquina (o https://<máquina>-console.synsema.app) abre una terminal en la máquina, como el usuario agent, en su home: un lugar tuyo para clonar, construir y probar. syn deploy en cualquier carpeta de la máquina la publica como app, igual que desde tu computadora. ~/apps muestra las apps desplegadas (una carpeta cada una, el código en src/); la plataforma las reescribe en cada deploy, así que trabaja en tu home y no ahí. Es privada: solo tú, con tu sesión de synsema.com, puedes abrirla. Desde ahí tienes la máquina: docker ps, logs, archivos.

Cuando termina Pro§

La máquina y sus apps se apagan y se borran 30 días después, con un correo en el momento, una semana antes y un día antes. Si vuelves a Pro dentro de esos días, se prende como estaba.