# How ox self-hosts your apps What ox puts on your server, what it sets up for each app, and which stacks it runs, with a link to the full story for each part. ## Start here Self-hosting means your apps run on a server you rent each month, usually a VPS, instead of on a hosting site's machines. If that is new to you, read [how to self-host web apps on your own VPS](https://deploywithox.com/blog/self-host-web-apps-on-your-own-vps) first. It lists what a self-hosted app needs and compares the ways to set one up. This page covers how ox does it. ## What ox puts on your server You sign in with GitHub and paste one command on a fresh Ubuntu server. It installs the small ox agent and Caddy, and hardens the server. The dashboard runs on ox's servers, so nothing else runs on yours. The agent dials out to ox, so it needs no open port, and ox holds no SSH key. The [security page](https://deploywithox.com/docs/security) lists how ox hardens the server. ox doesn't use Docker. Each app runs as a plain Linux service under its own user, and Caddy serves it over HTTPS. [A Coolify alternative without Docker](https://deploywithox.com/blog/coolify-alternative-without-docker) explains what that changes day to day. ## What ox sets up for each app You pick a repo, and ox reads its files to work out how to build and start it. It shows you that plan, builds the app on your server and puts it live with HTTPS. After that, every push to GitHub goes live the same way. The [quickstart](https://deploywithox.com/docs/quickstart) shows the five steps. Your databases are [backed up every day](https://deploywithox.com/docs/operate/backups) with nothing to turn on. A new release starts beside the old one and takes traffic only once it answers, so a failed update leaves the live app running. You can [roll back](https://deploywithox.com/docs/operate/rollback) to an earlier release without a rebuild. [Features](https://deploywithox.com/features) lists the rest, such as previews and a staging copy. ## Which stacks ox runs Each stack has a deploy guide with the plan ox makes for it and whether that plan has passed a test on a real server. Start from [Stacks](https://deploywithox.com/docs/guides), or open the guide for [Django](https://deploywithox.com/docs/guides/django), [Next.js](https://deploywithox.com/docs/guides/nextjs), [FastAPI](https://deploywithox.com/docs/guides/fastapi), [Rails](https://deploywithox.com/docs/guides/rails), [Laravel](https://deploywithox.com/docs/guides/laravel), [a Node.js API](https://deploywithox.com/docs/guides/node) or [a static site](https://deploywithox.com/docs/guides/static-site). The blog's [Guides](https://deploywithox.com/blog#c-guides) walk through whole apps. ## How ox compares Coolify, Dokploy, CapRover and Dokku also put apps on your own server. You install them yourself, and they run your apps in Docker containers, which fits well when your app already ships as a container image. ox can't run container images. [Dokploy vs Coolify vs ox](https://deploywithox.com/blog/dokploy-vs-coolify-vs-ox) compares the three side by side. If you are leaving a hosting platform, [moving off Heroku](https://deploywithox.com/blog/heroku-alternative-on-your-own-server) and [Render and Railway alternatives](https://deploywithox.com/blog/render-railway-alternatives-on-your-own-server) compare the costs and say what you give up. One server is one machine: if it goes down, every app on it goes down too. ox runs each app on one server and does not spread an app across several. ## What you need - A VPS running the latest Ubuntu LTS. We test every release on servers with 4 GB of memory. - Your app in a GitHub repo. - An ox account. Your first project is free, with no card. ## Deploy to a server you own Push your code and it goes live. Free for your first project. [Sign up with GitHub](https://deploywithox.com/login/github) [Read the quickstart](https://deploywithox.com/docs/quickstart)