管理者

# 自分のWelleyサーバーを動かす

私たちのコマンドラインツールは、Welleyに必要なものをすべて1台のLinuxマシンにインストールします。クラウドサーバーでも、自分のハードウェアでも使えます。

[読む: クイックスタート: 最小構成の Welley デプロイ](https://welley.com/ja/administrators/docs/quick-start/) [読む: Welley CLI](https://welley.com/ja/administrators/docs/cli/) [Docker Engineをインストールする](https://docs.docker.com/engine/install/)

将来、Welley をオープンソースとして公開する予定です。公開日やライセンスは、まだ発表されていません。

## ホスト、DNS、メールを準備する

クイックスタートで求められる最低限の条件です。どのくらいの容量が必要かは、ユーザー数や使い方によって変わります。

### Linuxホスト

-   Ubuntu 24.04 LTS、または同程度に新しいディストリビューションです。
-   2 vCPU、4 GBのRAM、60 GBのディスクから始めてください。
-   固定の公開IPv4アドレスと、sudoを使えるroot以外のユーザーを用意してください。

### ネットワーク

-   インターネットからのTCP 80と443の受信を許可します。TCP 22は、自分のネットワークからの受信を許可します。
-   ポート80は、証明書のチャレンジと毎週の証明書更新のために空けておいてください。

### サイトのDNS

-   ドメインとstorage.<domain>を、ホストのIPアドレスに向けてください。
-   インストールの前に、両方のレコードを作成してください。CLIがレコードを確認し、ホストに解決されない場合は停止します。

### SMTPと管理者のメールアドレス

-   SMTPのホスト、ユーザー、パスワード、送信元アドレスを用意してください。デフォルトはポート587のSTARTTLSです。
-   最初のログインとパスワードの再設定に使う、管理者のメールアドレスも必要です。

### メールのDNS

-   送信元アドレスのドメインに、SPF、DMARC、そしてプロバイダーが生成するDKIMを設定してください。
-   SPFは、プロバイダーが示す値をそのまま使ってください。2つ目のレコードを追加せず、既存のSPFレコードにまとめてください。
-   SPFやDMARCがない場合、CLIが警告します。プロバイダーのDKIMセレクターは確認できません。

## Docker EngineとComposeをインストールする

お使いのLinuxディストリビューション向けの、Docker公式の手順に従ってください。そのあと、デプロイに使うユーザーがDockerを使えるようにします。

[Docker Engineのインストール](https://docs.docker.com/engine/install/)

### ユーザーをDockerグループに追加する

<user>は、root以外のデプロイ用ユーザーに置き換えてください。このコマンドを実行したら、いったんログアウトして、もう一度ログインしてください。

```
sudo usermod -aG docker <user>
```

### DockerとComposeを確認する

そのユーザーで、両方のコマンドが動く必要があります。

```
docker ps
docker compose version
```

## CLIをダウンロードする

CLIを実行するマシンに合ったバイナリーを選んでください。デプロイ先のホスト自体は、Linuxである必要があります。

### Linux、x86-64

```
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/amd64" -o wlycli
chmod +x wlycli
./wlycli -v
```

### Linux、ARM64

```
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=linux/arm64" -o wlycli
chmod +x wlycli
./wlycli -v
```

### macOS、Apple silicon

```
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/arm64" -o wlycli
chmod +x wlycli
./wlycli -v
```

### macOS、Intel

```
curl -fL "https://appstore.allroads.social/v1/social.wellesley.wlycli/latest?channel=stable&platform=darwin/amd64" -o wlycli
chmod +x wlycli
./wlycli -v
```

-   これらのコマンドは、stableチャンネルからダウンロードし、CLIのバージョンを表示します。
-   バージョンは新しいリリースごとに変わります。インストールするときは、最新のCLIドキュメントを確認してください。

## デプロイを作成する

準備したLinuxホストで、このコマンドを実行してください。例のドメイン、メールアドレス、SMTPの値は、自分のものに置き換えてください。

```
./wlycli deploy create \
-d example.com \
-e admin@example.com \
--smtp-host smtp.example.com \
--smtp-user "$MAIL_USER" \
--smtp-password "$MAIL_PASSWORD" \
--smtp-from noreply@example.com
```

| 設定 | デフォルト |
| --- | --- |
| インストール先のディレクトリ | ~/.welley/<project>。例のドメインでは、プロジェクト名はexample\_comになります。 |
| データベース | 同梱のPostgreSQLを使い、データはインストール先のディレクトリの下に保存されます。 |
| 構成 | Welleyプラットフォーム、RAGパイプライン、Nginx、Redis、PostgreSQLに加えて、メンテナンス用のコンテナが入ります。 |
| 証明書 | Certbot経由のLet’s Encryptで、毎週更新されます。 |
| メディア | アップロードしたファイルと静的ファイルは、https://storage.<domain>に置かれます。 |
| 更新 | stableチャンネルを毎日確認します。更新の際は、できるだけダウンタイムが出ないようにします。 |
| オプションのサービス | 最小構成では、マネージドデータベース、CDN、テレメトリー、Slack連携は追加されません。 |

-   実行する前に、MAIL\_USERとMAIL\_PASSWORDに、SMTPの認証情報を設定してください。
-   クイックスタートでは、この6つのフラグが必須です。
-   このコマンドはDNSを確認し、デプロイ用のファイルを書き出し、Certbotで証明書を取得して、コンテナを起動します。
-   deployコマンドは、deploymentのエイリアスです。

## ログインして結果を確認する

生成された管理者パスワードは、プラットフォームのログに出力されます。その出力は人に見せないでください。

### 最初のパスワードを探す

このコンテナ名はexample.comの場合のものです。自分のドメインでは、プロジェクト名を変えてください。

```
docker logs example_com-platform-blue-1 | grep "Auto-init complete"
```

### ログインする

自分のドメインを開き、-eで指定した管理者のメールアドレスでログインします。生成されたパスワードは、すぐに変更してください。

### コンテナを確認する

クイックスタートでは、nginx、platform-blue、rag-pipeline-blue、postgres、redis、autoheal、snoopyが表示されるはずです。

```
docker ps
```

## 管理にCLIを使う

CLIには、プラットフォームAPI用のコマンドもあります。各操作を行うには、アカウントにそのための権限が必要です。

-   操作を実行する前に、コマンドのヘルプで現在のフラグを確認してください。
-   loginコマンドは、APIのベースURL、メールアドレス、パスワードを受け取ります。返されたセッショントークンは保存されます。
-   現在、login コマンドは、成功時のログにセッショントークンを表示します。この出力は他の人に見せないでください。

コマンドグループ: `accounts`, `posts`, `apps`, `emojis`, `feeds`, `reports`, `rules`, `settings`。

### 使えるコマンドを表示

```
./wlycli --help
```

### デプロイのコマンドを表示

```
./wlycli deployment --help
```

### ログインのオプションを表示

```
./wlycli login --help
```

### 設定のオプションを表示

```
./wlycli settings --help
```

## 更新と復旧

デフォルトでは、デプロイは毎日、安定版の更新を確認します。サーバー管理者は、管理画面でリリースを管理できます。

-   デプロイ用ファイルは有効なままで、一部のコンテナーだけが失敗している場合は、クイックスタートの案内どおり restart を実行します。restart はコンテナーを作り直します。
-   プロジェクトのディレクトリやコンテナーが残っている間は、create をもう一度実行することはできません。
-   強制削除のオプションは、デプロイ用ファイルと同梱のデータベースを削除します。復旧のための手順ではなく、データも残りません。
-   deploy-server スキルは、まだ deployment update という名前を使っています。現在の CLI では、代わりに deployment auto-update を使います。手作業でメンテナンスする前に、最新の CLI ヘルプを確認してください。

### 既存のデプロイからコンテナーを作り直す

```
./wlycli deploy restart -d example.com
```

保存した設定からコンテナーを作り直します。デプロイのデータは削除されません。

## AIアシスタントでデプロイする

お使いのAIアシスタントが SKILL.md パッケージに対応しているなら、公式の deploy-server スキルをダウンロードしてください。DigitalOcean へのデプロイを案内します。

今のところ、このスキルが対応しているのは DigitalOcean だけです。CLI のクイックスタートは、ほかのクラウドや自分の Linux ホストでも使えます。

### 使い方

-   パッケージを展開し、お使いのアシスタントでスキルを入れる方法に従って、deploy-server ディレクトリを読み込みます。
-   アシスタントに $deploy-server を使うよう頼みます。
-   スキルは、ドメイン、DNSへのアクセス、SSHの設定、SMTPの情報、管理者のメールアドレスを聞いてきます。
-   DigitalOcean の VM を設定でき、希望すればマネージド PostgreSQL データベースも設定できます。デプロイの入力内容とマネージドデータベースの料金は、あなたに確認してから進めます。

### ダウンロードする前に

-   このパッケージは、元のスキルをそのままコピーしたものです。
-   ダウンロードと更新の例は古くなっています。最新の安定版のダウンロードURLは、このサイトのクイックスタートで確認してください。メンテナンスの前に、CLI ヘルプを確認してください。
-   スキルには、クラウドの認証情報も稼働中のサーバーも付いていません。すべてのアシスタントで動くことも、お約束できません。

パッケージには`SKILL.md`、`agents/openai.yaml`、`references/digitalocean.md`が入っています。どちらのダウンロードも、同じファイルです。

[deploy-server.zip をダウンロード(10.7 KB)](https://welley.com/downloads/deploy-server.zip) [deploy-server.skill をダウンロード(10.7 KB)](https://welley.com/downloads/deploy-server.skill)

## リファレンス

CLI のドキュメント全体と、デプロイ用スキルのファイルです。アカウントがなくても、ここで読めます。

-   [**Welley CLI** docs/index.md](https://welley.com/ja/administrators/docs/cli/)
-   [**クイックスタート: 最小構成の Welley デプロイ** docs/quick-start.md](https://welley.com/ja/administrators/docs/quick-start/)
-   [**サーバーのデプロイ** skills/deploy-server/SKILL.md](https://welley.com/ja/administrators/docs/deploy-server-skill/)
-   [**openai.yaml** skills/deploy-server/agents/openai.yaml](https://welley.com/ja/administrators/docs/deploy-server-openai-yaml/)
-   [**DigitalOceanリファレンス** skills/deploy-server/references/digitalocean.md](https://welley.com/ja/administrators/docs/deploy-server-digitalocean/)
