Ubuntu如何搞上Hasura GraphQL engine

第一次听说Hasara是在老板口中,当时气血沸腾,特别想提起我的机械键盘,大喊一声哈撒给(金属音)! 死亡如风,常伴吾身~ 索儿.gif 笔者本片文章是在Ubuntu 18.04上,用的马总家的云服务器,一开始用的是16.04,死活neng不上,笔者半年左右的修为,着实不敢乱搞,因此采用比较好用的18.04。 一、简介 1、Docker容器介绍 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。 2、Postgre介绍 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统 3、Hasura介绍 Hasura是一个开源引擎,可连接到您的数据库和微服务,并立即为您提供可用于生产的GraphQL API 二、安装Docker 官网完整教程 笔者阉割版 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io 验证是否成功,此命令下载测试图像并在容器中运行。容器运行时,它会打印参考消息并退出。 sudo docker run hello-world 三、安装PostgreSQL 官网完整版 笔者阉割版 1、新建文件pgdg.list目录如下 /etc/apt/sources.list.d/pgdg.list 2、在上述文件pgdg.list中添加内容 deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main 3、安装 wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - sudo apt-get update 4、成功检测 psql --version 四、Hasura GraphQL engine配置 官网完整版 笔者阉割版 1、安装Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 2、将可执行权限应用于二进制文件 sudo chmod +x /usr/local/bin/docker-compose 3、安装命令完成 sudo curl -L https://raw.githubusercontent.com/docker/compose/1.25.0/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose 4、检测安装是否成功 docker-compose --version 可能会报错,由于采用curl方法安装失败。 解决方案:进入官网直接下载稳定版本的docker-compose-Linux-x86_64,重命名为docker-compose,然后复制到服务器 /usr/local/bin/目录下 image.png 5、新建一个目录下载Hasura的docker compose文件 例如笔者在根目录下:mkdir graphql然后cd graphql执行下边的 wget https://raw.githubusercontent.com/hasura/graphql-engine/master/install-manifests/docker-compose/docker-compose.yaml 6、在刚才新建的目录下运行Run Hasura GraphQL engine 和 Postgres docker-compose up -d 小插曲,我在马路边,捡到一分钱....... Can't find a suitable configuration file in this directory or any parent. Are you in the right directory? Supported filenames: docker-compose.yml, docker-compose.yaml 这个错误因为木有在第5步的目录中运行第6步。 7、检测容器是否在运行 docker-compose 五、打开Hasura控制台服务器IP端口8080 以上操作完成后,就可以美滋滋的享受成功地喜悦并且进行其他操作了。 image.png 六、添加管理员密码 为确保您的GraphQL端点和Hasura控制台不可公开访问,您需要配置一个管理员密钥。 编辑docker-compose.yaml文件 version: '3.6' services: postgres: image: postgres restart: always volumes: - db_data:/var/lib/postgresql/data graphql-engine: image: hasura/graphql-engine:v1.0.0 ports: - "8080:8080" depends_on: - "postgres" restart: always environment: HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:@postgres:5432/postgres HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log ## uncomment next line to set an admin secret # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey volumes: db_data: ~ HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey这行是设置密码的。注意:修改的时候一定要注意和上一行左侧对齐,不然会报错滴 七、重启容器 docker-compose up -d 重新打开console 八、一些常用命令 docker-compose up -d —作用是创建与启动容器,会重建有变化的服务器(删掉以前建立的容器) docker-compose stop —停止一个已经运行的容器,但不删除它,可通过docker-compose start重新启动它 九、参考文章与致谢 对系统丝毫不了解的笔者搞成这个用了很长时间,十分感谢帮助笔者解决问题的文章以及作者。下面再次贴出官网地址以及笔者看过的文章链接。 Docker官网 PostgreSQL官网 Hasura官网 Docker Compose 在Ubuntu 18.04 / CentOS 7上安装Hasura GraphQL Engine Linux使用curl 方式安装docker-compose 后执行docker-compose version 检查安装是否成功时出错的解决办法 至此,本文已经完成了,写本文章的初心是希望为读者提供一条比较简单直接迅速的道路,想要深入了解,官方文档才是根本。对于Hasura,笔者也只是菜鸟;对于本片文章,还有很多要写的地方,考虑到粉丝或者阅读者可能较少,笔者在此不一一赘述。如有问题,欢迎留言,笔者有时间回复。 由于写本文章,笔者对学习方法有了一定的转念,准备写一篇文章,完成后链接放在这里。对于学习方法的转念 祝各位圆满成功!

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):