$check
#m8!
.github | ||
.travis | ||
assets | ||
docker | ||
docs | ||
elasticsearch | ||
locales | ||
src | ||
test | ||
tools | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.travis.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
gulpfile.ts | ||
jsconfig.json | ||
LICENSE | ||
package.json | ||
README.md | ||
swagger.js | ||
tsconfig.json | ||
tslint.json | ||
webpack.config.ts |
Welcome!
Misskey is a completely open source, ultimately sophisticated new type of mini-blog based SNS.
Key features
- Automatically updated timeline
- Private messages
- Free 1GB storage
- Mobile device support (smartphone, tablet, etc)
- Web API for third-party applications
- Twitter integration
and more! You can touch with your own eyes at https://misskey.xyz/.
Setup
Dependencies 📦
Please install these softwares.
- Node.js and npm
- MongoDB
- Redis
- GraphicsMagick
Optional
- Elasticsearch - used to provide searching feature instead of MongoDB
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}
reCAPTCHA tokens
Please visit https://www.google.com/recaptcha/intro/ and generate keys.
Setup with Docker 🐳
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.
Install
Using built code
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.
git clone -b release git://github.com/syuilo/misskey.git
cd misskey
npm install
Update
git fetch
git reset --hard origin/release
npm install
Using source code
git clone -b master git://github.com/syuilo/misskey.git
cd misskey
npm install
npm run build
Update
git pull origin master
npm install
npm run build
Launch
Just sudo npm start
. GLHF!
Testing
Run npm test
after building
Debugging 🐛
Show debug messages
Misskey uses debug and the namespace is misskey:*
.
Contribution
Please see Contribution guide.
Collaborators
syuilo | Aya Morisawa | Otoha Funabashi |
Copyright
Misskey is an open-source software licensed under The MIT License.