Giter Site home page Giter Site logo

melehin / graphql-engine-arm64 Goto Github PK

View Code? Open in Web Editor NEW
46.0 4.0 15.0 100 KB

Dockerfile for hasura/graphql-engine to run on arm64/aarch64 (tested on Nvidia Jetson Nano, Rpi4, Apple M1).

Home Page: https://hub.docker.com/r/fedormelexin/graphql-engine-arm64

Dockerfile 100.00%
graphql-engine hasura rpi4 nvidia-jetson-nano apple-m1-silicon graphql

graphql-engine-arm64's People

Contributors

etrepum avatar melehin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

graphql-engine-arm64's Issues

How to access localhost for Actions and Event Handlers ?

I am running the latest preview of Docker on my M1 macbook. I am also running vercel for api endpoints on localhost:3000 on my local machine.

How can I access this in my event handler ? I tried http://localhost:3000/api/notifyComment, https://host.docker.internal:3000 but nothing seems to work. The host.docker seemed to work though once, is there any workaround any one has found ?

pg_dump throws an error.

Hi, thanks so much for maintaining an arm build!

This issue is related to #2 (pg_dump throws an error. Can't run migrations.)

When try to use the http://localhost:8080/v1alpha1/pg_dump endpoint
I get this response

{"path":"$","error":"error while executing pg_dump: Warning: No existing cluster is suitable as a default target. Please see man pg_wrapper(1) how to specify one.\nError: You must install at least one postgresql-client-<version> package\n","code":"unexpected"}

Running apt install -y postgresql-client-12 in the container fixes the problem.

Can you include this package in your image?

Error trying compile for Ubuntu 20.10 and Hasura 1.3.3

Hi, first of all, thank you very much for your contribution. I have a Raspberry Pi4 on which I am trying to install Hasura and I have run into this issue. But when I try to compile graphql_engine v1.3.3 for ubuntu 20.10, I get this error:

image

This error occurs in this Dockerfile line:
RUN make deps server-build

Could you provide some tips from your experience to resolve it? Thanks in advance

use the same tags as `hasura/graphql-engine`

tags for hasura/graphql-engine start with a v, e.g. v2.0.0-beta.1 while this repo drops the v,, e.g. 2.0.0-beta.1. this makes for some difficulty in keeping the version of the image under version control when using an env variable

Export request returning no data

I believe there is a bug in this arm64 version. When I run an export_metadata query the server returns an empty connection rather than JSON. The same command on the official package returns the json expected.

I'm using the following curl request:

curl 'https://hasura.wb.mydomain.localhost:3443/v1/query' \
-H "Content-Type: application/json" \
-H "X-Hasura-Admin-Secret: secret" \
-H "X-Hasura-Role: admin" \
-X POST --data-binary '{ "type": "export_metadata", "args": {} }'

This request returns the following when run in verbose mode:

curl --verbose 'https://hasura.web.mydomain.localhost:3443/v1/query' \
-H "Content-Type: application/json" \
-H "X-Hasura-Admin-Secret: secret" \
-H "X-Hasura-Role: admin" \
-X POST --data-binary '{ "type": "export_metadata", "args": {} }'
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying 127.0.0.1...
* TCP_NODELAY set
* Connected to hasura.web.eola.localhost (127.0.0.1) port 3443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/cert.pem
  CApath: none
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: O=mkcert development certificate; [email protected] (Graham Hadgraft)
*  start date: Sep 16 10:49:02 2021 GMT
*  expire date: Dec 16 11:49:02 2023 GMT
*  subjectAltName: host "hasura.web.mydomain.localhost" matched cert's "*.web.mydomain.localhost"
*  issuer: O=mkcert development CA; [email protected] (Graham Hadgraft); CN=mkcert [email protected] (Graham Hadgraft)
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x13100f800)
> POST /v1/query HTTP/2
> Host: hasura.mydomain.eola.localhost:3443
> User-Agent: curl/7.64.1
> Accept: */*
> Content-Type: application/json
> X-Hasura-Admin-Secret: secret
> X-Hasura-Role: admin
> Content-Length: 41
>
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
* We are completely uploaded and fine
* Empty reply from server
* Connection #0 to host hasura.web.mydomain.localhost left intact
curl: (52) Empty reply from server
* Closing connection 0

Specifying --console-assets-dir when running the engine breaks people running cli consoles

Hello,

I just switched to this arm64 image to use on my dev M1 machine, and my CLI console broke:

hasura/graphql-engine#7030

The issue was because the arm64 image is specifying --console-assets-dir in the command, which tells consoles connected to use the engine for assets, but I run the engine with the console disabled since I'm using the separate CLI console (for migrations, etc). I worked around it by overriding the command (seen in that link above), but it may be nice to make the command match the official images so others don't run into this issue.

Cannot connect to MS SQL

when is tried to connect to MS SQL, i'm getting the error shown below...
image

using this connection string
Driver={ODBC Driver 17 for SQL Server};Server=myhost,1433;Database=mydb;Uid=myusername;Pwd=mypassword!;

pg_dump throws an error. Can't run migrations.

Hello. Thanks for this ARM build! It's a real life saver.

I'm on an M1 mac book. I've managed to get Hasura running with this image and I can run the Hasura CLI via rosetta.

When I try to run pg_dump through Hasura with /v1alpha1/pg_dump I get the following error:

{
    "path": "$",
    "error": "internal exception while executing pg_dump",
    "code": "unexpected"
}

I think this is also causing migrations with the Hasura CLI to fail.

When I run pg_admin directly in my Postgres docker container it works as expected.

Any insights into why this might be failing?

Thanks again!

v2.0.0 cli-migrations images

Hi there! Thanks so much for maintaining these @melehin :) I was pleasantly surprised to see v2.0.0 within hours of it launching this morning!

For some reason, the v2.0.0-beta.<x>-cli-migration-<y> images are erroring on start and it has something to do with this issue. I'm wondering if you're planning on building cli-migration-tagged docker containers for the v2.0.0 production release?

I'm running on an M1 right now, let me know if I can help - I'm unclear on how to build the cli-migrations images from looking at the Dockerfile in this repo, if you clarify, happy to run the build for cli-migrations-v2 and v3!

Error starting graphql-engine

When I try this image, I get the following error:

ERROR: for graphql-engine Cannot start service graphql-engine: OCI runtime create failed: container_linux.go:370: starting container process caused: exec: "graphql-engine": executable file not found in $PATH: unknown

Any thoughts on what could be the issue? Is there something missing in my path that I need for it to run correctly?

Thanks!

Hasura Hangs on Macbook M1

Description

Using image:

    image: fedormelexin/graphql-engine-arm64:1.3.3

on my Macbook M1

I ran docker-compose up -d and then hasura console and I get "Loading..." (see below)

Docker Logs

{"type":"http-log","timestamp":"2021-04-27T13:14:03.555+0000","level":"error","detail":{"operation":{"error":{"path":"$","error":"resource does not exist","code":"not-found"},"request_id":"51c7180b-1c09-4df4-a871-4925e3fd7f48","response_size":65,"raw_query":""},"http_info":{"status":404,"http_version":"HTTP/1.1","url":"/console/assets/common/css/font-awesome.min.css.gz","ip":"172.18.0.1","method":"GET","content_encoding":null}}}

{"type":"http-log","timestamp":"2021-04-27T13:14:03.555+0000","level":"error","detail":{"operation":{"error":{"path":"$","error":"resource does not exist","code":"not-found"},"request_id":"3d187df8-3ae1-4fff-9859-c01de9f0cc19","response_size":65,"raw_query":""},"http_info":{"status":404,"http_version":"HTTP/1.1","url":"/console/assets/versioned/vendor.js.gz","ip":"172.18.0.1","method":"GET","content_encoding":null}}}

{"type":"http-log","timestamp":"2021-04-27T13:14:03.555+0000","level":"error","detail":{"operation":{"error":{"path":"$","error":"resource does not exist","code":"not-found"},"request_id":"266ee934-d6ca-43fc-b617-42468a638dfb","response_size":65,"raw_query":""},"http_info":{"status":404,"http_version":"HTTP/1.1","url":"/console/assets/versioned/main.css.gz","ip":"172.18.0.1","method":"GET","content_encoding":null}}}

{"type":"http-log","timestamp":"2021-04-27T13:16:05.642+0000","level":"error","detail":{"operation":{"error":{"path":"$","error":"resource does not exist","code":"not-found"},"request_id":"21b8ada9-0b15-4e26-ad63-24c951bb28e0","response_size":65,"raw_query":""},"http_info":{"status":404,"http_version":"HTTP/1.1","url":"/console/assets/versioned/main.css.gz","ip":"172.18.0.1","method":"GET","content_encoding":null}}}

{"type":"http-log","timestamp":"2021-04-27T13:16:05.642+0000","level":"error","detail":{"operation":{"error":{"path":"$","error":"resource does not exist","code":"not-found"},"request_id":"9ff8c699-1ec0-4035-8f33-d8a934e19dd4","response_size":65,"raw_query":""},"http_info":{"status":404,"http_version":"HTTP/1.1","url":"/console/assets/common/css/font-awesome.min.css.gz","ip":"172.18.0.1","method":"GET","content_encoding":null}}}

Screenshots

Screen Shot 2021-04-27 at 9 16 15 AM

v2.0.10.cli-migrations-v2 is missing

Hi,

thanks for the amazing work! I have found out that the docker tag docker.io/fedormelexin/graphql-engine-arm64:v2.0.10.cli-migrations-v2 is missing.

Could you please check that out?

Thanks in advance,

Florian

graphql-engine installed with docker-compose fails to start

Hello,
I'm trying to run hasura on a rasperry pi 4 8GB. It fails to start... I can't figure what's going on.

docker logs on fedormelexin/graphql-engine-arm64 gives me the message standard_init_linux.go:228: exec user process caused: exec format error
The postgresql image is running without problem.

Docker Image for Hasura 2.0

Hello!

I'm just wondering if an ARM docker image for the upcoming 2.0 release is on the roadmap? :)

Thanks for the great work!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.