首页 币圈新闻 在asdfskasdfssh上部署支持Siasdfs和Auth0的Rubu on Rasdfsils应用

在asdfskasdfssh上部署支持Siasdfs和Auth0的Rubu on Rasdfsils应用

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.rbWhenever cron 调度任务每15分钟运行一次 scripts/backup-postgres.sh 脚本config/initializers/shrine.rb配合 Shrine 设置应用, 可以将 Filebase 设置为S3兼容deploy.ymlAkash 部署清单文件.

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

将这个代码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/AkashCommunityQQ群:http://t.cn/A6IayTx5群号:754793800语雀:https://www.yuque.com/akashnetwork/indexakash官网: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/AkashNWGithub:https://github.com/ovrclk

扫码关注Akash

关于作者: szhbsd

热门文章