本記事では、Mi小爱音箱ProをChatGPTや豆包に接続し、カスタム音声アシスタントとして活用するための設定方法を解説します。以下は、実行に必要な手順とトラブルシューティングを含むガイドです。
swap領域の作成
sudo swapon --show
sudo dd if=/dev/zero of=/swapfile bs=320M count=2
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
使用後は以下のコマンドで削除します。
sudo swapoff /swapfile
sudo rm /swapfile
Node.jsのインストール
# nvmのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 22
node -v # v22.4.0が表示される
npm -v # 10.8.1が表示される
# 上記が失敗した場合、以下の方法でインストール
curl -sL https://deb.nodesource.com/setup_20.x | bash
apt-get install nodejs -y
node -v
プロジェクトディレクトリでの作業
cd /opt/mi-gpt
npm config set registry https://mirrors.cloud.tencent.com/npm/
export PRISMA_ENGINES_MIRROR=https://registry.npmmirror.com/-/binary/prisma
npm install -g node-prune
node-prune
Prisma関連のエラー対応
初期化時に以下のエラーが発生した場合:
Error: request to https://binaries.prisma.sh/... failed
以下の環境変数を設定して回避します。
export PRISMA_ENGINES_MIRROR=https://registry.npmmirror.com/-/binary/prisma
データベース初期化エラー
# データベースファイルが存在しない場合に手動作成
touch /opt/mi-gpt/prisma/app.db
chown root:root /opt/mi-gpt/prisma/app.db
chmod 600 /opt/mi-gpt/prisma/app.db
その後、再度マイグレーションを実行:
npx prisma migrate dev --name hello
ビルドと起動
npm run build
npm start
Dockerによるデプロイ
コンテナの停止・削除:
docker stop migpt
docker ps -a
docker rm [container_id]
Dockerボリュームの作成:
docker volume create migpt
コンテナの起動:
docker run -d \
--name migpt \
--env-file $(pwd)/.env \
-v config_volume:/app/config \
-v $(pwd)/.migpt.js:/app/.migpt.js \
idootop/mi-gpt:latest
コンテナの自動再起動設定:
docker update --restart unless-stopped migpt
設定ファイルの同期:
# 初期設定ファイルをボリュームへコピー
docker run --rm -v migpt:/app/config -v $(pwd):/src alpine ash -c "cp /src/.env /app/config/"
# .migpt.jsの更新
docker cp $(pwd)/.migpt.js migpt:/app/.migpt.js
設定確認:
docker logs -f migpt