Skip to content
Snippets Groups Projects
README.md 3.76 KiB
Newer Older
# Misskey
[![][travis-badge]][travis-link]
syuilo⭐️'s avatar
syuilo⭐️ committed
[![][appveyor-badge]][appveyor-link]
[![][dependencies-badge]][dependencies-link]
[![][mit-badge]][mit]

syuilo's avatar
syuilo committed
[![Sauce Test Status][saucelabs-image]][saucelabs-url]

Aya Morisawa's avatar
Aya Morisawa committed
Welcome!

Aya Morisawa's avatar
Aya Morisawa committed
Misskey is a completely open source, ultimately sophisticated new type of mini-blog based SNS.
syuilo's avatar
syuilo committed
![ss](./resources/ss.jpg)

Aya Morisawa's avatar
Aya Morisawa committed
## Features
* 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
* Thirdparty application support
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

Aya Morisawa's avatar
Aya Morisawa committed
## Building
syuilo⭐️'s avatar
syuilo⭐️ committed
1. Install *git*, *Node.js* and *npm*
Aya Morisawa's avatar
Aya Morisawa committed
2. `git clone git://github.com/syuilo/misskey.git`
3. `cd misskey`
4. `npm install`
5. `npm run config`
6. `npm run build`
Aya Morisawa's avatar
Aya Morisawa committed
## Test
Aya Morisawa's avatar
Aya Morisawa committed
Run `npm test` after building
Aya Morisawa's avatar
Aya Morisawa 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
* **[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
### reCAPTCHA
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

## Launch
syuilo⭐️'s avatar
syuilo⭐️ committed
`sudo npm start`
Aya Morisawa's avatar
Aya Morisawa committed
## Contribute
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.

Aya Morisawa's avatar
Aya Morisawa committed
We love contributions from anybody.

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](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)|

Aya Morisawa's avatar
Aya Morisawa committed
## Copyright
Aya Morisawa's avatar
Aya Morisawa committed
Misskey is 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.svg?style=flat-square&label=Linux
syuilo⭐️'s avatar
syuilo⭐️ committed
[appveyor-link]:      https://ci.appveyor.com/project/syuilo/misskey
syuilo⭐️'s avatar
syuilo⭐️ committed
[appveyor-badge]:     https://img.shields.io/appveyor/ci/syuilo/misskey/master.svg?style=flat-square&label=Windows
[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
[saucelabs-image]:    https://saucelabs.com/browser-matrix/syuilo.svg
[saucelabs-url]:      https://saucelabs.com/u/syuilo