Files
windmill/SERVER_SETUP.md
2026-02-13 10:42:01 +00:00

5.4 KiB
Raw Blame History

Windmill サーバー設定手順

現在の状態:

  • ディレクトリ: /home/windmill/windmill
  • Giteaから正常にpull完了

ステップ1: docker-compose.yml の置き換え

cd /home/windmill/windmill

# 現在のファイルをバックアップ
cp docker-compose.yml docker-compose.yml.local.backup

# 新しいdocker-compose.ymlを作成
# (ダウンロードしたファイルの内容をコピー)
nano docker-compose.yml

または、ローカルで修正してgit pushする方法

# ローカルで
cd /home/akira/develop/windmill
cp /path/to/downloaded/docker-compose.yml .
git add docker-compose.yml
git commit -m "Update docker-compose.yml for server deployment"
git push gitea main

# サーバーで
cd /home/windmill/windmill
git pull origin main

ステップ2: .env ファイルの確認

cd /home/windmill/windmill

# .envファイルを編集
nano .env

以下の内容を確認・修正:

WM_IMAGE=ghcr.io/windmill-labs/windmill:main
DATABASE_URL=postgresql://postgres:YOUR_STRONG_PASSWORD@db:5432/windmill
LOG_MAX_SIZE=20m
LOG_MAX_FILE=10

⚠️ 重要: YOUR_STRONG_PASSWORD を強力なパスワードに変更してください

ステップ3: Traefikネットワークの確認

# traefik-netネットワークが存在するか確認
docker network ls | grep traefik-net

# もし存在しない場合は作成
docker network create traefik-net

ステップ4: Caddyファイルの削除不要

cd /home/windmill/windmill

# Caddyfileは不要Traefikを使用
rm Caddyfile  # または mv Caddyfile Caddyfile.bak

ステップ5: sync_to_git.sh の更新

cd /home/windmill/windmill

# 既存のsync_to_git.shを新しいバージョンに置き換え
nano sync_to_git.sh
# (ダウンロードした内容をコピー)

chmod +x sync_to_git.sh

ステップ6: Git認証情報の設定

プッシュ時に認証が必要な場合、以下のいずれかを設定:

方法A: Git Credential Helper推奨

cd /home/windmill/windmill

# 認証情報を保存
git config credential.helper store

# 一度手動でpushパスワード/トークンを入力)
git push origin main
# Username: akira
# Password: <Gitea access token>

# 以降は認証情報が保存されている

方法B: SSH鍵より安全

# SSH鍵を生成
ssh-keygen -t ed25519 -C "windmill@keinafarm.net"

# 公開鍵をGiteaに登録
cat ~/.ssh/id_ed25519.pub
# Gitea → Settings → SSH/GPG Keys → Add Key

# リモートURLをSSHに変更
cd /home/windmill/windmill
git remote set-url origin git@gitea.keinafarm.net:akira/windmil.git

ステップ7: Windmillの起動

cd /home/windmill/windmill

# コンテナを起動
docker-compose up -d

# ログを確認
docker-compose logs -f windmill_server

# 状態確認
docker-compose ps

ステップ8: 動作確認

# APIバージョンチェック
curl -k https://windmill.keinafarm.net/api/version

# ブラウザでアクセス
# https://windmill.keinafarm.net

ステップ9: Windmill初期設定

  1. ブラウザで https://windmill.keinafarm.net にアクセス
  2. 初回セットアップウィザードに従う
  3. 管理者アカウントを作成
  4. Workspaceを作成例: admins

ステップ10: Git同期スクリプトの設定Windmill内

  1. Windmill UI → Scripts → New Script
  2. 以下の内容でBashスクリプトを作成
#!/bin/bash
set -x
export WM_BASE_URL="http://windmill_server:8000"
export WM_WORKSPACE="admins"  # あなたのworkspace名に変更
export PATH=$HOME/.npm-global/bin:$PATH

echo "=== START SYNC ==="

if ! command -v wmill &> /dev/null; then
  npm install -g windmill-cli
fi

cd /workspace

wmill sync pull --token "$WM_TOKEN" --base-url "$WM_BASE_URL" --workspace "$WM_WORKSPACE" --skip-variables --skip-secrets --skip-resources --yes --verbose || exit 1

git config --global --add safe.directory /workspace
git config --global user.email "bot@example.com"
git config --global user.name "Bot"

git add .
git commit -m "Auto-sync $(date)" || echo "No changes"
git push origin main

echo "=== END SYNC ==="
  1. Schedule → New Schedule

    • Cron: */15 * * * * (15分ごと)
    • Script: 上記で作成したスクリプト
  2. Variables → New Variable

    • WM_TOKEN: Windmill APIトークンSettings → Tokensで作成

トラブルシューティング

Traefikでアクセスできない

# Traefikのログ確認
docker logs traefik

# windmill_serverがtraefik-netに接続されているか
docker network inspect traefik-net | grep windmill

データベース接続エラー

# DBの状態確認
docker-compose ps db
docker-compose logs db

# 再起動
docker-compose restart db

Gitプッシュが失敗する

# 認証情報の確認
cd /home/windmill/windmill
git remote -v
git config --list | grep credential

# 手動でテスト
git push origin main

重要なコマンド

# 再起動
docker-compose restart

# ログ確認
docker-compose logs -f

# 停止
docker-compose down

# 完全削除(データも削除)
docker-compose down -v

セキュリティチェック

  • .env のパスワードを変更
  • Windmill管理者に強力なパスワード設定
  • Git認証をSSH鍵またはcredential helperで設定
  • Traefik Basic認証の追加検討必要に応じて