How to deploy a Nepal product with Docker and Railway

If you cannot rebuild it, you do not own it.

Written from experience Kathmandu 2026-09-19

Why FTP deploys still fail in Nepal

A folder on a shared box is not a release.

FTP at midnight, overwrite, hope. That is still a common Kathmandu release. Then PHP version drifts and nobody can recrate the box. Docker is a letter to future you. Railway is often where I run it. Railway docs are public.

I ship Node and Python this way because both need the same env and the same Postgres. The laptop is not the production image.

Students: a zip on cPanel is a college artefact. How to become a backend developer in Nepal is the longer path.

What the Dockerfile is for

Pin the runtime. Copy the app. Expose the port.

The file is short on purpose. Fancy multi-stage builds come after the app actually runs. Healthcheck is not optional if you claim uptime.

Secrets stay in the platform. Not in git. Not in a WhatsApp screenshot. I have revoked keys that arrived in chat. Do not be that brief.

Logs must be stdout. If your only log is a file on the box, you will not have it when the box dies.

DNS and the cutover

The deploy is not done until the hostname agrees.

Point the record when staging matches. Keep TTL sane. Cloudflare orange cloud is a separate decision from the app host. How domain, DNS, email, and Cloudflare work together is the map.

Mail records stay put unless you intend to move mail. I have seen deploys 'succeed' and kill MX. Founders remember that forever.

Then watch. First hour is the actual launch, not the tweet.

What I need from you

Repo access or a zip that builds.

If it does not build on a clean machine, it does not build. I will not FTP a mystery. Coded clients only.

Uptime after launch is part of the job. Closing the laptop is not. That is why backend sits with this practice.

[email protected] with the stack and whether you already have Railway or another host.

How to deploy a Nepal product with Docker and Railway?

Is Railway required?

No. It is what I often use. Docker is the portable part.

Can I stay on cPanel and add Docker?

Usually not in a useful way. Leave the panel. Take the data.

Who watches the box after launch?

I do, on coded engagements. A studio bench is a different product.

Start a project with the person who wrote this