Skip to content
Snippets Groups Projects
setup.en.md 3.82 KiB
Newer Older
syuilo's avatar
syuilo committed
Misskey Setup and Installation Guide
================================================================

Aya Morisawa's avatar
Aya Morisawa committed
We thank you for your interest in setting up your Misskey server!
こぴなたみぽ's avatar
こぴなたみぽ committed
This guide describes how to install and setup Misskey.
syuilo's avatar
syuilo committed

- [Japanese version also available - 日本語版もあります](./setup.ja.md)
- [Simplified Chinese version also available - 简体中文版同样可用](./setup.zh.md)
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
----------------------------------------------------------------
syuilo's avatar
syuilo committed

Skid's avatar
Skid committed
*1.* Create Misskey user
syuilo's avatar
syuilo committed
----------------------------------------------------------------
Zero King's avatar
Zero King committed
Running misskey as root is not a good idea so we create a user for that.
Skid's avatar
Skid committed
In debian for exemple :
syuilo's avatar
syuilo committed

Aya Morisawa's avatar
Aya Morisawa committed
```
Skid's avatar
Skid committed
adduser --disabled-password --disabled-login misskey
syuilo's avatar
syuilo committed
*2.* Install dependencies
syuilo's avatar
syuilo committed
----------------------------------------------------------------
syuilo's avatar
syuilo committed
Please install and setup these softwares:
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
#### Dependencies :package:
* **[Node.js](https://nodejs.org/en/)** (12.x, 14.x)
* **[PostgreSQL](https://www.postgresql.org/)** (>= 10)
syuilo's avatar
syuilo committed
* **[Redis](https://redis.io/)**
syuilo's avatar
syuilo committed

##### Optional
* [Yarn](https://yarnpkg.com/) *Optional but recommended for security reason. If you won't install it, use `npx yarn` instead of `yarn`.*
* [Elasticsearch](https://www.elastic.co/) - required to enable the search feature
syuilo's avatar
syuilo committed
* [FFmpeg](https://www.ffmpeg.org/)
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
*3.* Install Misskey
Skid's avatar
Skid committed
----------------------------------------------------------------
1. Connect to misskey user.

	`su - misskey`

2. Clone the misskey repo from master branch.

	`git clone -b master git://github.com/misskey-dev/misskey.git`

3. Navigate to misskey directory

	`cd misskey`

4. Checkout to the [latest release](https://github.com/misskey-dev/misskey/releases/latest)

	`git checkout master`

5. Install misskey dependencies.

	`yarn`
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
*4.* Configure Misskey
Skid's avatar
Skid committed
----------------------------------------------------------------
1. Copy the `.config/example.yml` and rename it to `default.yml`.

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

Aya Morisawa's avatar
Aya Morisawa committed
2. Edit `default.yml`
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
*5.* Build Misskey
syuilo's avatar
syuilo committed
----------------------------------------------------------------
Angristan's avatar
Angristan committed
Build misskey with the following:

`NODE_ENV=production yarn build`
Angristan's avatar
Angristan committed

If you're on Debian, you will need to install the `build-essential`, `python` package.
Angristan's avatar
Angristan committed

Angristan's avatar
Angristan committed
If you're still encountering errors about some modules, use node-gyp:
Angristan's avatar
Angristan committed

1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production yarn build`
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
*6.* Init DB
----------------------------------------------------------------
``` shell
yarn run init
syuilo's avatar
syuilo committed
*7.* That is it.
syuilo's avatar
syuilo committed
----------------------------------------------------------------
こぴなたみぽ's avatar
こぴなたみぽ committed
Well done! Now, you have an environment that run to Misskey.
syuilo's avatar
syuilo committed

Skid's avatar
Skid committed
### Launch normally
Just `NODE_ENV=production npm start`. GLHF!
Skid's avatar
Skid committed

### Launch with systemd

1. Create a systemd service here

	`/etc/systemd/system/misskey.service`

Skid's avatar
Skid committed
2. Edit it, and paste this and save:

	```
	[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=syslog
	StandardError=syslog
	SyslogIdentifier=misskey
	Restart=always

	[Install]
	WantedBy=multi-user.target
	```

3. Reload systemd and enable the misskey service.

	`systemctl daemon-reload ; systemctl enable misskey`

4. Start the misskey service.
Skid's avatar
Skid committed

Skid's avatar
Skid committed

You can check if the service is running with `systemctl status misskey`.
syuilo's avatar
syuilo committed

Zero King's avatar
Zero King committed
### How to update your Misskey server to the latest version
1. `git checkout master`
2. `git pull`
3. `yarn install`
4. `NODE_ENV=production yarn build`
5. `yarn migrate`
syuilo's avatar
syuilo committed
6. Restart your Misskey process to apply changes
Aya Morisawa's avatar
Aya Morisawa committed
7. Enjoy
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
If you encounter any problems with updating, please try the following:
1. `yarn clean` or `yarn cleanall`
2. Retry update (Don't forget `yarn install`
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
----------------------------------------------------------------

If you have any questions or troubles, feel free to contact us!