Prepare for VPS migration: Create server specific docker-compose.yml and rename dev config
This commit is contained in:
253
SERVER_SETUP.md
253
SERVER_SETUP.md
@@ -1,233 +1,68 @@
|
|||||||
# Windmill サーバー設定手順
|
# Windmill サーバー設定手順 (VPS移行版)
|
||||||
|
|
||||||
現在の状態:
|
本番環境(VPS)へのデプロイ手順です。
|
||||||
- ディレクトリ: `/home/windmill/windmill`
|
既にTraefikが稼働している環境(`traefik-net` ネットワークが存在する環境)を前提としています。
|
||||||
- Giteaから正常にpull完了
|
|
||||||
|
## 前提条件
|
||||||
|
|
||||||
|
- サーバー上でTraefikが稼働しており、`traefik-net` ネットワークが存在すること。
|
||||||
|
- ドメイン `windmill.keinafarm.net` がサーバーのIPに向けられていること。
|
||||||
|
|
||||||
|
## ステップ1: リポジトリの準備
|
||||||
|
|
||||||
|
サーバー上の任意の場所(例: `/home/windmill/windmill`)にリポジトリをクローンします。
|
||||||
|
**重要**: WindmillのGit同期機能を使用するため、このディレクトリパスは重要です。
|
||||||
|
|
||||||
## ステップ1: docker-compose.yml の置き換え
|
|
||||||
```bash
|
```bash
|
||||||
cd /home/windmill/windmill
|
mkdir -p /home/windmill
|
||||||
|
cd /home/windmill
|
||||||
# 現在のファイルをバックアップ
|
git clone https://gitea.keinafarm.net/akira/windmill.git windmill
|
||||||
cp docker-compose.yml docker-compose.yml.local.backup
|
cd windmill
|
||||||
|
|
||||||
# 新しいdocker-compose.ymlを作成
|
|
||||||
# (ダウンロードしたファイルの内容をコピー)
|
|
||||||
nano docker-compose.yml
|
|
||||||
```
|
```
|
||||||
|
|
||||||
または、ローカルで修正してgit pushする方法:
|
## ステップ2: 環境変数の設定
|
||||||
|
|
||||||
|
`.env` ファイルを作成し、本番用の設定を行います。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# ローカルで
|
cp .env .env.production
|
||||||
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
|
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
|
```bash
|
||||||
WM_IMAGE=ghcr.io/windmill-labs/windmill:main
|
docker-compose up -d
|
||||||
DATABASE_URL=postgresql://postgres:YOUR_STRONG_PASSWORD@db:5432/windmill
|
|
||||||
LOG_MAX_SIZE=20m
|
|
||||||
LOG_MAX_FILE=10
|
|
||||||
```
|
```
|
||||||
|
|
||||||
⚠️ **重要**: `YOUR_STRONG_PASSWORD` を強力なパスワードに変更してください
|
## ステップ4: Git同期用ワークフローの確認
|
||||||
|
|
||||||
|
Windmill内でGit同期スクリプトを設定する場合、コンテナ内の `/workspace` はホスト側の `./` (つまり `/home/windmill/windmill`)にマウントされています。
|
||||||
|
これにより、Windmill内でのGit操作(コミット・プッシュ)がホスト側のリポジトリに対して行われます。
|
||||||
|
|
||||||
|
初期同期スクリプト(`sync_to_git.sh`)を使用する場合は、実行権限を与えてください:
|
||||||
|
|
||||||
## ステップ3: Traefikネットワークの確認
|
|
||||||
```bash
|
```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
|
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
|
ローカルで起動する場合は、リネームされた `docker-compose-dev.yml` を使用します:
|
||||||
# Traefikのログ確認
|
|
||||||
docker logs traefik
|
|
||||||
|
|
||||||
# windmill_serverがtraefik-netに接続されているか
|
```bash
|
||||||
docker network inspect traefik-net | grep windmill
|
docker-compose -f docker-compose-dev.yml up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
### データベース接続エラー
|
### ログ確認
|
||||||
```bash
|
```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 logs -f
|
||||||
|
```
|
||||||
# 停止
|
|
||||||
docker-compose down
|
|
||||||
|
|
||||||
# 完全削除(データも削除)
|
|
||||||
docker-compose down -v
|
|
||||||
```
|
|
||||||
|
|
||||||
## セキュリティチェック
|
|
||||||
|
|
||||||
- [ ] `.env` のパスワードを変更
|
|
||||||
- [ ] Windmill管理者に強力なパスワード設定
|
|
||||||
- [ ] Git認証をSSH鍵またはcredential helperで設定
|
|
||||||
- [ ] Traefik Basic認証の追加検討(必要に応じて)
|
|
||||||
182
docker-compose-dev.yml
Normal file
182
docker-compose-dev.yml
Normal file
@@ -0,0 +1,182 @@
|
|||||||
|
version: "3.9"
|
||||||
|
|
||||||
|
x-logging: &default-logging
|
||||||
|
driver: "json-file"
|
||||||
|
options:
|
||||||
|
max-size: "${LOG_MAX_SIZE:-20m}"
|
||||||
|
max-file: "${LOG_MAX_FILE:-10}"
|
||||||
|
compress: "true"
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik-net:
|
||||||
|
external: true # Traefik管理下のネットワーク
|
||||||
|
windmill-internal:
|
||||||
|
driver: bridge # Windmill内部通信用
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
image: postgres:16
|
||||||
|
shm_size: 1g
|
||||||
|
restart: unless-stopped
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/postgresql/data
|
||||||
|
expose:
|
||||||
|
- 5432
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
||||||
|
POSTGRES_DB: windmill
|
||||||
|
healthcheck:
|
||||||
|
test: [ "CMD-SHELL", "pg_isready -U postgres" ]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
logging: *default-logging
|
||||||
|
networks:
|
||||||
|
- windmill-internal
|
||||||
|
|
||||||
|
windmill_server:
|
||||||
|
image: ${WM_IMAGE}
|
||||||
|
container_name: windmill_server
|
||||||
|
pull_policy: always
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 8000
|
||||||
|
- 2525
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=${DATABASE_URL}
|
||||||
|
- MODE=server
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- worker_logs:/tmp/windmill/logs
|
||||||
|
- /home/windmill/windmill:/workspace
|
||||||
|
labels:
|
||||||
|
# Traefik設定
|
||||||
|
- "traefik.enable=true"
|
||||||
|
# HTTPSルーター
|
||||||
|
- "traefik.http.routers.windmill.rule=Host(`windmill.keinafarm.net`)"
|
||||||
|
- "traefik.http.routers.windmill.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.windmill.tls=true"
|
||||||
|
- "traefik.http.routers.windmill.tls.certresolver=letsencrypt"
|
||||||
|
- "traefik.http.services.windmill.loadbalancer.server.port=8000"
|
||||||
|
# HTTPからHTTPSへのリダイレクト
|
||||||
|
- "traefik.http.routers.windmill-http.rule=Host(`windmill.keinafarm.net`)"
|
||||||
|
- "traefik.http.routers.windmill-http.entrypoints=web"
|
||||||
|
- "traefik.http.routers.windmill-http.middlewares=windmill-https-redirect"
|
||||||
|
- "traefik.http.middlewares.windmill-https-redirect.redirectscheme.scheme=https"
|
||||||
|
networks:
|
||||||
|
- traefik-net
|
||||||
|
- windmill-internal
|
||||||
|
logging: *default-logging
|
||||||
|
|
||||||
|
windmill_worker:
|
||||||
|
image: ${WM_IMAGE}
|
||||||
|
pull_policy: always
|
||||||
|
deploy:
|
||||||
|
replicas: 3
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: "1"
|
||||||
|
memory: 2048M
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=${DATABASE_URL}
|
||||||
|
- MODE=worker
|
||||||
|
- WORKER_GROUP=default
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- worker_dependency_cache:/tmp/windmill/cache
|
||||||
|
- worker_logs:/tmp/windmill/logs
|
||||||
|
- /home/windmill/windmill:/workspace
|
||||||
|
networks:
|
||||||
|
- windmill-internal
|
||||||
|
logging: *default-logging
|
||||||
|
|
||||||
|
windmill_worker_native:
|
||||||
|
image: ${WM_IMAGE}
|
||||||
|
pull_policy: always
|
||||||
|
deploy:
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: "1"
|
||||||
|
memory: 2048M
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
- DATABASE_URL=${DATABASE_URL}
|
||||||
|
- MODE=worker
|
||||||
|
- WORKER_GROUP=native
|
||||||
|
- NUM_WORKERS=8
|
||||||
|
- SLEEP_QUEUE=200
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- worker_logs:/tmp/windmill/logs
|
||||||
|
networks:
|
||||||
|
- windmill-internal
|
||||||
|
logging: *default-logging
|
||||||
|
|
||||||
|
windmill_indexer:
|
||||||
|
image: ${WM_IMAGE}
|
||||||
|
pull_policy: always
|
||||||
|
deploy:
|
||||||
|
replicas: 0 # 必要に応じて1に変更
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 8002
|
||||||
|
environment:
|
||||||
|
- PORT=8002
|
||||||
|
- DATABASE_URL=${DATABASE_URL}
|
||||||
|
- MODE=indexer
|
||||||
|
depends_on:
|
||||||
|
db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- windmill_index:/tmp/windmill/search
|
||||||
|
- worker_logs:/tmp/windmill/logs
|
||||||
|
networks:
|
||||||
|
- windmill-internal
|
||||||
|
logging: *default-logging
|
||||||
|
|
||||||
|
windmill_extra:
|
||||||
|
image: ghcr.io/windmill-labs/windmill-extra:latest
|
||||||
|
pull_policy: always
|
||||||
|
restart: unless-stopped
|
||||||
|
expose:
|
||||||
|
- 3001
|
||||||
|
- 3002
|
||||||
|
- 3003
|
||||||
|
environment:
|
||||||
|
- ENABLE_LSP=true
|
||||||
|
- ENABLE_MULTIPLAYER=false
|
||||||
|
- ENABLE_DEBUGGER=true
|
||||||
|
- DEBUGGER_PORT=3003
|
||||||
|
- ENABLE_NSJAIL=false
|
||||||
|
- REQUIRE_SIGNED_DEBUG_REQUESTS=false
|
||||||
|
- WINDMILL_BASE_URL=http://windmill_server:8000
|
||||||
|
volumes:
|
||||||
|
- lsp_cache:/pyls/.cache
|
||||||
|
networks:
|
||||||
|
- windmill-internal
|
||||||
|
logging: *default-logging
|
||||||
|
# Caddyは使わない(Traefikを使用)
|
||||||
|
# caddy:
|
||||||
|
# deploy:
|
||||||
|
# replicas: 0
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
db_data: null
|
||||||
|
worker_dependency_cache: null
|
||||||
|
worker_logs: null
|
||||||
|
worker_memory: null
|
||||||
|
windmill_index: null
|
||||||
|
lsp_cache: null
|
||||||
@@ -9,9 +9,9 @@ x-logging: &default-logging
|
|||||||
|
|
||||||
networks:
|
networks:
|
||||||
traefik-net:
|
traefik-net:
|
||||||
external: true # Traefik管理下のネットワーク
|
external: true # サーバー上の既存Traefikネットワーク
|
||||||
windmill-internal:
|
windmill-internal:
|
||||||
driver: bridge # Windmill内部通信用
|
driver: bridge
|
||||||
|
|
||||||
services:
|
services:
|
||||||
db:
|
db:
|
||||||
@@ -45,7 +45,6 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
expose:
|
expose:
|
||||||
- 8000
|
- 8000
|
||||||
- 2525
|
|
||||||
environment:
|
environment:
|
||||||
- DATABASE_URL=${DATABASE_URL}
|
- DATABASE_URL=${DATABASE_URL}
|
||||||
- MODE=server
|
- MODE=server
|
||||||
@@ -54,9 +53,10 @@ services:
|
|||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
volumes:
|
volumes:
|
||||||
- worker_logs:/tmp/windmill/logs
|
- worker_logs:/tmp/windmill/logs
|
||||||
- /home/windmill/windmill:/workspace
|
# Git同期のために、カレントディレクトリ(リポジトリルート)を/workspaceにマウント
|
||||||
|
# これにより、コンテナ内から .git ディレクトリにアクセス可能となり、git pushが可能になる
|
||||||
|
- .:/workspace
|
||||||
labels:
|
labels:
|
||||||
# Traefik設定
|
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
# HTTPSルーター
|
# HTTPSルーター
|
||||||
- "traefik.http.routers.windmill.rule=Host(`windmill.keinafarm.net`)"
|
- "traefik.http.routers.windmill.rule=Host(`windmill.keinafarm.net`)"
|
||||||
@@ -95,7 +95,8 @@ services:
|
|||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- worker_dependency_cache:/tmp/windmill/cache
|
- worker_dependency_cache:/tmp/windmill/cache
|
||||||
- worker_logs:/tmp/windmill/logs
|
- worker_logs:/tmp/windmill/logs
|
||||||
- /home/windmill/windmill:/workspace
|
# WorkerからもGit同期が必要な場合に備えてマウント
|
||||||
|
- .:/workspace
|
||||||
networks:
|
networks:
|
||||||
- windmill-internal
|
- windmill-internal
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
@@ -125,28 +126,6 @@ services:
|
|||||||
- windmill-internal
|
- windmill-internal
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
|
|
||||||
windmill_indexer:
|
|
||||||
image: ${WM_IMAGE}
|
|
||||||
pull_policy: always
|
|
||||||
deploy:
|
|
||||||
replicas: 0 # 必要に応じて1に変更
|
|
||||||
restart: unless-stopped
|
|
||||||
expose:
|
|
||||||
- 8002
|
|
||||||
environment:
|
|
||||||
- PORT=8002
|
|
||||||
- DATABASE_URL=${DATABASE_URL}
|
|
||||||
- MODE=indexer
|
|
||||||
depends_on:
|
|
||||||
db:
|
|
||||||
condition: service_healthy
|
|
||||||
volumes:
|
|
||||||
- windmill_index:/tmp/windmill/search
|
|
||||||
- worker_logs:/tmp/windmill/logs
|
|
||||||
networks:
|
|
||||||
- windmill-internal
|
|
||||||
logging: *default-logging
|
|
||||||
|
|
||||||
windmill_extra:
|
windmill_extra:
|
||||||
image: ghcr.io/windmill-labs/windmill-extra:latest
|
image: ghcr.io/windmill-labs/windmill-extra:latest
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
@@ -168,15 +147,22 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- windmill-internal
|
- windmill-internal
|
||||||
logging: *default-logging
|
logging: *default-logging
|
||||||
# Caddyは使わない(Traefikを使用)
|
labels:
|
||||||
# caddy:
|
# LSPなどのWebSocket用設定(Caddyfileの代替)
|
||||||
# deploy:
|
- "traefik.enable=true"
|
||||||
# replicas: 0
|
# LSPへのルーティング (/ws/* -> 3001)
|
||||||
|
- "traefik.http.routers.windmill-lsp.rule=Host(`windmill.keinafarm.net`) && PathPrefix(`/ws/`)"
|
||||||
|
- "traefik.http.routers.windmill-lsp.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.windmill-lsp.tls=true"
|
||||||
|
- "traefik.http.services.windmill-lsp.loadbalancer.server.port=3001"
|
||||||
|
# Debuggerへのルーティング (/ws_debug/* -> 3003)
|
||||||
|
- "traefik.http.routers.windmill-debug.rule=Host(`windmill.keinafarm.net`) && PathPrefix(`/ws_debug/`)"
|
||||||
|
- "traefik.http.routers.windmill-debug.entrypoints=websecure"
|
||||||
|
- "traefik.http.routers.windmill-debug.tls=true"
|
||||||
|
- "traefik.http.services.windmill-debug.loadbalancer.server.port=3003"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
db_data: null
|
db_data: null
|
||||||
worker_dependency_cache: null
|
worker_dependency_cache: null
|
||||||
worker_logs: null
|
worker_logs: null
|
||||||
worker_memory: null
|
|
||||||
windmill_index: null
|
|
||||||
lsp_cache: null
|
lsp_cache: null
|
||||||
|
|||||||
Reference in New Issue
Block a user