What the template deploys
Studio receives a public Railway domain. Runtime and infrastructure services communicate through Railway private networking unless a public Runtime domain is enabled by the template for integrations.Required input
The default Railway UI deploy does not require user-provided variables before the first deploy. The template preconfigures Lite authentication and generates internal service credentials such asAPI_TOKEN, NEXTAUTH_SECRET, VAULT_TOKEN, database passwords, MinIO credentials, and Vault runtime credentials. Alquimia-owned Docker image credentials are hidden in the template, so deployers do not need DockerHub credentials.
Model provider keys are added from Studio after deployment. Studio sends the secret value to Runtime, and Runtime stores it in Vault for inference-time resolution.
Default login
The template includes a default Lite user:| Field | Value |
|---|---|
admin@alquimia.ai | |
| Password | alquimia |
AUTH_LITE_USERS on studio. Generate a password hash from the Studio repo:
Deploy from Railway
- Open Deploy Alquimia Stack.
- Click
Deploy Now. - Choose a Railway workspace and create a new project.
- Deploy the template.
- Wait until
runtime,studio,runtime-postgres,redis,qdrant,minio,minio-init,vault,kafka, andoras-registryare healthy. - Open the generated Studio domain.
- Sign in with
admin@alquimia.aiand passwordalquimia. - In Studio, add a model connection and paste the provider API key.
- Create or open an agent and run a test inference.
Maintainer: create or update the template
Railway does not deploy directly from repository files. The actual Railway template is generated from a clean Railway seed project that maintainers configure and validate before publishing. Use a clean seed project that matches the Studio-only template exactly:- Service names match the Studio-only template, including
vault. - Internal URLs use Railway variable references such as
${{runtime.RAILWAY_PRIVATE_DOMAIN}}. - Studio has a public domain.
- Stateful services have volumes.
- Private
alquimiaai/*images have hidden maintainer registry credentials. - Runtime uses
ALQUIMIA_REGISTRY_SECRET_RESOLVER=vault. - The default Lite user is preconfigured as
admin@alquimia.aiwith passwordalquimia.
Smoke checks
Set the generated public URLs locally:Studio validation
- In Studio, add a model connection and confirm the connection uses a Vault-backed secret name.
- Create or open an agent configured with that model connection.
- Send a short test inference and confirm Runtime responds.
- If using the knowledge base flow, upload a small document from Studio and confirm the agent can use it.
- Restart
runtime,studio,runtime-postgres,qdrant,minio,vault, andoras-registry. - Confirm agents, model connections, uploaded artifacts, registry artifacts, and indexes remain available.
Cost estimate
Railway bills a plan minimum plus consumed resources. As of June 23, 2026, Railway lists these resource prices in its pricing docs:| Resource | Price |
|---|---|
| RAM | $10 / GB / month |
| CPU | $20 / vCPU / month |
| Network egress | $0.05 / GB |
| Volume storage | $0.15 / GB / month |
| Service group | Services | Estimated monthly Railway usage |
|---|---|---|
| Studio app | studio | $1-3 |
| Runtime API and registry | runtime | $3-5 |
| Runtime database | runtime-postgres | $1-2 |
| Cache | redis | <$1 |
| Vector store | qdrant | $1-2 |
| Object storage | minio, minio-init | $1-2 |
| Secret store | vault | $1-2 |
| Event bus | kafka / Redpanda | $5-7 |
| OCI registry | oras-registry | <$1 |
| Estimated total | Studio-only template | $15-25 / month |
Troubleshooting
| Symptom | Check |
|---|---|
| Private image pull fails | The template maintainer must configure hidden registry credentials for every private alquimiaai/* image. Deployer DockerHub credentials should not be required. |
| Runtime health check fails | Confirm API_TOKEN, Postgres variables, Redis URL, Vault variables, and ALQUIMIA_REGISTRY_SECRET_RESOLVER=vault are present on runtime. |
| Inference hangs or fails resolving secrets | Confirm vault is healthy, Runtime points to http://vault.railway.internal:8200, and the model connection was saved from Studio with a secret value. |
| Studio redirects incorrectly | Confirm NEXTAUTH_URL and NEXT_PUBLIC_APP_URL resolve to the Studio Railway public domain. |
| Private DNS fails | Confirm services are in the same Railway project environment and use <service>.railway.internal names. |
| Uploaded artifacts disappear after restart | Confirm volumes are attached to runtime, qdrant, minio, and oras-registry. |