Files
windmill/SERVER_SETUP.md
Akira 53f84e2647 スクリーンショットを確認しました。
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から直接スクリプトを編集しても大丈夫です。
2026-02-19 15:45:18 +09:00

4.0 KiB
Raw Blame History

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=disable
  • POSTGRES_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トークンの取得

  1. ブラウザで https://windmill.keinafarm.net にログイン
  2. 左下の SettingsAccount をクリック
  3. Tokens セクションで Create token をクリック
  4. Label例: git-sync)を入力し、作成
  5. 表示されたトークンをコピーしておく

4-2. ワークフロー定義の取り込み(初回のみ)

リポジトリの workflows/ ディレクトリにある定義ファイルをWindmill DBに取り込みます。 wmill.yamlworkflows/ 内にあるため、コンテナ内では /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 TokenSettings -> 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