Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/misskey-dev/dolphin

🐬 A Lightweight ActivityPub Server
https://github.com/misskey-dev/dolphin

activitypub federation misskey nodejs

Last synced: about 2 months ago
JSON representation

🐬 A Lightweight ActivityPub Server

Awesome Lists containing this project

README

        

Dolphin


Dolphin


Dolphin is a lightweight ActivityPub server for personal (or team).


Become a Patron!

## 🍀 Why Dolphin
Dolphin is a fork of [Misskey](https://github.com/syuilo/misskey) and a sister project of it.
While inheriting attractive features such as reaction and high performance, it has been optimized for single-user use. As a result, it is easier to use and lighter.

Looking for a lightweight, high-performance ActivityPub server? Want to use Misskey, but is it heavy to use alone? Try Dolphin.

## ✨ Gallery





## 📊 Comparison




Misskey
Dolphin
Mastodon




Reactions
✔️
✔️



LTL
✔️

✔️


STL
✔️




GTL
✔️

✔️


Messaging
✔️




Games
✔️




Pages
✔️




List
✔️
✔️
✔️


Group
✔️



### Build time
X axis represents seconds. Lower is better.

## 📦 Install

### Create Dolphin user
Running dolphin as root is not a good idea so we need to create another user for that

For example:
```
adduser --disabled-password --disabled-login dolphin
```

### Install dependencies
Please install and setup these softwares:

* **[Node.js](https://nodejs.org/en/)** >= 11.7.0
* **[PostgreSQL](https://www.postgresql.org/)** >= 10
* **[Redis](https://redis.io/)**

### Install Dolphin

1. Connect to Dolphin user

`su - dolphin`

2. Clone the Dolphin repo

`git clone -b master git://github.com/syuilo/dolphin.git`

3. Navigate to Dolphin directory

`cd dolphin`

4. Install Dolphin dependencies.

`npm i`

### Configure Dolphin
1. Copy the `.config/example.yml` and rename it to `default.yml`.

`cp .config/example.yml .config/default.yml`

2. Edit `default.yml`

e.g. `vim .config/default.yml`

### Build Dolphin
Build dolphin with the following:

`NODE_ENV=production npm run build`

If you're on Debian...
You will need to install the `build-essential`, `python` package.

If you're still encountering errors about some modules...
Use node-gyp:

1. `npx node-gyp configure`
2. `npx node-gyp build`
3. `NODE_ENV=production npm run build`

### Initialize database
``` shell
npm run init
```

That is it.

### Launch Dolphin
``` shell
NODE_ENV=production npm start
```

Enjoy!

## 🆕 How to update your Dolphin
1. `git pull`
2. `npm i`
3. `NODE_ENV=production npm run build`
4. `npm run migrate`
5. Restart your Dolphin process to apply changes

# 🛠️ Contribution
## Localization
Visit https://crowdin.com/project/dolphin-ap