---
title: "Despliega Hasura en Pethost con un clic"
description: "APIs GraphQL y REST al instante sobre una base de datos Postgres, con permisos, eventos y una consola web. Una plantilla para Pethost: en un par de minutos la app está en marcha en tu máquina, con HTTPS en su propia dirección y backups cada noche."
---

[← Todas las plantillas](https://pethost.dev/es/templates/)

# Despliega Hasura en Pethost con un clic

APIs GraphQL y REST al instante sobre una base de datos Postgres, con permisos, eventos y una consola web

[Desplegar en Pethost](https://console.pethost.dev/?template=hasura)

## Qué pasa

1. Inicias sesión en Pethost o creas una cuenta, con una passkey, GitHub o Google.
2. ¿Aún no tienes máquina? Eliges un plan y te preparamos una. El enlace espera en tu navegador hasta que esté lista.
3. Nuevo proyecto se abre en la app. Rellenas lo que pide y haces clic en Crear proyecto: **Contraseña de administrador**.
4. En un par de minutos la app está en marcha en su propia dirección con HTTPS. Sus secretos se generan al azar para ella, y sus datos entran en el backup de cada noche.
5. Es un proyecto como cualquier otro: su compose.yaml, su .env, sus logs y un terminal están en el panel, y tu agente puede cambiarlo, volver a una versión anterior o restaurarlo.

## Primeros pasos

Abre https://hasura.sam.pethost.app/console y escribe como admin secret la contraseña de administrador que indicaste; las llamadas a la API la envían en la cabecera x-hasura-admin-secret. El Postgres del propio proyecto está conectado como la fuente de datos default: crea tablas en la pestaña Data de la consola.

## Qué ejecuta

La plantilla es este compose.yaml y las variables que escribe en el .env del proyecto. Pethost ejecuta el archivo tal como está escrito.

```
services:
  graphql-engine:
    image: hasura/graphql-engine:v2.50.3
    restart: unless-stopped
    environment:
      # Hasura keeps its metadata in this database and serves it as the data source "default".
      HASURA_GRAPHQL_DATABASE_URL: postgres://hasura:${POSTGRES_PASSWORD}@postgres:5432/hasura
      # The console and the API take the admin secret; without it they would be open to anyone.
      HASURA_GRAPHQL_ADMIN_SECRET: ${ADMIN_SECRET}
      HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
      HASURA_GRAPHQL_CONSOLE_ASSETS_DIR: /srv/console-assets
      HASURA_GRAPHQL_DEV_MODE: "false"
      HASURA_GRAPHQL_ENABLE_TELEMETRY: "false"
      HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log
    depends_on:
      postgres:
        condition: service_healthy

  postgres:
    image: postgres:17-alpine
    restart: unless-stopped
    environment:
      POSTGRES_DB: hasura
      POSTGRES_USER: hasura
      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
    volumes:
      - db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U hasura -d hasura"]
      interval: 5s
      timeout: 5s
      retries: 10
      start_period: 30s

volumes:
  db:
```

[compose.yaml](https://pethost.dev/templates/hasura/compose.yaml)[Verla en GitHub](https://github.com/pethost-dev/templates/tree/main/hasura)

Pethost · Stephan Gomer · NIP 1133096755

[Plantillas](https://pethost.dev/es/templates/) [Sobre nosotros](https://pethost.dev/about/) [Blog](https://pethost.dev/blog/) [Términos](https://pethost.dev/terms/) [Privacidad](https://pethost.dev/privacy/) [Reembolsos](https://pethost.dev/refunds/) [API](https://pethost.dev/docs/api/) [CLI](https://pethost.dev/docs/cli/) [Plugin](https://github.com/pethost-dev/plugin) [support@pethost.dev](mailto:support@pethost.dev)
