---
# System prepended metadata

title: ホスティングサービス(静的・動的)

---

# ホスティングサービス(静的・動的)

ここでは自分たちのホスティングサービスを**LappsHosting**と呼ぶことにします。

## アカウントと料金

- Wallat Connectログイン
- Github OAuthログイン

githubへのmergeをhookにホスティングサービスにデプロイすることを目指したい。

- Repository
- Branch
- Build Command

最初は、最小設定でユーザが使えることを目指したい。将来的にはFleekと同様に下記プロバイダーと連携できることを目指す。

- GitHub
- Gitlab
- Bitbucket

料金はCryptoによる支払いが可能。

- ETH
- IntMax Token

## IPFSのホスティングについて

IPFSに対応していないブラウザについては、IPF Gateway経由でルーティングする必要がある。
自分たちがGatewayサーバを作成し、ブラウザからリクエストされたコンテンツIDのコンテンツをIPFSから取得して返却する必要がある。
**IPFS Gatewayサーバを冗長化する必要がある。**

## 静的ホスティングサイトのデプロイフロー

1. ユーザはLappsHostingにログインし、ダッシュボード画面でホスティングしたいgithubのrepositoryの許可をLappsHostingに与える。
2. LappsHostingは、許可されたrepoisitoryの指定ブランチが更新をhookにIPFSにデプロイを行う。

## 裏側の構成

- デプロイを行うアプリケーションサーバ
- データベース
- IPFS Gatewayサーバ

データベースには、github repositoryへのアクセス権を持ったOauthTokenを保存する。DNSLinkを使用してIPFSとドメインを紐付けする。ユーザはLappsHostingと自身のDNSプロバイダーサービスにレコードを設定する。自分たちのIPFS GatewayサーバのURLを **https://ipfs.lappsnet.io** とすると、 https://ipfs.lappsnet.io/{namespace} と自分のドメインを紐付けます。設定したいドメインを https://example.com とするとhttps://example.com にアクセスしたときに、https://ipfs.lappsnet.io/example にアクセスさせる。IPFSゲートウェイサーバはマッピングされているコンテンツをIPFSから取得し返却する。 (できるだけわかりやすい値がいいので、できればそのままexampleと使いたい。)静的ファイルは、IPFSゲートウェイサーバの前にCDNを配置することでキャッシュされたコンテンツを返却することできる。

## IPFS

ファイルの置き場所については、ファイルコインを使います。

> より分散ストレージについて知りたい場合は、分散ストレージの種別と特徴について記載したConfluenceのページを参照のこと。
https://ryodan.atlassian.net/wiki/spaces/~211263778/pages/491522


## 静的ファイルの削除について

Filecoinは削除ができない。削除はできないが、保存する期間を設定することができるため、アプリケーション側で保存期間を設定して、保存期間内に更新がなかった場合は前の静的ファイルを再度アップロードする処理を行うことによって、疑似削除を可能とする。

## 静的ファイルの権限移譲について

権限を移譲する際にあたって下記の連携アカウントについて処理する必要があります。

- github連携
- ドメイン
- 環境変数設定

github連携については、権限移譲されたユーザが登録したgithub repositoryにコードを送信および新しい連携先repositoryとして登録します。
ドメインは新しいドメインを設定するか、またはドメインの移譲を個人間でやりとりしてもらいます。
環境変数はダッシュボードから設定し新しく更新します。

