Hasura — Self-Hosted, Open-Source

Fast, instant realtime GraphQL APIs on Postgres with fine grained access control, also trigger webhooks on database events.

License: Apache-2.0. Built with: TypeScript, Haskell, Rust, JavaScript, Go, Python, C, CSS, Shell, SCSS, MDX, C++, PLpgSQL, Makefile, HTML, Nix, Dockerfile, Go Template, Just, Java, HCL, Roff, TSQL, Ruby, Procfile. Website: https://hasura.io. Source: https://github.com/hasura/graphql-engine.

How to install Hasura

Most self-hosted apps including Hasura install through Docker or Docker Compose. The typical workflow is: install Docker on your host, pull the official image (or clone the repository), supply a configuration file with database credentials and storage paths, then start the container. Many homelabbers run Hasura alongside other self-hosted services behind a reverse proxy like Caddy, Traefik, or nginx-proxy-manager for HTTPS and routing. Check the official repository for the most current instructions.

Why self-host Hasura

Self-hosting gives you three things SaaS can’t: data ownership (the files live on disks you control), cost predictability (a one-time setup vs. recurring per-seat fees that grow with your household or team), and longevity (open-source means the app keeps working even if the maintainers move on, since you can pin a working version). The trade-off is that you take on the operational work of running a server, applying updates, and handling backups.

What hardware do you need

Most self-hosted apps run comfortably on modest hardware — a Raspberry Pi 4, a mini PC, a NAS with Docker support, or a small VPS is usually enough for personal or family use. CPU and RAM requirements scale with how many simultaneous users or how much data you push through Hasura. Storage requirements depend on the kind of data you keep; check the README for guidance on data retention.

Where to go from here