自分たちで運営する、イベントの寄合所


← 使い方

サイトオーナー向けガイド

自分の Yorox インスタンスを建てて、コミュニティのイベント基盤を運営する方向けの ガイドです。

構成

Yorox は2つの動かし方があります。手軽なのは Docker で、 1コンテナ(SQLite にデータを保存)で完結します — 自分のサーバーで運営するの4ステップガイドを用意しています。もう1つは Cloudflare Workers 上での 運用で、次のサービスを使います:

  • Workers — アプリ本体(+先着枠を直列化する Durable Objects)
  • D1 — データベース
  • R2 — 画像などのファイル置き場(任意)
  • Cron Triggers — 抽選の自動実行・通知メールの配信

Docker 版では D1 の代わりに SQLite、R2 の代わりにローカルファイル、Cron Triggers の代わりに内蔵の定期実行が使われます(設定は同じ環境変数)。

セットアップの流れ

  1. リポジトリを取得し、依存をインストール(pnpm install)
  2. wrangler d1 create でデータベースを作成し、wrangler.jsonc に ID を設定
  3. マイグレーションを適用(pnpm db:migrate:remote)
  4. ファイルアップロードを使う場合は wrangler r2 bucket create
  5. メール送信のシークレットを設定(下記)
  6. pnpm deploy でデプロイ

詳細な手順はリポジトリの README と docs/ を参照してください。

インスタンス設定

主な設定(環境変数 / シークレット):

  • メール — MAIL_FROM と、Resend(RESEND_API_KEY)/ SMTP (SMTP_HOST 等。Gmail はアプリパスワードで利用可)/ Cloudflare Email Service(MAIL_TRANSPORT=cloudflare)のいずれか。送信レートは MAIL_RATE_PER_MINUTE / PER_HOUR で制御できます
  • ファイルアップロード — FILE_UPLOADS=1 で有効化、 MAX_UPLOAD_MB で容量上限
  • ソーシャルログイン(任意) — GitHub / Google / Discord の OAuth アプリを登録すると、ログイン画面にボタンが出ます (○○_CLIENT_ID / _SECRET)
  • カード決済(任意) — Stripe(STRIPE_SECRET_KEY 等)を 設定すると、各グループが自分の Stripe アカウントを連携してカード事前 決済を受け付けられます

見た目のカスタマイズ

UI はデザイントークン(CSS カスタムプロパティ)だけで全面的に着せ替えられます。 色・フォント・角丸などを自分のコミュニティの雰囲気に合わせてください。 方法はリポジトリの docs/THEMING.md にまとまっています。

運営者の責任

  • アカウント登録の窓口とユーザーサポート
  • 通報対応(イベント内の問題は主催へ、主催自体の問題は管理者へ)
  • データのバックアップとプライバシーの管理

分散型の世界では、インスタンスがひとつのコミュニティです。 小さく始めて、自分たちのペースで育てていきましょう。