mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 01:12:56 +03:00
349ccd3296
Docker Compose is now a plugin for Docker, bundled by default in Docker Desktop and many Linux distribution packages. The standalone `docker-compose` binary has been deprecated since Docker Compose v2. Using the new version directly allows us to write development scripts that do not require `docker-compose` to be installed. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/5185 GitOrigin-RevId: c8542b8b2405d1aa32288991688c6fde4af96383
1.7 KiB
1.7 KiB
Hasura GraphQL Engine on Docker with pgAdmin
This Docker Compose setup runs Hasura GraphQL Engine along with Postgres and pgAdmin4 using docker-compose
.
Pre-requisites
Usage
- Clone this repo on a machine where you'd like to deploy graphql engine
- Edit
docker-compose.yaml
and changePGADMIN_DEFAULT_EMAIL
andPGADMIN_DEFAULT_PASSWORD
to something secure (default pgAdmin login email/password) default value for above variables are:- PGADMIN_DEFAULT_EMAIL:
pgadmin@example.com
- PGADMIN_DEFAULT_PASSWORD:
admin
- PGADMIN_DEFAULT_EMAIL:
- Read more
Environment Variables
here: https://hub.docker.com/r/dpage/pgadmin4/ - Edit
docker-compose.yaml
and changeHASURA_GRAPHQL_ADMIN_SECRET
to something secure docker compose up -d
- Navigate to
http://localhost:5050
, login and add a new server with the following parameters:
General - Name: Hasura
Connection - Host:postgres
Username:postgres
Password: must be the same as thePOSTGRES_PASSWORD
environment variable defined in thedocker-compose.yaml
, the default ispostgrespassword
Important endpoints
- GraphQL endpoint will be
http://localhost:8080/v1/graphql
- Hasura Console will be available on
http://localhost:8080/console
- pgAdmin will be available on
http://localhost:5050
Connecting to External Postgres
If you want to connect to an external/existing postgres database, replace HASURA_GRAPHQL_DATABASE_URL
in docker-compose.yaml
with your database url.
Note: localhost will resolve to the container ip inside a docker container, not the host ip