当前位置:主页 > 列表页 > 正文

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

2021-08-18 20:32 | 出处: Akash

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

Demo: pin.akash.host

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

架构

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登陆到你的网站. 第一个创建的用户默认为管理员.

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

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

  • 将这个代码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
作者郑重申明:本文未提及任何项目,因此无须对利益关系进行澄清。
相关文章