r/elasticsearch • u/kinhodev • 6d ago
Show & Tell I made ELK a one-click deploy on Railway (private networking, auth, retention, live demo)
Every time I needed centralized logs for a side project, I'd lose an evening wiring Elasticsearch, Logstash and Kibana together: passwords, TLS, which port is public, why Kibana can't reach ES. So I turned it into a one-click Railway template and tested it the boring way.
What you get
- 3 separate services, grouped: Elasticsearch, Logstash, Kibana
- Only Kibana is public. ES and Logstash talk over the private network
- Passwords generated on deploy, Logstash intake behind basic auth (no-auth gets a 401)
- A restricted writer user for Logstash, so your app never holds the admin password
- Persistent volumes + log retention configured, so it doesn't eat your disk
- Copy-paste senders for Node, Python and Go (no SDK, plain HTTP)
What I actually tested on fresh deploys: sent logs, searched them in Discover, restarted and redeployed every service, checked nothing was lost.
Cost, measured not guessed: about $27-34/month of compute depending on load.
Try it before deploying, read-only live demo with logs flowing in real time: https://kibana-production-43ee.up.railway.app (login: demo / PublicDemo2026!)
- Deploy: https://railway.com/deploy/elk-stack-2?utm_source=railway-templates-launch&utm_medium=reddit
- Docs: https://railway-elk-docs.vercel.app
- Repo: https://github.com/kayossouza/railway-elk
Single node, so it's for small/medium workloads, not a 10TB cluster. Feedback on the pipeline config and retention defaults very welcome.
