自己ホスティング
リスは最近、されており、これはサイモン、彼らのチームに参加したQuirrelの著者のためのエキサイティングなニュースです!
ホストサービスquirrel.dev 今年後半に廃止され、新しいサインアップを中止しました.これはサービスのニッチとしてジョブの待ち行列に穴を残しますが、ありがたいことに、quirrelは、自己ホストされたインスタンスに切り替えることができるオープンソースにとどまるでしょう.
私は、両方のために私自身の自慢したQuirrelインスタンスを走らせていましたShellphone and Remixtape on Fly.io そして、このブログのポストはここであなたを助けるためです.
このガイドでは、私は設定を超えて行くことはありませんflyctl nor using Quirrel 彼らのそれぞれのドキュメンテーションがそれより私のより良い仕事をするので.
TLドクター redisの配備 クルクルを展開する あなたのアプリケーションのキルのトークンを生成する 展開ファイルや命令はthis repository .
REDISの配備
まず、次のDockerfileとシェルスクリプトで展開されるFlyアプリを設定します
リスを展開する
次の手順は、次のようにリスを展開することです
あなたのquirrelインスタンスにアプリを接続します
最後のステップは、あなたの新たに配備されたリスのインスタンスにあなたのアプリケーションを接続することです.まず、あなたのインスタンスからquirrelトークンを取得しましょう.あなたのインスタンスのパブリックURLをFly dashboard . あなたのアプリケーションのためにこのコマンドから返されたトークンを保存してください、我々は次のステップのためにそれを必要とするつもりです.
ボーナス使用ui.quirrel.dev
Kirrelは、任意のquirrelインスタンスに接続することができますキューのジョブを監視できるように開発UIを提供します.パブリックバージョンはui.quirrel.dev しかし、あなたのQuirrelインスタンスのパブリックURLもこの開発UIをホストします!
あなたの自己ホストされたQuirrelインスタンスに接続するには、接続モードを開くためにヘッダーのQuirrelロゴの横のドロップダウンメニューをクリックしてください.
あなたのインスタンスの公開URL、アプリケーションのトークン、およびあなたが以前に生成されたリスパスフレーズを入力します.モードは次のようになります.
お気軽に再生するには、仕事をキューに、それがリアルタイムでこの開発UIで表示されます参照してください.
クロージングノート
おめでとう、あなたはそれをやった!あなたはRedisインスタンス、quirrelインスタンスを展開して、あなたの自己アプリケーションを使用してあなたの自己生産のアプリケーションを設定しました.
サイモンにソフトウェアのこのクールな作品を構築するために叫ぶ!私は、これがセルフホスティングへのユーザーリス移行を助けることを望みます.
あなたの次のsaasを構築するためにヘッドスタートを取得しますか?仕事中ですRemixtape , モダンリミックス💿 より良いウェブサイトを構築するために必要なすべてが含まれています.バックグラウンドジョブ、認証、アカウント管理、セッション、サブスクリプションの支払い、チーム、トランザクションメールのような標準的な機能を実装します.😮💨 それはあなたが今日の偉大なWebアプリを構築するために必要な固体の基礎を与えるとスケール明日.
ホストサービスquirrel.dev 今年後半に廃止され、新しいサインアップを中止しました.これはサービスのニッチとしてジョブの待ち行列に穴を残しますが、ありがたいことに、quirrelは、自己ホストされたインスタンスに切り替えることができるオープンソースにとどまるでしょう.
私は、両方のために私自身の自慢したQuirrelインスタンスを走らせていましたShellphone and Remixtape on Fly.io そして、このブログのポストはここであなたを助けるためです.
このガイドでは、私は設定を超えて行くことはありませんflyctl nor using Quirrel 彼らのそれぞれのドキュメンテーションがそれより私のより良い仕事をするので.
TLドクター
REDISの配備
まず、次のDockerfileとシェルスクリプトで展開されるFlyアプリを設定します
start-redis-server.sh
. スクリプトでは、リスに必要な永続的なストレージでREDISを開始します.FROM redis:alpine
ADD start-redis-server.sh /usr/bin/
RUN chmod +x /usr/bin/start-redis-server.sh
CMD ["start-redis-server.sh"]
#!/bin/sh
sysctl vm.overcommit_memory=1
sysctl net.core.somaxconn=1024
redis-server --requirepass $REDIS_PASSWORD --dir /data/ --appendonly yes
次に、次のようにあなたのRedisインスタンスをホストするフライアプリを初期化しますfly.toml
ファイル.参照redis_data
ストレージストレージボリュームはまだ永続的なストレージに必要な作成されていません.app = "quirrel-redis"
[[mounts]]
destination = "/data"
source = "redis_data"
flyctl launch --name quirrel-redis --no-deploy --copy-config
そのフライはあなたのRedisアプリを知っている今、ストレージボリュームを展開しましょう.REDISインスタンスと同じ領域に展開することをお勧めします.私の場合はCDG
パリ、フランス.flyctl volumes create redis_data --region cdg
安全なredis強いランダムなパスワードで.通常使用openssl
この種のパスワードを生成します.どこか安全に保つ、我々は後でリスを展開する必要があります.openssl rand -hex 16 # copy its output
# you can use this alternative below if you can't use openssl
# node -e "console.log(crypto.randomBytes(16).toString('hex'))"
flyctl secrets set REDIS_PASSWORD=paste_redis_password_here
ここでREDISを展開できます.flyctl deploy
リスを展開する
次の手順は、次のようにリスを展開することです
fly.toml
ファイル.これは、2012年に公開されたキリスドッカーイメージを使用していますQuirrel's GitHub container registry .app = "quirrel"
[build]
image = "ghcr.io/quirrel-dev/quirrel:main"
[[services]]
internal_port = 9181
protocol = "tcp"
[services.concurrency]
hard_limit = 25
soft_limit = 20
type = "connections"
[[services.http_checks]]
interval = "10s"
method = "get"
path = "/health"
protocol = "http"
timeout = "2s"
[[services.ports]]
handlers = ["http"]
port = 80
[[services.ports]]
handlers = ["tls", "http"]
port = 443
flyctl launch --name quirrel --no-deploy --copy-config
そのフライはあなたのクルルのアプリについて知っている今、それは環境変数を設定する時間です.Redisのパスワードのようにopenssl
を生成する.openssl rand -hex 16 # copy its output
# you can use this alternative below if you can't use openssl
# node -e "console.log(crypto.randomBytes(16).toString('hex'))"
flyctl secrets set PASSPHRASES=paste_quirrel_passphrase_here
その後、我々はRedisインスタンスに接続するためにクレールリを指示する必要があります、それはRedisのパスワードが以前に保存使用する時間です!我々は我々のフライアプリの.internal address このようにフォーマットされます{region}.{appName}.internal
. フライサーバはIPv 6のみを使用するので、?family=6
READISにIPv 6経由で接続する.flyctl secrets set "REDIS_URL=redis://:[email protected]:6379?family=6"
そして今、我々はクルクルを展開することができます.flyctl deploy
あなたのquirrelインスタンスにアプリを接続します
最後のステップは、あなたの新たに配備されたリスのインスタンスにあなたのアプリケーションを接続することです.まず、あなたのインスタンスからquirrelトークンを取得しましょう.あなたのインスタンスのパブリックURLをFly dashboard . あなたのアプリケーションのためにこのコマンドから返されたトークンを保存してください、我々は次のステップのためにそれを必要とするつもりです.
curl --user ignored:paste_quirrel_passphrase_here -X PUT https://quirrel.fly.dev/tokens/exampleapp
最後に、次の環境変数を使用してアプリケーションを構成して配置します.QUIRREL_API_URL=https://quirrel.fly.dev # your Quirrel instance's public URL
QUIRREL_TOKEN=paste_quirrel_token_here # your Quirrel token previously generated
QUIRREL_BASE_URL=www.exampleapp.com # your app's URL
ボーナス使用ui.quirrel.dev
Kirrelは、任意のquirrelインスタンスに接続することができますキューのジョブを監視できるように開発UIを提供します.パブリックバージョンはui.quirrel.dev しかし、あなたのQuirrelインスタンスのパブリックURLもこの開発UIをホストします!
あなたの自己ホストされたQuirrelインスタンスに接続するには、接続モードを開くためにヘッダーのQuirrelロゴの横のドロップダウンメニューをクリックしてください.
あなたのインスタンスの公開URL、アプリケーションのトークン、およびあなたが以前に生成されたリスパスフレーズを入力します.モードは次のようになります.
お気軽に再生するには、仕事をキューに、それがリアルタイムでこの開発UIで表示されます参照してください.
クロージングノート
おめでとう、あなたはそれをやった!あなたはRedisインスタンス、quirrelインスタンスを展開して、あなたの自己アプリケーションを使用してあなたの自己生産のアプリケーションを設定しました.
サイモンにソフトウェアのこのクールな作品を構築するために叫ぶ!私は、これがセルフホスティングへのユーザーリス移行を助けることを望みます.
あなたの次のsaasを構築するためにヘッドスタートを取得しますか?仕事中ですRemixtape , モダンリミックス💿 より良いウェブサイトを構築するために必要なすべてが含まれています.バックグラウンドジョブ、認証、アカウント管理、セッション、サブスクリプションの支払い、チーム、トランザクションメールのような標準的な機能を実装します.😮💨 それはあなたが今日の偉大なWebアプリを構築するために必要な固体の基礎を与えるとスケール明日.
Reference
この問題について(自己ホスティング), 我々は、より多くの情報をここで見つけました https://dev.to/remixtape/self-hosting-quirrel-5af7テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol