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

233 lines
5.4 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 サーバー設定手順
現在の状態:
- ディレクトリ: `/home/windmill/windmill`
- Giteaから正常にpull完了
## ステップ1: docker-compose.yml の置き換え
```bash
cd /home/windmill/windmill
# 現在のファイルをバックアップ
cp docker-compose.yml docker-compose.yml.local.backup
# 新しいdocker-compose.ymlを作成
# (ダウンロードしたファイルの内容をコピー)
nano docker-compose.yml
```
または、ローカルで修正してgit pushする方法
```bash
# ローカルで
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 ファイルの確認
```bash
cd /home/windmill/windmill
# .envファイルを編集
nano .env
```
以下の内容を確認・修正:
```bash
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ネットワークの確認
```bash
# traefik-netネットワークが存在するか確認
docker network ls | grep traefik-net
# もし存在しない場合は作成
docker network create traefik-net
```
## ステップ4: Caddyファイルの削除不要
```bash
cd /home/windmill/windmill
# Caddyfileは不要Traefikを使用
rm Caddyfile # または mv Caddyfile Caddyfile.bak
```
## ステップ5: sync_to_git.sh の更新
```bash
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推奨
```bash
cd /home/windmill/windmill
# 認証情報を保存
git config credential.helper store
# 一度手動でpushパスワード/トークンを入力)
git push origin main
# Username: akira
# Password: <Gitea access token>
# 以降は認証情報が保存されている
```
### 方法B: SSH鍵より安全
```bash
# 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の起動
```bash
cd /home/windmill/windmill
# コンテナを起動
docker-compose up -d
# ログを確認
docker-compose logs -f windmill_server
# 状態確認
docker-compose ps
```
## ステップ8: 動作確認
```bash
# 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スクリプトを作成
```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 ==="
```
3. Schedule → New Schedule
- Cron: `*/15 * * * *` (15分ごと)
- Script: 上記で作成したスクリプト
4. Variables → New Variable
- `WM_TOKEN`: Windmill APIトークンSettings → Tokensで作成
## トラブルシューティング
### Traefikでアクセスできない
```bash
# Traefikのログ確認
docker logs traefik
# windmill_serverがtraefik-netに接続されているか
docker network inspect traefik-net | grep windmill
```
### データベース接続エラー
```bash
# DBの状態確認
docker-compose ps db
docker-compose logs db
# 再起動
docker-compose restart db
```
### Gitプッシュが失敗する
```bash
# 認証情報の確認
cd /home/windmill/windmill
git remote -v
git config --list | grep credential
# 手動でテスト
git push origin main
```
## 重要なコマンド
```bash
# 再起動
docker-compose restart
# ログ確認
docker-compose logs -f
# 停止
docker-compose down
# 完全削除(データも削除)
docker-compose down -v
```
## セキュリティチェック
- [ ] `.env` のパスワードを変更
- [ ] Windmill管理者に強力なパスワード設定
- [ ] Git認証をSSH鍵またはcredential helperで設定
- [ ] Traefik Basic認証の追加検討必要に応じて