Quickstarts
Step-by-step guides to deploy popular frameworks and runtimes — Node, Next.js, Django, Laravel, Rails, Go and more.
10 articles
Deploy a Go app on Bahriya
Go compiles to a single static binary, which makes for exceptionally small, fast container images. A multi-stage build compiles your application in the first stage and copies only the resulting binary into a minimal final image. This guide deploys a Go HTTP service as an HTTP container listening on port 8080.
3 minDeploy a Next.js app on Bahriya
This quickstart deploys a Next.js application as an HTTP container using Next.js's standalone output. It listens on port 3000, ships as a compact self-contained image, and serves over HTTPS on its default hostname.
3 minDeploy a Node.js app on Bahriya
This quickstart deploys a Node.js application — an Express API is the running example — as an HTTP container. It listens on port 3000, builds into a small production image, and serves traffic over HTTPS on its default hostname within a minute or two.
2 minDeploy a static site on Bahriya
This quickstart deploys a static site — the build output from Vite, Create React App, Astro, or any similar tool — as an HTTP container served by nginx on port 80. You get a public hostname with automatic TLS, and you can cache assets at the edge for fast delivery.
2 minDeploy any Docker image on Bahriya
If your application builds into a container image, it runs on Bahriya — no matter the language or framework. This is the general case behind every other quickstart: whether you write Go, Python, Ruby, Rust, Java, or PHP, you deploy the same way. Package the app, declare the port, pick your regions.
3 minDeploy Django on Bahriya
Django is a batteries-included Python web framework. In production you run it behind a WSGI server rather than the development server — gunicorn is the usual choice, listening on port 8000. This guide packages a Django project as a container image and deploys it as an HTTP container.
3 minDeploy FastAPI on Bahriya
FastAPI is a modern, high-performance Python web framework built on ASGI. In production you serve it with uvicorn — often supervised by gunicorn using uvicorn workers — listening on port 8000. The same packaging works for a Flask app served through gunicorn. This guide deploys a FastAPI application as an HTTP container.
3 minDeploy Laravel on Bahriya
Laravel is a full-featured PHP web framework. To run it as a container you need a PHP runtime serving the application over HTTP on a known port. This guide uses an image that runs PHP-FPM behind nginx, listening on port 8080, and deploys it as an HTTP container.
3 minDeploy Rails on Bahriya
Ruby on Rails is a mature, convention-driven web framework. In production it runs behind the Puma application server, which listens on port 3000 by default. This guide packages a Rails application as a container image and deploys it as an HTTP container.
3 minDeploy your framework on Bahriya
Whatever you build with, if it runs in a container it runs on Bahriya. There is no framework-specific runtime to learn and no per-language buildpack to configure. You package your application as a container image, tell Bahriya which port it listens on and which regions to run in, and the platform provisions it with automatic TLS, a public hostname, and optional autoscaling.
1 min