[{"data":1,"prerenderedAt":117},["ShallowReactive",2],{"seo-verification":3,"marketplace-app-en-hasura":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"marketplace-app-en-hasura",{"slug":9,"slugs":10,"categorySlugs":11,"name":16,"description":17,"phase":18,"unavailableReason":19,"docsUrl":20,"logo":21,"github":21,"tagline":22,"longDescription":23,"features":24,"useCases":31,"steps":41,"faq":57,"specs":73,"compatibleOs":85,"relatedApps":86,"relatedPosts":110,"category":114},"hasura",{"fr":9,"en":9,"ar":9,"es":9},{"fr":12,"en":13,"ar":14,"es":15},"developpement","development","التطوير","desarrollo","Hasura","Open-source engine that generates a secure GraphQL and REST API on your PostgreSQL database, with role-based permissions and real-time subscriptions.",2,"awaiting_qa","https:\u002F\u002Fservorbit.com\u002Fblog\u002Fself-host-hasura-graphql-engine-vps",null,"Hasura — an instant GraphQL and REST API on PostgreSQL, with role-based permissions, real-time subscriptions and a web console, on your VPS.","Hasura GraphQL Engine is an open-source engine (Apache-2.0 licensed) that connects to a PostgreSQL database and instantly exposes a complete GraphQL API: queries, mutations, filters, sorting, pagination, relationships between tables and real-time subscriptions. There is no server code to write for CRUD: you create a table, you track it in the console, and the API is ready.\n\nSecurity is declared in the same place: role-based permissions, row by row and column by column, driven by the claims of a JWT issued by your identity provider. Actions plug your own business logic (an HTTP webhook) into the GraphQL schema, Event Triggers call a webhook on every insert or update, and Cron Triggers schedule calls. Hasura serves as the backend of web and mobile apps, as an API layer in front of an existing database, or as an accelerator for an MVP.",[25,26,27,28,29,30],"Instant GraphQL API — every tracked table exposes queries, mutations, filters, sorting, pagination and aggregates.","Relationships and joins — foreign keys become nested fields, with no resolver to write.","Real-time subscriptions — a client subscribes to a query and receives changes over WebSocket.","Role-based permissions — row- and column-level rules, driven by the claims of a JWT.","Actions, Event Triggers and Cron Triggers — your business logic as webhooks, fired by the API, the data or the clock.","REST endpoints and web console — turn a GraphQL query into a REST route, and manage everything from the console.",[32,35,38],{"title":33,"body":34},"The backend of a web or mobile app","Model your tables in PostgreSQL, declare role-based permissions, and your Vue, React or Flutter frontend queries the GraphQL API directly, with authentication from your JWT provider.",{"title":36,"body":37},"An API in front of an existing database","Connect Hasura to a PostgreSQL database already in production: tracked tables become a documented, typed API, without rewriting the application that fills them.",{"title":39,"body":40},"A real-time dashboard","GraphQL subscriptions push every new order, ticket or measurement to the browser as soon as it is inserted, with no message queue to operate.",[42,45,48,51,54],{"title":43,"body":44},"Create the VPS and choose the address","Order an Ubuntu 24.04 VPS with 1 GB of RAM (2 GB for a growing database). Hasura requires a domain: its API is called by your frontends and mobile apps, so it must answer over HTTPS on a stable name. It opens on a subdomain of one of your domains, or on the VPS's free subdomain (hasura.{dns_slug}.servorbit-dns.com), HTTPS included. No need to buy a domain name.",{"title":46,"body":47},"Install Hasura from the Marketplace","In your client area, select Hasura, choose the address and click Install. The script deploys PostgreSQL and the Hasura engine, generates the admin secret and the database password, connects the database as the \"default\" source and sets up the nginx reverse proxy over HTTPS.",{"title":49,"body":50},"Log in for the first time","Open https:\u002F\u002Fyour-domain\u002Fconsole and paste the admin secret shown in your client area: it is the only key to the console, there is no username. Keep it in a password manager and never ship it in a frontend.",{"title":52,"body":53},"Create a table and expose it","In the Data tab, create a table (for example `todos` with `id`, `title` and `done`), then click Track. In the API tab, the query `query { todos { id title done } }` answers right away.",{"title":55,"body":56},"Declare authentication and permissions","Add `HASURA_GRAPHQL_JWT_SECRET` to the application's `.env` file (`\u002Fopt\u002Fhasura`) with your identity provider's key (Logto, Authentik, Zitadel, Auth0…), restart the stack with `docker compose up -d`, then, in each table's Permissions tab, define what the `user` role can read and change. Your clients then call the API with their token, never with the admin secret.",[58,61,64,67,70],{"q":59,"a":60},"What is the difference between Hasura and Supabase?","Supabase is a full platform: PostgreSQL database, authentication, file storage and REST API. Hasura focuses on the API layer: a very rich GraphQL (relationships, aggregates, subscriptions), fine-grained role-based permissions and webhooks, in front of a PostgreSQL database you keep. Choose Hasura if your frontend speaks GraphQL or if you already have an identity provider.",{"q":62,"a":63},"Do I need a domain name for Hasura?","Yes. Hasura's API is called by your frontends and mobile apps: it must answer over HTTPS on a stable name. No need to buy one: every ServOrbit VPS comes with a free subdomain (hasura.{dns_slug}.servorbit-dns.com) with an HTTPS certificate. You can also use a subdomain of one of your domains.",{"q":65,"a":66},"How do I log in to the console the first time?","Open https:\u002F\u002Fyour-domain\u002Fconsole and enter the admin secret shown in your client area. There is no username: this secret grants full rights over the API and the database. Never put it in frontend code; your users authenticate with a JWT.",{"q":68,"a":69},"Can I connect Hasura to an existing PostgreSQL database?","Yes. In the Data tab, add a source with your database's connection URL, then track the tables to expose. Hasura does not change your tables: it stores its own metadata in a separate schema, hdb_catalog, in its metadata database.",{"q":71,"a":72},"How do I back up my Hasura installation?","Two things are enough: the PostgreSQL database (a regular pg_dump, or a tool such as Databasus) and the Hasura metadata, exportable from the console (Settings, Export metadata) or with the hasura CLI. Version the metadata in Git along with your migrations.",{"ram":74,"cpu":75,"disk":76,"stack":77,"port":81,"license":82,"version":83,"os":84},"1 GB minimum","1 vCPU","10 GB",[78,79,80],"Docker","Hasura GraphQL Engine","PostgreSQL","8103","Apache-2.0","v2.51.3","Ubuntu 24.04",[],[87,95,104],{"name":88,"slug":89,"categorySlug":13,"categoryName":90,"categoryColor":91,"logo":92,"tagline":93,"description":94},"Supabase","supabase","Development","text-warning bg-warning\u002F10","https:\u002F\u002Fcdn.jsdelivr.net\u002Fgh\u002Fselfhst\u002Ficons\u002Fsvg\u002Fsupabase.svg","The open-source Firebase alternative — a full Postgres backend with instant APIs, auth and a dashboard, self-hosted from Supabase's own official stack.","Self-hosted open-source Firebase alternative — a full Postgres backend with instant REST APIs, authentication and the Studio dashboard, deployed from Supabase's own official Docker stack.",{"name":96,"slug":97,"categorySlug":98,"categoryName":99,"categoryColor":100,"logo":101,"tagline":102,"description":103},"PostgreSQL Stack","postgresql-stack","databases","Databases","text-blue-400 bg-blue-500\u002F10","https:\u002F\u002Fcdn.simpleicons.org\u002Fpostgresql","PostgreSQL 15 + pgAdmin — a powerful, extensible relational database from the very first boot.","Open-source relational database with pgAdmin preconfigured. Powerful, extensible, production-ready.",{"name":105,"slug":106,"categorySlug":13,"categoryName":90,"categoryColor":91,"logo":107,"tagline":108,"description":109},"PocketBase","pocketbase","https:\u002F\u002Fcdn.simpleicons.org\u002Fpocketbase","Your complete backend in a single Go binary — database, realtime API, auth and admin UI in one command.","Complete backend in a single Go binary — embedded SQLite, realtime REST & WebSocket API, auth, file storage and admin dashboard. Deploy a full backend in under 5 minutes.",[111,112,113],"heberger-postgresql-vps","heberger-supabase-vps","docker-compose-depends-on-healthcheck",{"key":12,"slug":13,"name":90,"objective":115,"icon":116,"color":91},"Kick off a software project quickly.","dev",1793146208950]