Misskey 安装与配置教程
感谢您对搭建 Misskey 服务器感兴趣! 本篇教程叙述了如何安装和配置 Misskey。
请注意,一旦 Misskey 开始运行,不要更改域名和服务器的主机名。
1. 安装依赖
请安装以下软件:
Dependencies 📦
- Node.js (20.4.x)
- PostgreSQL (15.x)
- Redis
- FFmpeg
在 Debian 和 Ubuntu 系统中,您还需要安装 build-essential
与 python
。
执行以下命令启用 corepack:
sudo corepack enable
2. 创建一个运行 Misskey 的用户
在 root 下运行 Misskey 不是一个好主意,所以我们创建一个新用户 misskey。 例如,在 Debian 中:
adduser --disabled-password --disabled-login misskey
3. 安装 Misskey
切换至
misskey
用户:sudo -iu misskey
将 Misskey 克隆至本地:
git clone --recursive https://github.com/misskey-dev/misskey.git
进入 misskey 仓库:
cd misskey
检查是否为 最新版本 (分支是否为 master):
git checkout master
下载子模块:
git submodule update --init
安装 Misskey 的依赖项:
pnpm install --frozen-lockfile
4. 配置 Misskey
- 复制
.config/example.yml
并重命名为default.yml
.
cp .config/example.yml .config/default.yml
- 编辑
default.yml
nano default.yml
5. 编译 Misskey
执行以下命令编译 Misskey:
NODE_ENV=production pnpm run build
如果您使用 Debian,则需要安装 build-essential 和 python 软件包。
6. 创建并初始化数据库
下面我们来新建数据库。输入以下命令切换至 postgres 用户并进入数据库:
sudo -u postgres psql
输入以下命令来新建数据库及用户(请注意,数据库需要以 UTF8 编码:
create database misskey with encoding = 'UTF8'; create user misskey with encrypted password '{YOUR_PASSWORD}'; grant all privileges on database misskey to misskey; \q
执行以下命令来初始化数据库:
pnpm run init
7. 环境配置完成!
干得漂亮!现在,您有一个可以运行 Misskey 的环境了。
正常启动(前台,不可退出终端或 ssh)
运行 NODE_ENV=production pnpm run start
。
以 systemd 方式启动
创建 systemd 服务:
nano /etc/systemd/system/misskey.service
将以下内容复制进去:
[Unit] Description=Misskey daemon [Service] Type=simple User=misskey ExecStart=/usr/bin/npm start WorkingDirectory=/home/misskey/misskey Environment="NODE_ENV=production" TimeoutSec=60 StandardOutput=journal StandardError=journal SyslogIdentifier=misskey Restart=always [Install] WantedBy=multi-user.target
重载 systemd 并使 misskey service 开机自启:
sudo systemctl daemon-reload; sudo systemctl enable misskey
启动 misskey service:
sudo systemctl start misskey
您可以执行 systemctl status misskey
检查该服务项是否正在运行。
使用 OpenRC 启动
将以下文本复制到
/etc/init.d/misskey
:#!/sbin/openrc-run name=misskey description="Misskey daemon" command="/usr/bin/npm" command_args="start" command_user="misskey" supervisor="supervise-daemon" supervise_daemon_args=" -d /home/misskey/misskey -e NODE_ENV=\"production\"" pidfile="/run/${RC_SVCNAME}.pid" depend() { need net use logger # alternatively, uncomment if using nginx reverse proxy #use logger nginx }
设置开机自启:
rc-update add misskey
启动 Misskey service:
rc-service misskey start
您可以执行 rc-service misskey status
来检查该服务项是否正在运行。
如何更新 Misskey?
执行以下命令:
git checkout master
git pull
git submodule update --init
NODE_ENV=production pnpm install --frozen-lockfile
NODE_ENV=production pnpm run build
pnpm run migrate
- 重新启动 Misskey 进程以应用更改
- 开始使用吧~
如果更新遇到任何问题,请尝试以下操作:
pnpm run clean
或pnpm run clean-all
- 重新更新 (别忘了执行
pnpm install
)