Skip to content
Snippets Groups Projects
README.md 4.94 KiB
Newer Older
syuilo's avatar
syuilo committed
Misskey
================================

[![][travis-badge]][travis-link]
[![][dependencies-badge]][dependencies-link]
syuilo's avatar
syuilo committed
[![][himawari-badge]][himasaku]
[![][sakurako-badge]][himasaku]
syuilo⭐️'s avatar
syuilo⭐️ committed
[![][mit-badge]][mit]
syuilo's avatar
syuilo committed

Aya Morisawa's avatar
Aya Morisawa committed
Welcome!

syuilo's avatar
syuilo committed
[Misskey](https://misskey.xyz) is a completely open source,
ultimately sophisticated new type of mini-blog based SNS.
syuilo's avatar
syuilo committed
![ss](./assets/ss.jpg)
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
Key features
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
* Automatically updated timeline
Aya Morisawa's avatar
Aya Morisawa committed
* Private messages
Aya Morisawa's avatar
Aya Morisawa committed
* Free 1GB storage
syuilo⭐️'s avatar
syuilo⭐️ committed
* Mobile device support (smartphone, tablet, etc)
Aya Morisawa's avatar
Aya Morisawa committed
* Web API for third-party applications
Aya Morisawa's avatar
Aya Morisawa committed
* Twitter integration
syuilo⭐️'s avatar
syuilo⭐️ committed

Aya Morisawa's avatar
Aya Morisawa committed
and more! You can touch with your own eyes at https://misskey.xyz/.
syuilo⭐️'s avatar
syuilo⭐️ committed

syuilo's avatar
syuilo committed
Setup
--------------------------------
syuilo⭐️'s avatar
syuilo⭐️ committed
### Dependencies :package:
Aya Morisawa's avatar
Aya Morisawa committed
Please install these softwares.
syuilo's avatar
syuilo committed
* *Node.js* and *npm*
syuilo⭐️'s avatar
syuilo⭐️ committed
* **[MongoDB](https://www.mongodb.com/)**
* **[Redis](https://redis.io/)**
* **[GraphicsMagick](http://www.graphicsmagick.org/)**
syuilo⭐️'s avatar
syuilo⭐️ committed

#### Optional
Aya Morisawa's avatar
Aya Morisawa committed
* [Elasticsearch](https://www.elastic.co/) - used to provide searching feature instead of MongoDB
syuilo⭐️'s avatar
syuilo⭐️ committed
### 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.**

syuilo⭐️'s avatar
syuilo⭐️ committed
#### Subdomains
syuilo's avatar
syuilo committed
Note that Misskey uses following subdomains:
syuilo⭐️'s avatar
syuilo⭐️ committed

* **api**.*{primary domain}*
* **auth**.*{primary domain}*
* **about**.*{primary domain}*
* **dev**.*{primary domain}*
* **file**.*{secondary domain}*
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
### reCAPTCHA tokens
Aya Morisawa's avatar
Aya Morisawa committed
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
syuilo⭐️'s avatar
syuilo⭐️ committed

syuilo's avatar
syuilo committed
Setup with Docker :whale:
--------------------------------
syuilo's avatar
syuilo committed
Ensure that the working directory is the repository root directory.

To create misskey image:
Aya Morisawa's avatar
Aya Morisawa committed

`sudo docker build -t misskey ./docker`
syuilo's avatar
syuilo committed

To run misskey:
Aya Morisawa's avatar
Aya Morisawa committed

syuilo's avatar
syuilo committed
`sudo docker run --rm -i -t -p $PORT:80 -v $(pwd):/root/misskey -v $DBPATH:/data/db misskey`

Aya Morisawa's avatar
Aya Morisawa committed
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.
syuilo's avatar
syuilo committed

ex: `sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db misskey`

Aya Morisawa's avatar
Aya Morisawa committed
If you want to run misskey in production mode, add `--env NODE_ENV=production` like this:

Aya Morisawa's avatar
Aya Morisawa committed
`sudo docker run --rm -i -t -p 80:80 -v $(pwd):/root/misskey -v /data/db:/data/db --env NODE_ENV=production misskey`
Aya Morisawa's avatar
Aya Morisawa committed

Aya Morisawa's avatar
Aya Morisawa committed
Note that `$(pwd)` is the working directory.
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
Install
syuilo's avatar
syuilo committed
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
### Using built code
Aya Morisawa's avatar
Aya Morisawa committed
We have official release of the latest Misskey that passed the test.
Please visit https://github.com/syuilo/misskey/tree/release to see built code.

Aya Morisawa's avatar
Aya Morisawa committed
1. `git clone -b release git://github.com/syuilo/misskey.git`
Aya Morisawa's avatar
Aya Morisawa committed
2. `cd misskey`
3. `npm install`
syuilo's avatar
syuilo committed

Aya Morisawa's avatar
Aya Morisawa committed
#### Update
Aya Morisawa's avatar
Aya Morisawa committed
1. `git fetch`
2. `git reset --hard origin/release`
3. `npm install`
Aya Morisawa's avatar
Aya Morisawa committed

### Using source code
1. `git clone -b master git://github.com/syuilo/misskey.git`
Aya Morisawa's avatar
Aya Morisawa committed
2. `cd misskey`
3. `npm install`
4. `npm run build`
syuilo's avatar
syuilo committed

Aya Morisawa's avatar
Aya Morisawa committed
#### Update
Aya Morisawa's avatar
Aya Morisawa committed
1. `git pull origin master`
2. `npm install`
3. `npm run build`
Aya Morisawa's avatar
Aya Morisawa committed

syuilo's avatar
syuilo committed
Launch
--------------------------------
syuilo⭐️'s avatar
syuilo⭐️ committed
Just `sudo npm start`. GLHF!
syuilo's avatar
syuilo committed

syuilo's avatar
syuilo committed
Testing
--------------------------------
Run `npm test` after building

Debugging :bug:
--------------------------------
### Show debug messages
Aya Morisawa's avatar
Aya Morisawa committed
Misskey uses [debug](https://github.com/visionmedia/debug) and the namespace is `misskey:*`.
syuilo's avatar
syuilo committed

Aya Morisawa's avatar
Aya Morisawa committed
Contribution
syuilo's avatar
syuilo committed
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
Please see [Contribution guide](./CONTRIBUTING.md).
syuilo⭐️'s avatar
syuilo⭐️ committed

syuilo's avatar
syuilo committed
Collaborators
------------------------------
syuilo's avatar
syuilo committed
| ![syuilo][syuilo-icon] | ![Morisawa Aya][ayamorisawa-icon] | ![otofune][otofune-icon]        |
|------------------------|-----------------------------------|---------------------------------|
| [syuilo][syuilo-link]  | [Aya Morisawa][ayamorisawa-link]  | [Otoha Funabashi][otofune-link] |
syuilo⭐️'s avatar
syuilo⭐️ committed

syuilo's avatar
syuilo committed
Copyright
------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
Misskey is an open-source software licensed under [The MIT License](LICENSE).

[mit]:                http://opensource.org/licenses/MIT
[mit-badge]:          https://img.shields.io/badge/license-MIT-444444.svg?style=flat-square
[travis-link]:        https://travis-ci.org/syuilo/misskey
syuilo's avatar
syuilo committed
[travis-badge]:       http://img.shields.io/travis/syuilo/misskey/master.svg?style=flat-square
[dependencies-link]:  https://gemnasium.com/syuilo/misskey
[dependencies-badge]: https://img.shields.io/gemnasium/syuilo/misskey.svg?style=flat-square
syuilo's avatar
syuilo committed
[himasaku]:           https://himasaku.net
[himawari-badge]:     https://img.shields.io/badge/%E5%8F%A4%E8%B0%B7-%E5%90%91%E6%97%A5%E8%91%B5-1684c5.svg?style=flat-square
[sakurako-badge]:     https://img.shields.io/badge/%E5%A4%A7%E5%AE%A4-%E6%AB%BB%E5%AD%90-efb02a.svg?style=flat-square
syuilo's avatar
syuilo committed

<!-- Collaborators Info -->
[syuilo-link]:      https://syuilo.com
[syuilo-icon]:      https://avatars2.githubusercontent.com/u/4439005?v=3&s=70
[ayamorisawa-link]: https://github.com/ayamorisawa
[ayamorisawa-icon]: https://avatars0.githubusercontent.com/u/10798641?v=3&s=70
[otofune-link]:     https://github.com/otofune
[otofune-icon]:     https://avatars0.githubusercontent.com/u/15062473?v=3&s=70