Skip to content
Snippets Groups Projects
README.md 5.31 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
--------------------------------
Aya Morisawa's avatar
Aya Morisawa committed
1. `sudo npm start`
syuilo's avatar
syuilo committed
GLHF!

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

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

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

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 sophisticated code!
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