Skip to content
Snippets Groups Projects
README.md 4.35 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](./resources/ss.jpg)

syuilo's avatar
syuilo committed
Key features
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
* Automatically updated timeline
syuilo⭐️'s avatar
syuilo⭐️ committed
* Private chatting (messaging)
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
* Third-party application support
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
Building
--------------------------------
syuilo⭐️'s avatar
syuilo⭐️ committed
Run `npm run build` after `npm install`. GLHF!
syuilo's avatar
syuilo committed

Launch
--------------------------------
syuilo⭐️'s avatar
syuilo⭐️ committed
`sudo npm start`
syuilo's avatar
syuilo committed
Testing
--------------------------------
Run `npm test` after building

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

syuilo's avatar
syuilo committed
Contribute
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
Do you have feature request or problem with Misskey?
Aya Morisawa's avatar
Aya Morisawa committed
Please create issue to report it if it is about the Misskey implementation itself.
Aya Morisawa's avatar
Aya Morisawa committed

Currently Misskey is missing documents so writing documents would be appreciated.
Pull requests are always welcome.

syuilo⭐️'s avatar
syuilo⭐️ committed
*We love contributions from anybody.*
Aya Morisawa's avatar
Aya Morisawa committed

syuilo⭐️'s avatar
syuilo⭐️ committed
[Contribution guide](./CONTRIBUTING.md)

syuilo⭐️'s avatar
syuilo⭐️ committed
### TODO
syuilo⭐️'s avatar
syuilo⭐️ committed
* More [tests](./test)!
* More [docs](./docs)!
Aya Morisawa's avatar
Aya Morisawa committed
* More cleaning up code!
syuilo⭐️'s avatar
syuilo⭐️ committed

syuilo's avatar
syuilo committed
Collaborators
------------------------------
syuilo⭐️'s avatar
syuilo⭐️ committed
| ![syuilo](https://avatars2.githubusercontent.com/u/4439005?v=3&s=70) | ![Morisawa Aya](https://avatars0.githubusercontent.com/u/10798641?v=3&s=70)
|---|---|
| [syuilo](https://syuilo.com) | [Aya Morisawa](https://github.com/ayamorisawa)|

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).
syuilo⭐️'s avatar
syuilo⭐️ committed
🍮

[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