Help us translate

This document is translated by the community. You can contribute on Crowdin. We appreciate your cooperation 🙏.

Manual Misskey Installation

This guide will tell you how to install and setting Misskey.

Danger

Do not recreate the database with the domain/hostname of the server after you have started using it!

前提条件

You need to install the follow packages:

If you run Misskey on Debian/Ubuntu, you need to install build-essential package.

You need to enable corepack.

sudo corepack enable

Create Linux User

Misskey should not run under root permission, so you should create a new user. Debian for example:

adduser --disabled-password --disabled-login misskey

Install Misskey

sudo -iu misskey
git clone --recursive https://github.com/misskey-dev/misskey.git
cd misskey
git checkout master
git submodule update --init
NODE_ENV=production pnpm install --frozen-lockfile

Settings

Please copy setting sample file .config/example.yml to default.yml.

cp .config/example.yml .config/default.yml

And edit default.yml according to the help text in the file.

Build and Initialize

The next command will build Misskey and initialize the database. This will take some time.

NODE_ENV=production pnpm run build
pnpm run init

Launch

お疲れ様でした。You did it. Please start Misskey with the following command.

NODE_ENV=production pnpm run start

GLHF✨

Manage with systemd

Create systemd services config.

/etc/systemd/system/misskey.service

Open your editor and paste the following code:

[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
Warning

If you are using CentOS and using port number less than 1024. Please change to ExecStart=/usr/bin/sudo /usr/bin/npm start.

Reload systemd and enable misskey service.

sudo systemctl daemon-reload
sudo systemctl enable misskey

Launch Misskey service

sudo systemctl start misskey
Tips

You can check the service status by systemctl status misskey.

Updating Misskey

Warning

Please check release note before you update. To understand the changes and something need to do (usually don't to anything).

Pull the master, install, build and migrating the database.

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

It may take time depending on the update content and the database size.

After updating, Please restart the Misskey process.

sudo systemctl restart misskey
Tips

If there are errors on build or start, please try the following command:

  • pnpm run clean or pnpm run clean-all
  • pnpm rebuild