LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 在akash上部署支持Sia和Auth0的Rubu on Rails应用

在akash上部署支持Sia和Auth0的Rubu on Rails应用

2021-08-18 Akash 来源:区块链网络

Github仓库地址: ovrclk/akash-on-rails

Demo: pin.akash.host

这是一个托管在Akash上的Pinterest的Rails应用克隆, 充分利用了去中心化云主机的一些特性:

通过 Filebase将数据库备份/恢复到 Sia通过 Filebase上传用户图像到 SiaAuth0做用户验证Cloudflare 处理DNS 和 SSL.定时任务处理使用 Whenever.

架构

App 容器

运行Rails服务器辟谷托管实际网站连接到Postgres容器实现数据库保存将文件保存到Filebase, (当前支持Sia, Skynet, 和 Storj).使用Auth0 处理用户登录和限制.

Cron 容器

启动时自动恢复Postgres数据库,通过重新部署实现数据库持久化每隔15分钟自动将数据库备份到 Filebase在 schedule.rb中使用 Whenever来定义Crontab运行和Rails应用同样的docker镜像, 使用 cron 代替 rails服务器一个 独立数据库备份/恢复容器 同时可用.

Postgres数据库容器

运行标准Postgres服务器的docker镜像

使用

最终这个代码库旨在提供一个在Akash上托管rails应用程序的合理示例。有几种方法可以使用它:

在Akash上运行应用就像是在使用你自己的本地存储和验证账户Auth0

设置一个免费的Cloudflare 帐户, 并加上你的域名和设置nameservers安装 Filebase 帐户和bucket. 在你的bucket增加一个 backups 文件夹后面需要用到bucket名称, client ID以及secret 注册一个 Auth0 帐户并设置一个应用 回调URL: https://yourdomain.com/auth/auth0/callback.登出URL: https://yourdomain.com.需要你的 Auth0 域名, client ID, 以及secret. 使用样例deploy.yml文件, 用 Filebase and Auth0中的值来填充环境变量在Akash上部署并获得你的应用的URL链接在 Cloudflare中使用 CNAME , 将域名指向你的应用URL链接在 Cloudflare中使用Full SSL 模式使用 Auth0登陆到你的网站. 第一个创建的用户默认为管理员.

在你的项目中使用相关的相关文件

Dockerfile 开箱即用的Rails Dockerfile.安装AWS CLI 工具以便和 Filebase交互 scripts/run-app.sh 预编译rails assets.运行rails 服务器. scripts/run-scheduler.sh 创建和恢复数据库运行 rake db:migrate and db:seed.使用 Whenever 配置crontab以便运行cron 服务. scripts/restore-postgres.sh 从 Filebase下载最新备份如果备份被发现则恢复该数据库 scripts/backup-postgres.sh 将数据库备份到 Filebase.如果日期比 KEEP_BACKUPS旧则删掉备份 config/schedule.rb Whenever cron 调度任务每15分钟运行一次 scripts/backup-postgres.sh 脚本 config/initializers/shrine.rb 配合 Shrine 设置应用, 可以将 Filebase 设置为S3兼容 deploy.yml Akash 部署清单文件.

克隆这份代码库作为你的新项目的脚手架

将这个代码clone到你自己的github帐户将任何含有AkashOnRails, akash-on-rails and, akash_on_rails的名称重命名为你自己应用的名字根据需要修改app/models, app/controllers, app/views

开发

你可以在本地使用 Docker compose来运行这个应用

拷贝 .env.sample 文件到 .env 并让其生效.

运行 docker-compose up 开始构建和运行应用程序.

Akash相关链接

中文链接

微博:https://weibo.com/akashchina
币乎:https://bihu.com/people/1117023356
币吧:https://akt.bihu.com/
推特:https://twitter.com/AkashCommunity
QQ群:http://t.cn/A6IayTx5群号:754793800
语雀:https://www.yuque.com/akashnetwork/index
akash官网:https://akash.network/?lang=zh-hans

英文链接:

Twitter:https://twitter.com/akashnet_
Facebook:https://www.facebook.com/akashnw/
LinkedIn:https://www.linkedin.com/company/akash-network/
Telegram:https://t.me/AkashNW
Github:https://github.com/ovrclk


扫码关注Akash

—-

编译者/作者:Akash

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...