test_git_sync.py に IndentationError(インデントエラー) があります。ファイルを確認します。 Analyzed test_git_sync.py#L1-4 3行目の return のインデントが print より深くなっています。修正します。 Edited test_git_sync.py +1 -2 修正しました。return のインデントが print と揃っていなかったのが原因です。 ローカルからGiteaにプッシュして、サーバー側で git pull した後、Windmill上で再度テストを実行してみてください: bash git add . git commit -m "Fix indentation in test_git_sync.py" git push origin main その後、サーバーのコンテナ内(またはホスト側)で再度 wmill sync push するか、Windmill UIから直接スクリプトを編集しても大丈夫です。
4.0 KiB
4.0 KiB
Windmill サーバー設定手順 (VPS移行版)
本番環境(VPS)へのデプロイ手順です。
既にTraefikが稼働している環境(traefik-net ネットワークが存在する環境)を前提としています。
前提条件
- サーバー上でTraefikが稼働しており、
traefik-netネットワークが存在すること。 - ドメイン
windmill.keinafarm.netがサーバーのIPに向けられていること。
ステップ1: リポジトリの準備
サーバー上の任意の場所(例: /home/windmill/windmill)にリポジトリをクローンします。
重要: WindmillのGit同期機能を使用するため、このディレクトリパスは重要です。
mkdir -p /home/windmill
cd /home/windmill
git clone https://gitea.keinafarm.net/akira/windmill.git windmill
cd windmill
ステップ2: 環境変数の設定
.env ファイルを作成し、本番用の設定を行います。
cp .env .env.production
nano .env
以下の内容を確認・修正してください:
DATABASE_URL:postgres://postgres:あなたの強力なパスワード@db/windmill?sslmode=disablePOSTGRES_PASSWORD: 上記と同じパスワードWM_IMAGE:ghcr.io/windmill-labs/windmill:main
ステップ3: 起動
docker-compose.yml は本番用に構成されています(Traefik連携済み)。
docker-compose up -d
ステップ4: Git同期用ワークフローのセットアップ
Windmill上で「登録されたワークフローをGitに保存する」機能を有効にする手順です。
4-1. Windmill APIトークンの取得
- ブラウザで
https://windmill.keinafarm.netにログイン - 左下の Settings → Account をクリック
- Tokens セクションで Create token をクリック
- Label(例:
git-sync)を入力し、作成 - 表示されたトークンをコピーしておく
4-2. ワークフロー定義の取り込み(初回のみ)
リポジトリの workflows/ ディレクトリにある定義ファイルをWindmill DBに取り込みます。
wmill.yaml は workflows/ 内にあるため、コンテナ内では /workspace/workflows で実行します。
# Windmillサーバーコンテナに入る
docker exec -it windmill_server /bin/bash
# コンテナ内で実行:windmill-cli をインストール
npm install -g windmill-cli
# workflowsディレクトリに移動して sync push
cd /workspace/workflows
wmill sync push \
--token "<4-1で取得したトークン>" \
--base-url "http://localhost:8000" \
--workspace admins \
--yes
exit
※ admins ワークスペースが存在しない場合は、GUIで先に作成してください。
4-3. 認証情報の準備
Gitへのプッシュを行うため、Giteaのアクセストークンを含むリモートURLを設定します。
cd /home/windmill/windmill
# Giteaのアクセストークンを含んだURLを設定(git pushのため)
git remote set-url origin https://<username>:<token>@gitea.keinafarm.net/akira/windmill.git
※ <username> と <token> は適切なものに置き換えてください。
4-4. Variableの設定
WindmillのWeb画面(Variables)で、以下の変数を設定します。
- WM_TOKEN: WindmillのService Token(Settings -> Tokensで作成)。
Sync権限が必要です。 - WM_WORKSPACE:
admins(または使用しているワークスペース名)
4-5. スケジュール実行の確認
git_sync フローが登録され、スケジュール設定(git_sync.schedule.yaml)も取り込まれていれば、自動的に同期が開始されます。Runsページで実行ログを確認してください。
トラブルシューティング
開発環境(ローカル)での起動
ローカルで起動する場合は、リネームされた docker-compose-dev.yml を使用します:
docker-compose -f docker-compose-dev.yml up -d
ログ確認
docker-compose logs -f