最初に確認してもらうこと
| 項目 | 確認内容 | 目安・判断 |
|---|---|---|
| OS | Windowsで構築するか、Linux/WSL/クラウドで構築するか。 | この資料はWindowsローカル構築を主想定。Linuxでも可能だがコマンドを読み替える。 |
| 空きディスク | コード、DB、画像、dump、作業領域を置くドライブの空き容量。 | 画像込みなら最低60GB、余裕を見るなら80GB以上。画像を後回しにするなら30GB前後でも開始可能。 |
| メモリ | 搭載メモリと他アプリの同時利用状況。 | 16GBなら通常画面、DB参照、軽いCatBoost予測は現実的。大きめの再学習は時間がかかる。 |
| GPU | GPUメモリ、CUDA利用可否。 | GPU 1GBでは画像特徴量抽出や深層学習は期待しない。CLIP等の重い処理はサーバ・DOK・別PCに逃がす前提。 |
| PostgreSQL | PostgreSQL 16をインストールできるか。ポート5432を使えるか。 | ローカルDBはPostgreSQL 16推奨。既存DBがある場合はDB名を分ける。 |
| Python | Python 3.13系または納品版のrequirementsを満たすPythonを使えるか。 | Windowsではvenvを作成して依存関係を閉じ込める。 |
| ネットワーク | 共有サーバのGitea、SSH/SCP/rsyncへ接続できるか。 | 画像32GBを同期する場合、回線によっては数時間かかる。途中再開できるrsync推奨。 |
| 用途 | 閲覧中心か、最新取込・予測まで実行するか、モデル再学習まで行うか。 | 閲覧中心なら軽量。再学習や画像特徴量更新まで行うならCPU時間、メモリ、外部バッチ設計が必要。 |
現在の共有サーバ上の目安容量
納品版コード
約908MB
docs、スクリプト、一部サンプル画像を含む。
納品版DB
約11GB
PostgreSQL上での論理サイズ。dumpは圧縮形式のためこれより小さくなる見込み。
画像ディレクトリ
約32GB
/data/dataTARGET。オークション写真、セール写真など。
full版DB退避dump
約3.7GB
/data/backups/keiba_full_20260624.dump。復旧・参照用。ローカルにDB dumpとrestore後DBの両方が一時的に存在します。画像も取得する場合は、空き容量60GBを下回る環境では途中で詰まりやすいです。
取得対象
| 対象 | 場所 | 扱い |
|---|---|---|
| 納品版コード | http://100.123.116.45:3000/chita256/keiba.git の keiba-jp-delivery ブランチ |
クライアント側でcloneする。 |
| 納品版DB | 共有サーバPostgreSQLの現在の keiba DB |
共有サーバ上でdumpを作り、クライアント側へ取得してrestoreする。 |
| 画像 | ubuntu@59.106.215.106:/data/dataTARGET |
必要に応じてrsync/scp。初回は重いので後回しでもよい。 |
| full版 | コードは /srv/keiba、DB dumpは /data/backups/keiba_full_20260624.dump |
納品版とは別。必要時の参照・復旧用。 |
共有サーバ側で納品版DB dumpを作る
クライアント側が取得する直前に、共有サーバ上で現在の納品版DBからdumpを作成します。
ssh ubuntu@59.106.215.106
sudo docker exec -e PGPASSWORD=keiba keiba-infra-postgres-1 \
pg_dump -U keiba -d keiba -Fc -f /tmp/keiba_jp_delivery_latest.dump
sudo docker cp \
keiba-infra-postgres-1:/tmp/keiba_jp_delivery_latest.dump \
/data/backups/keiba_jp_delivery_latest.dump
sudo docker exec keiba-infra-postgres-1 rm -f /tmp/keiba_jp_delivery_latest.dump
ls -lh /data/backups/keiba_jp_delivery_latest.dump
sha256sum /data/backups/keiba_jp_delivery_latest.dump
共有サーバの空き容量が少ない場合は、既存の不要な一時dumpを削除してから作成してください。full版dumpは残す前提です。
クライアント側の標準セットアップ
1. コード取得
cd D:\coconara
git clone -b keiba-jp-delivery http://100.123.116.45:3000/chita256/keiba.git keiba-jp
cd D:\coconara\keiba-jp
2. Python仮想環境
py -m venv .venv-win
.\.venv-win\Scripts\python.exe -m pip install --upgrade pip
.\.venv-win\Scripts\python.exe -m pip install -r requirements.txt
モデル作成・評価・一部の予測まで行う場合は、追加でML系依存も入れます。
.\.venv-win\Scripts\python.exe -m pip install -r requirements-ml.txt
3. .env作成
Copy-Item .env.example .env
例:
DJANGO_DEBUG=1
DJANGO_ALLOWED_HOSTS=127.0.0.1,localhost
DJANGO_DB_ENGINE=django.db.backends.postgresql
DJANGO_DB_NAME=keiba_jp
DJANGO_DB_USER=keiba
DJANGO_DB_PASSWORD=keiba
DJANGO_DB_HOST=127.0.0.1
DJANGO_DB_PORT=5432
DATA_TARGET_ROOT=D:\coconara\keiba-jp\dataTARGET
4. DB作成とrestore
$env:PGPASSWORD = 'keiba'
& "C:\Program Files\PostgreSQL\16\bin\createdb.exe" `
-h 127.0.0.1 -U keiba -O keiba keiba_jp
& "C:\Program Files\PostgreSQL\16\bin\pg_restore.exe" `
-h 127.0.0.1 -U keiba -d keiba_jp `
--clean --if-exists --no-owner --no-acl `
D:\path\to\keiba_jp_delivery_latest.dump
5. 画像取得
画像まで表示したい場合は、共有サーバの /data/dataTARGET をローカルの DATA_TARGET_ROOT に同期します。
rsync -av --progress ubuntu@59.106.215.106:/data/dataTARGET/ D:/coconara/keiba-jp/dataTARGET/
Windows標準だけで行う場合は、SCPやWinSCPでも可。ただし32GB程度あるため、途中再開しやすい方法を推奨します。
6. 起動確認
.\.venv-win\Scripts\python.exe manage.py check
.\.venv-win\Scripts\python.exe manage.py migrate --check
.\.venv-win\Scripts\python.exe manage.py runserver 127.0.0.1:8000
確認URL:
http://127.0.0.1:8000/http://127.0.0.1:8000/owner-horse-search/http://127.0.0.1:8000/racehorses/157742/http://127.0.0.1:8000/docs/index.htmlhttp://127.0.0.1:8000/dataTARGET/auction_photos/10808/01.jpeg
GPU 1GB環境での運用方針
| 処理 | ローカル16GB/GPU 1GBでの扱い | 推奨 |
|---|---|---|
| 画面閲覧・検索 | 可能 | DBインデックスが効いているため通常利用は問題ない想定。 |
| 最新レース・競走馬取込 | 可能 | CPUとネットワーク中心。長時間処理はログを残す。 |
| CatBoost予測 | 軽めなら可能 | CPU実行前提。100試行など重いチューニングは避ける。 |
| 画像特徴量抽出 | 非推奨 | CLIP/DINO/ConvNeXt系はサーバ、DOK、別GPU環境で実行する。 |
| コメントembedding再生成 | 条件付き | 件数が多い場合はバッチ化し、再利用可能な結果をDBまたはファイルに保存。 |
| モデル再学習 | 小規模なら可能 | 納品版では既存モデル・既存特徴量を使い、必要時だけ再学習する運用が現実的。 |
クライアント側AIエージェントへの依頼文例
共有サーバからkeiba-jp納品版をローカルに構築してください。
前提:
- OSはWindowsです。
- PostgreSQL 16を使います。
- DB名は keiba_jp、ユーザー/パスワードは keiba/keiba です。
- コードは Gitea の keiba-jp-delivery ブランチから取得してください。
- DB dumpは共有サーバ上で /data/backups/keiba_jp_delivery_latest.dump を作成してから取得してください。
- 画像は /data/dataTARGET をローカルの DATA_TARGET_ROOT に同期してください。容量が厳しければ画像同期は後回しで構いません。
確認:
- manage.py check が通ること
- migrate --check が通ること
- runserverで /owner-horse-search/、/racehorses/157742/、/docs/index.html が開くこと
- 画像同期後に /dataTARGET/auction_photos/10808/01.jpeg が表示されること