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

111 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Windmill サーバー設定手順 (VPS移行版)
本番環境VPSへのデプロイ手順です。
既にTraefikが稼働している環境`traefik-net` ネットワークが存在する環境)を前提としています。
## 前提条件
- サーバー上でTraefikが稼働しており、`traefik-net` ネットワークが存在すること。
- ドメイン `windmill.keinafarm.net` がサーバーのIPに向けられていること。
## ステップ1: リポジトリの準備
サーバー上の任意の場所(例: `/home/windmill/windmill`)にリポジトリをクローンします。
**重要**: WindmillのGit同期機能を使用するため、このディレクトリパスは重要です。
```bash
mkdir -p /home/windmill
cd /home/windmill
git clone https://gitea.keinafarm.net/akira/windmill.git windmill
cd windmill
```
## ステップ2: 環境変数の設定
`.env` ファイルを作成し、本番用の設定を行います。
```bash
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連携済み
```bash
docker-compose up -d
```
## ステップ4: Git同期用ワークフローのセットアップ
Windmill上で「登録されたワークフローをGitに保存する」機能を有効にする手順です。
### 4-1. Windmill APIトークンの取得
1. ブラウザで `https://windmill.keinafarm.net` にログイン
2. 左下の **Settings****Account** をクリック
3. **Tokens** セクションで **Create token** をクリック
4. Label例: `git-sync`)を入力し、作成
5. 表示されたトークンをコピーしておく
### 4-2. ワークフロー定義の取り込み(初回のみ)
リポジトリの `workflows/` ディレクトリにある定義ファイルをWindmill DBに取り込みます。
`wmill.yaml``workflows/` 内にあるため、コンテナ内では `/workspace/workflows` で実行します。
```bash
# 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を設定します。
```bash
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` を使用します:
```bash
docker-compose -f docker-compose-dev.yml up -d
```
### ログ確認
```bash
docker-compose logs -f
```