Overview
Railway is an infrastructure platform that lets you deploy apps, databases, and cron jobs instantly. SigNoz supports log forwarding from Railway using Locomotive — a community-built log forwarder with a dedicated SigNoz mode.
Locomotive forwards logs in standard OTLP JSON format (resourceLogs), compatible with SigNoz's /v1/logs endpoint out of the box.
Prerequisites
- A
SigNoz Cloud(or self-hosted) workspace - A Railway account with at least one deployed service
If using self-hosted SigNoz, use the otel_http webhook mode instead of signoz. Set LOCOMOTIVE_WEBHOOK_URL to http://<SIGNOZ_HOSTNAME>:4318/v1/logs and remove the ingestion key header. See Cloud → Self-Hosted for details.
Forward Logs
Step 1: Deploy Locomotive on Railway
Click the button below to deploy Locomotive directly to your Railway project:
Step 2: Configure environment variables
Set the following environment variables on the Locomotive service in your Railway project:
| Variable | Value |
|---|---|
LOCOMOTIVE_SERVICE_IDS | Service ID(s) to ship logs from (comma-separated) |
LOCOMOTIVE_WEBHOOK_URL | https://ingest.<REGION>.signoz.cloud:443/v1/logs |
LOCOMOTIVE_WEBHOOK_MODE | signoz |
LOCOMOTIVE_RAILWAY_API_KEY | Your Railway account-scoped API token |
LOCOMOTIVE_ADDITIONAL_HEADERS | signoz-ingestion-key=<SIGNOZ_INGESTION_KEY> |
Replace:
<REGION>— your SigNoz Cloud region (e.g.us,eu,in). See regions.<SIGNOZ_INGESTION_KEY>— your SigNoz ingestion key.

| Variable | Value |
|---|---|
LOCOMOTIVE_SERVICE_IDS | Service ID(s) to ship logs from (comma-separated) |
LOCOMOTIVE_WEBHOOK_URL | http://<SIGNOZ_HOSTNAME>:4318/v1/logs |
LOCOMOTIVE_WEBHOOK_MODE | otel_http |
LOCOMOTIVE_RAILWAY_API_KEY | Your Railway account-scoped API token |
Replace <SIGNOZ_HOSTNAME> with the hostname or IP of your SigNoz installation.

Step 3: Redeploy Locomotive
After setting the environment variables, redeploy the Locomotive service. Railway will restart the service automatically when variables are updated.
Step 4: Verify logs in SigNoz
Open Logs Explorer in SigNoz. Within a minute you should see log entries from your Railway services.
Troubleshooting
- Locomotive not forwarding logs — check the Locomotive service logs in Railway for errors. Ensure the service is in a running state.
- 401 or 403 errors — verify your
SIGNOZ_INGESTION_KEYis correct and that theLOCOMOTIVE_ADDITIONAL_HEADERSvariable is formatted assignoz-ingestion-key=<key>(no spaces around=). - Wrong region — confirm your SigNoz Cloud region in
LOCOMOTIVE_WEBHOOK_URL. Available regions are listed in SigNoz Cloud regions. - Self-hosted: connection refused — ensure your SigNoz instance is reachable from Railway and that port
4318is open.
Next Steps
- Set up log-based alerts to get notified on error patterns in your Railway logs.
- Create a dashboard to visualise your Railway logs in a single view.
Get Help
If you need help with the steps in this topic, please reach out to us on SigNoz Community Slack.
If you are a SigNoz Cloud user, please use in product chat support located at the bottom right corner of your SigNoz instance or contact us at cloud-support@signoz.io.