From afff02019cebdb1918cf246a3416e521a3a92151 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 18 May 2017 14:56:23 +0900 Subject: DOC: :v: --- docs/setup.md | 118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 118 insertions(+) create mode 100644 docs/setup.md (limited to 'docs') diff --git a/docs/setup.md b/docs/setup.md new file mode 100644 index 0000000000..2bc74c73a9 --- /dev/null +++ b/docs/setup.md @@ -0,0 +1,118 @@ +Misskey Setup and Installation Guide +================================================================ + +This describes how to install and setup Misskey. + +1. Install dependencies +---------------------------------------------------------------- + +There is **two ways** to install and setup dependencies: + +### WAY 1: Setup with Docker :whale: + +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. + +### WAY 2: Setup manually + +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 + +2. Domains +---------------------------------------------------------------- + +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}* + +3. reCAPTCHA tokens +---------------------------------------------------------------- + +Misskey requires reCAPTCHA tokens. +Please visit https://www.google.com/recaptcha/intro/ and generate keys. + +4. Install Misskey +---------------------------------------------------------------- + +There is **two ways** to install Misskey: + +### WAY 1: Using built code (recommended) +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` + +### WAY 2: Using source code +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` + +5. That is it. +---------------------------------------------------------------- + +お疲れ様でした。これで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:*`. -- cgit v1.2.3-freya