Las variables `SKIFFLY_*` que se inyectan en cada contenedor, cómo se corresponden con las `RAILWAY_*` de Railway, y las variables que leen la CLI y el servidor MCP.
| Variable | Valor | Equivalente en Railway |
|---|
PORT | puerto en el que debe escuchar el servicio (el port del servicio, 8080 si no está definido) | PORT |
SKIFFLY_PUBLIC_DOMAIN | primer dominio público (api-x1y2.skiffly.cloud o un dominio propio verificado); sin definir cuando el servicio no tiene ninguno | RAILWAY_PUBLIC_DOMAIN |
SKIFFLY_PRIVATE_DOMAIN | hostname completo en la red privada (api.p-….svc.cluster.local); se resuelve con cualquier resolver, incluido resolver de nginx. El corto api también funciona dentro del entorno | RAILWAY_PRIVATE_DOMAIN |
SKIFFLY_DNS_RESOLVER | IP del servidor DNS de la red privada, para software que lo necesita explícitamente (resolver de nginx, HAProxy) | — |
SKIFFLY_SERVICE_NAME | nombre del servicio | RAILWAY_SERVICE_NAME |
SKIFFLY_SERVICE_ID | id del servicio | RAILWAY_SERVICE_ID |
SKIFFLY_PROJECT_ID | id del proyecto | RAILWAY_PROJECT_ID |
SKIFFLY_ENVIRONMENT | slug del entorno (production, staging, pr-42) | RAILWAY_ENVIRONMENT_NAME |
SKIFFLY_ENVIRONMENT_ID | id del entorno | RAILWAY_ENVIRONMENT_ID |
SKIFFLY_DEPLOYMENT_ID | id del despliegue en ejecución | RAILWAY_DEPLOYMENT_ID |
SKIFFLY_GIT_COMMIT_SHA | commit a partir del cual se hizo el build (solo servicios de repositorio) | RAILWAY_GIT_COMMIT_SHA |
Todas pueden referenciarse desde otros servicios (${{api.SKIFFLY_PRIVATE_DOMAIN}}) y, desde plantillas y configuración como código, mediante self (${{self.SKIFFLY_PUBLIC_DOMAIN}}). No se proveen: RAILWAY_PROJECT_NAME, RAILWAY_REPLICA_ID, RAILWAY_STATIC_URL, RAILWAY_GIT_BRANCH, RAILWAY_GIT_AUTHOR ni las variables de volúmenes; lee la rama desde tu CI o define una variable.
| Sintaxis | Se resuelve a |
|---|
${{Postgres.DATABASE_URL}} | variable del servicio Postgres (nombre, slug o id) en el mismo entorno |
${{shared.REGION}} | variable compartida del entorno |
${{self.PORT}} | el servicio que se está definiendo (plantillas, @skiffly/config) |
La resolución ocurre al momento del despliegue, de forma recursiva; las referencias sin resolver se convierten en cadenas vacías y en una advertencia en el log del despliegue.
| Variable | Significado |
|---|
SKIFFLY_TOKEN | Token de API; tiene prioridad sobre skiffly login |
SKIFFLY_PROJECT_TOKEN | Token de proyecto (un entorno de un proyecto); se usa cuando SKIFFLY_TOKEN no está definido |
SKIFFLY_PROJECT_ID, SKIFFLY_ENVIRONMENT_ID, SKIFFLY_SERVICE_ID | tienen prioridad sobre el vínculo del directorio |
SKIFFLY_API_URL | Endpoint GraphQL |
SKIFFLY_CONFIG_DIR, XDG_CONFIG_HOME | ubicación de la configuración |
SKIFFLY_DEBUG | 1 para stack traces |
| Variable | Significado |
|---|
SKIFFLY_TOKEN | Token de API (tiene prioridad sobre skiffly login; lo usa npx -y skiffly mcp) |
SKIFFLY_PROJECT_TOKEN | Token de proyecto; se usa cuando SKIFFLY_TOKEN no está definido |
SKIFFLY_API_URL | Endpoint GraphQL |
PORT | puerto de escucha de skiffly-mcp serve (transporte HTTP) |