Deploy on Railway
Deploy Outpost to Railway with a one-click deployment. Railway provides a hosted cloud platform that automatically handles infrastructure provisioning and scaling.
Prerequisites
Setup
Deploy Outpost to Railway using the one-click deployment button:
Once the deployment is complete, configure your
TOPICSenvironment variable with the topics your platform supports. For example:TOPICS=user.created,user.updated,user.deletedNote the generated
API_KEYenvironment variable value and the public Railway URL of your Outpost instance — you'll need these for authentication and API requests.
Verify Installation
Check that the services are running:
curl $OUTPOST_URL/api/v1/healthzWait until you get an
OKresponse.Create a tenant:
curl --location --request PUT "$OUTPOST_URL/api/v1/tenants/$TENANT_ID" \ --header "Authorization: Bearer $API_KEY"Run a local server exposed via a tunnel or use a hosted service such as the Hookdeck Console to capture webhook events.
Create a webhook destination:
curl --location "$OUTPOST_URL/api/v1/tenants/$TENANT_ID/destinations" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $API_KEY" \ --data '{ "type": "webhook", "topics": ["*"], "config": { "url": "'"$URL"'" } }'Publish an event:
curl --location "$OUTPOST_URL/api/v1/publish" \ --header "Content-Type: application/json" \ --header "Authorization: Bearer $API_KEY" \ --data '{ "tenant_id": "'"$TENANT_ID"'", "topic": "user.created", "eligible_for_retry": true, "data": { "user_id": "userid" } }'Check the logs on your server or webhook capture tool for the delivered event.
Get an Outpost portal link for the tenant:
curl "$OUTPOST_URL/api/v1/tenants/$TENANT_ID/portal" \ --header "Authorization: Bearer $API_KEY"The response will contain a
redirect_urlwith a short-lived JWT token. Open the URL to view the Outpost portal for that tenant.
Continue using the API Reference or the portal to add and test more destinations.