AQUACUT — システム構成図

どこで何が動いていて、誰が触れるか

時点 2026-09-17 読み方 小林=こちらが持つもの 小島=小島が持つもの。 / 仕事の流れは 動画制作フロー図

本番は VPS 1台で完結します。 素材の取り込みも、下書きの自動生成も、書き出しも、画面の配信も、すべてこの中で動きます。 小林の Mac にあるのは同じアプリのローカル環境(開発と試作用)で、データは本番とは別です。
同じサーバーの中で担当が分かれています。編集画面と API はこちら、 AP社のコンソール(/console/)と SNS受信箱(/sns/)は小島です。 互いの領域へ配ってはいけません(下の「触ってはいけないところ」)。

① 本番 VPS — ここが本体

本番サーバー(Ubuntu・ffmpeg 直置き。Docker は使わない) 入口に認証あり
編集画面 小林 React。タイムライン・コントロールパネル・素材ビン。AP社が「修正する」を押すと開くのもこの画面
API 小林 Hono。取り込み・下書き生成・書き出し・納品の受け口
engine(自動編集) ComposerSpec から Composition を組む。構成案の型(告知・体験・案内・UGC紹介)を engine 側のテンプレに割り当てる(案内とUGC紹介は同じテンプレ)。素材は色相で自動選択
ffmpeg / ffprobe proxy・poster 生成、テロップ焼き込み、連結、音量そろえ
データ置き場 プロジェクト/Composition/素材/書き出し/納品。本番のデータはここにあります(Mac のローカルとは別)
バックアップ 台帳と設定は毎日30世代、素材の原本は毎日14世代。
⚠️ 保存先は同じサーバーの中だけです(外部保管はまだありません)
/console/ 小島 AP社が見るコンソール(投稿画面・素材管理・ターゲット設定)。2026-09-15 に小島へ移管。 配信しているのはこちらのサービスで、ファイルを置くのが小島です
/sns/ 小島 クチコミ・コメント返信の受信箱。動画制作とは別系統で、投稿の仕組みはここにもありません
URL中身持ち主配り方
編集画面(ルート)React の編集画面小林配備スクリプトで配る
/api/*API小林同上
/files/*素材・書き出しの配信小林同上
/console/AP社のコンソール小島小島が配る(古いファイルを消す形で同期)
/sns/SNS受信箱小島小島

② 小林の Mac — 開発と試作

ローカル環境 小林 ~/Applications/AQUACUT.app で立ち上がる
web(画面)Vite : 5174本番と同じ編集画面
api(サーバー)Hono : 3210本番と同じ API
監督スクリプト app/scripts/aquacut-server-supervisor.sh。落ちたら自動で戻す
データ台帳を日次でバックアップ(素材は含まない)。本番のデータとは別物

試作時のレンダー実測は 30秒の動画で 44.4秒(高速化前は395秒)。これは Mac ローカルの値で、本番VPSでの実測は取っていません。

③ アプリの中身

shared型の定義。他の3つが参照する
serverHono の API
webVite + React の編集画面
engine自動編集。テンプレから Composition を組む

主な API:下書きの生成が POST /api/composer/drafts、 動画の書き出しが POST /api/jobskind: render)→ GET /api/jobs/:id/download、 AP社の承認まわりが /api/console/deliveries/:id/approvereopen(承認の取り消し)・rerender(再書き出し)。 テストは server 604/engine 183/web 206/e2e 134(2026-09-12 時点)。

④ 担当と権限の境界

ユーザーできることサーバー管理権限備考
サービス実行用編集画面・API・素材の配信なしこちらの領域
配備用(小島)/console//sns/ にファイルを置くなし小島用に新設。置ける場所を限定してあります
管理者サーバー管理全般あり小林のみ。配備用の鍵はここに置きません
配備用のユーザーは、サーバー管理権限を持ちません。 管理者の鍵に相乗りする形は、実質すべての権限を渡すことになるので採りません。 鍵の本人確認は、小林が以前から知っている指紋を Slack・電話で突き合わせて行いました。
その代わり、サーバーの設定ファイルは配備用ユーザーからは編集できません。 /sns/ を通すための設定は小林側で入れました。 以後、配信設定の変更が要るときは小林までご連絡ください。

AP社(修正担当=reviser)にできること

操作可否備考
動画を見る・直す(編集画面を開く)投稿画面の「修正する」から開く
再書き出し(rerender直した内容でその場で書き出せる
承認(approve)・承認の取り消し(reopen承認した版が FIX 版
素材のアップロード・フォルダ整理コンソールの「素材管理」から
構成案の下書き生成ターゲット設定の画面から
一覧から片付ける(アーカイブ)消えるのは一覧からだけ。「アーカイブ」からいつでも戻せます(2026-09-10 小林裁定「消せるのはみんな、ただし論理削除」)
完全に削除する・素材/フォルダ/プロジェクトの削除×戻せない操作はできません
プロジェクトの作成・更新×小林側で用意します
投稿画面への新規掲載×同上

見えるのは自分のテナントのものだけです。

触ってはいけないところ

1. /console/ へこちらから配らない
2. 640 で書かない
3. 「200 が返った」を開通の証拠にしない

Cloudflare の扱い

状態理由
本番を Cloudflare に置く中止(2026-09-05)有料プランが必須になるため。本番は VPS に置いています
資料用のUIデモ別に用意モックでビルドしたもの。本番のデータは入っていません
この資料Pages で配信静的ページのみ。アプリとは無関係です

まだ配線されていないところ

箇所状態詳しく
構成案の入力口未接続画面と契約(ComposerSpec)はあるが繋がっていない。渡し方・週の本数・締切を小島と調整中(2026-09-13〜)
投稿連携未接続publish は状態変更のみ。pull 型を検討中。いまのドメインで TikTok の所有権確認が通るかは未確認
FIX版学習設計中docs/learning/LEARNING_DESIGN.md(v2)。2026-09-13 に「FIX版=AP社の承認版」と前提が変わったため改訂を止めている
同時編集の保護未着手2人が同じプロジェクトを同時に開いたときの扱い(2026-09-15 起票)