misskey/docs/setup.en.md

93 lines
2.9 KiB
Markdown

Misskey Setup and Installation Guide
================================================================
We thank you for your interest in setting up your Misskey server!
This guide describes how to install and setup Misskey.
[Japanese version also available - 日本語版もあります](./setup.ja.md)
----------------------------------------------------------------
If you can use Docker, please see [Setup with Docker](./docker.en.md).
*1.* Domains
----------------------------------------------------------------
Misskey requires two domains called the primary domain and the secondary domain.
* The primary-domain is used to provide the main service of Misskey.
* The secondary-domain is used to avoid vulnerabilities such as XSS.
**Ensure that the secondary domain is not a subdomain of the primary domain.**
### Subdomains
Note that Misskey uses following subdomains:
* **api**.*{primary domain}*
* **auth**.*{primary domain}*
* **docs**.*{primary domain}*
* **ch**.*{primary domain}*
* **stats**.*{primary domain}*
* **status**.*{primary domain}*
* **dev**.*{primary domain}*
* **file**.*{secondary domain}*
*2.* reCAPTCHA tokens
----------------------------------------------------------------
Misskey requires reCAPTCHA tokens.
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
*(optional)* Generating VAPID keys
----------------------------------------------------------------
If you want to enable ServiceWroker, you need to generate VAPID keys:
``` shell
npm install web-push -g
web-push generate-vapid-keys
```
*3.* Install dependencies
----------------------------------------------------------------
Please install and setup these softwares:
#### Dependencies :package:
* *Node.js* and *npm*
* **[MongoDB](https://www.mongodb.com/)**
* **[Redis](https://redis.io/)**
* **[ImageMagick](http://www.imagemagick.org/script/index.php)**
##### Optional
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
*4.* Prepare configuration
----------------------------------------------------------------
First, you need to create a `.config` directory in the directory that
Misskey installed. And then you need to create a `default.yml` file in
the directory. The template of configuration is available [here](./config.md).
*5.* Install Misskey
----------------------------------------------------------------
1. `git clone -b master git://github.com/syuilo/misskey.git`
2. `cd misskey`
3. `npm install`
4. `npm run build`
#### Update
1. `git reset --hard && git pull origin master`
2. `npm install`
3. `npm run build`
*6.* That is it.
----------------------------------------------------------------
Well done! Now, you have an environment that run to Misskey.
### Launch
Just `sudo npm start`. GLHF!
### Testing
Run `npm test` after building
### Debugging :bug:
#### Show debug messages
Misskey uses [debug](https://github.com/visionmedia/debug) and the namespace is `misskey:*`.