53 lines
2.6 KiB
Bash
53 lines
2.6 KiB
Bash
#!/bin/bash
|
||
### 16439sが作成しました。
|
||
|
||
# スクリプトがDebian 11以降で実行されているかチェック
|
||
if [ "$(lsb_release -is)" != "Debian" ] || [ "$(lsb_release -rs | cut -d. -f1)" -lt 11 ]; then
|
||
echo "このスクリプトはDebian 11以降でのみ動作します。"
|
||
exit 1
|
||
fi
|
||
|
||
# ユーザーがrootであるか確認
|
||
if [ "$(id -u)" -ne 0 ]; then
|
||
echo "このスクリプトはrootユーザーとして実行する必要があります。"
|
||
exit 1
|
||
fi
|
||
|
||
# Step 1: rose ユーザーの作成&下準備
|
||
echo "1/5 ステップ1: roseユーザーの作成&下準備を実行中..."
|
||
sudo adduser --disabled-password --disabled-login rose
|
||
sudo apt install -y sudo nano git wget curl ca-certificates gnupg2 lsb-release ubuntu-keyring build-essential gpg
|
||
|
||
# Step 2: Node.js のインストール
|
||
echo "2/5 ステップ2: Node.jsのインストールを実行中..."
|
||
sudo rm -f /usr/share/keyrings/nodesource.gpg
|
||
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
|
||
NODE_MAJOR=20
|
||
echo "deb [signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
|
||
sudo apt update
|
||
sudo apt install -y nodejs
|
||
corepack enable
|
||
|
||
# Step 3: PostgreSQLのインストール&DB設定
|
||
echo "3/5 ステップ3: PostgreSQLのインストールと設定を実行中..."
|
||
sudo apt install -y postgresql-common
|
||
sudo sh /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -i -v 15
|
||
sudo systemctl enable --now postgresql
|
||
read -p "PostgreSQL ユーザー名: " PGUSER
|
||
read -p "PostgreSQL パスワード: " PGPASS
|
||
read -p "PostgreSQL DB名: " PGDB
|
||
sudo -u postgres psql -c "CREATE ROLE $PGUSER LOGIN PASSWORD '$PGPASS';"
|
||
sudo -u postgres psql -c "CREATE DATABASE $PGDB OWNER $PGUSER;"
|
||
|
||
# Step 4: Redis のインストール
|
||
echo "4/5 ステップ4: Redisのインストールを実行中..."
|
||
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
|
||
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
|
||
sudo apt-get update
|
||
sudo apt-get install -y redis
|
||
|
||
# Step 5: Misskey Setup
|
||
echo "5/5 ステップ5: Misskeyのセットアップを実行中..."
|
||
sudo su - rose -c "git clone -b master https://code.rosekey.dev/miriel/rosekey.git --recurse-submodules; pnpm install --frozen-lockfile; cp .config/example.yml .config/default.yml"
|
||
|
||
echo "すべてのセットアップが完了しました。あとは default.yml の編集などを行ってください。"
|