2017-05-18 14:56:23 +09:00
|
|
|
Misskey Setup and Installation Guide
|
|
|
|
================================================================
|
|
|
|
|
|
|
|
This describes how to install and setup Misskey.
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
1 Install dependencies
|
2017-05-18 14:56:23 +09:00
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
There is **two ways** to install and setup dependencies:
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
### WAY 1) Setup with Docker :whale:
|
2017-05-18 14:56:23 +09:00
|
|
|
|
|
|
|
Ensure that the working directory is the repository root directory.
|
|
|
|
|
|
|
|
To create misskey image:
|
|
|
|
|
|
|
|
`sudo docker build -t misskey ./docker`
|
|
|
|
|
|
|
|
To run misskey:
|
|
|
|
|
|
|
|
`sudo docker run --rm -i -t -p $PORT:80 -v $(pwd):/root/misskey -v $DBPATH:/data/db misskey`
|
|
|
|
|
|
|
|
where `$PORT` is the port used to access Misskey Web from host browser
|
|
|
|
and `$DBPATH` is the path of MongoDB database on the host for data persistence.
|
|
|
|
|
|
|
|
ex: `sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db misskey`
|
|
|
|
|
|
|
|
If you want to run misskey in production mode, add `--env NODE_ENV=production` like this:
|
|
|
|
|
|
|
|
`sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db --env NODE_ENV=production misskey`
|
|
|
|
|
|
|
|
Note that `$(pwd)` is the working directory.
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
### WAY 2) Setup manually
|
2017-05-18 14:56:23 +09:00
|
|
|
|
|
|
|
Please install and setup following dependencies:
|
|
|
|
|
|
|
|
#### Dependencies :package:
|
|
|
|
Please install these softwares.
|
|
|
|
* *Node.js* and *npm*
|
|
|
|
* **[MongoDB](https://www.mongodb.com/)**
|
|
|
|
* **[Redis](https://redis.io/)**
|
|
|
|
* **[GraphicsMagick](http://www.graphicsmagick.org/)**
|
|
|
|
|
|
|
|
##### Optional
|
|
|
|
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
2 Domains
|
2017-05-18 14:56:23 +09:00
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
Misskey requires two domains called the primary domain and the secondary domain.
|
|
|
|
|
|
|
|
* The primary domain is used to provide 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}*
|
|
|
|
* **about**.*{primary domain}*
|
|
|
|
* **dev**.*{primary domain}*
|
|
|
|
* **file**.*{secondary domain}*
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
3 reCAPTCHA tokens
|
2017-05-18 14:56:23 +09:00
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
Misskey requires reCAPTCHA tokens.
|
|
|
|
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
4 Install Misskey
|
2017-05-18 14:56:23 +09:00
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
There is **two ways** to install Misskey:
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
### WAY 1) Using built code (recommended)
|
2017-05-18 14:56:23 +09:00
|
|
|
We have official release of Misskey.
|
|
|
|
The built code is automatically pushed to https://github.com/syuilo/misskey/tree/release after the CI test succeeds.
|
|
|
|
|
|
|
|
1. `git clone -b release git://github.com/syuilo/misskey.git`
|
|
|
|
2. `cd misskey`
|
|
|
|
3. `npm install`
|
|
|
|
|
|
|
|
#### Update
|
|
|
|
1. `git fetch`
|
|
|
|
2. `git reset --hard origin/release`
|
|
|
|
3. `npm install`
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
### WAY 2) Using source code
|
2017-05-18 14:56:23 +09:00
|
|
|
If you want to build Misskey manually, you can do it via the
|
|
|
|
`build` command after download the source code of Misskey and install dependencies:
|
|
|
|
|
|
|
|
1. `git clone -b master git://github.com/syuilo/misskey.git`
|
|
|
|
2. `cd misskey`
|
|
|
|
3. `npm install`
|
|
|
|
4. `npm run build`
|
|
|
|
|
|
|
|
#### Update
|
|
|
|
1. `git pull origin master`
|
|
|
|
2. `npm install`
|
|
|
|
3. `npm run build`
|
|
|
|
|
2017-05-18 14:58:15 +09:00
|
|
|
5 That is it.
|
2017-05-18 14:56:23 +09:00
|
|
|
----------------------------------------------------------------
|
|
|
|
|
|
|
|
お疲れ様でした。これで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:*`.
|