{"id":13661672,"url":"https://github.com/misskey-dev/dolphin","last_synced_at":"2025-04-07T15:09:44.817Z","repository":{"id":45518286,"uuid":"215646113","full_name":"misskey-dev/dolphin","owner":"misskey-dev","description":"🐬 A Lightweight ActivityPub Server","archived":false,"fork":false,"pushed_at":"2023-08-17T19:45:37.000Z","size":2889,"stargazers_count":278,"open_issues_count":24,"forks_count":34,"subscribers_count":18,"default_branch":"develop","last_synced_at":"2025-03-28T16:16:27.591Z","etag":null,"topics":["activitypub","federation","misskey","nodejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/misskey-dev.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":null,"patreon":"syuilo","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2019-10-16T21:16:53.000Z","updated_at":"2025-02-25T12:01:51.000Z","dependencies_parsed_at":"2022-07-19T08:29:55.528Z","dependency_job_id":null,"html_url":"https://github.com/misskey-dev/dolphin","commit_stats":{"total_commits":463,"total_committers":3,"mean_commits":"154.33333333333334","dds":0.006479481641468721,"last_synced_commit":"4018da88d4704a4f5e5ee75cecf6dd2c6dc4b844"},"previous_names":["misskey-dev/dolphin","syuilo/dolphin"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misskey-dev%2Fdolphin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misskey-dev%2Fdolphin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misskey-dev%2Fdolphin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/misskey-dev%2Fdolphin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/misskey-dev","download_url":"https://codeload.github.com/misskey-dev/dolphin/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247033764,"owners_count":20872532,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["activitypub","federation","misskey","nodejs"],"created_at":"2024-08-02T05:01:39.217Z","updated_at":"2025-04-07T15:09:44.791Z","avatar_url":"https://github.com/misskey-dev.png","language":"TypeScript","funding_links":["https://patreon.com/syuilo","https://www.patreon.com/syuilo"],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"./assets/dolphin.svg\" alt=\"Dolphin\" height=\"200\"\u003e\u003c/p\u003e\n\n\u003cdiv\u003e\n\u003ch1 align=\"center\"\u003eDolphin\u003c/h1\u003e\n\u003cp align=\"center\"\u003eDolphin is a lightweight ActivityPub server for personal (or team).\u003c/p\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://www.patreon.com/syuilo\"\u003e\u003cimg src=\"https://c5.patreon.com/external/logo/become_a_patron_button@2x.png\" alt=\"Become a Patron!\" width=\"160\" /\u003e\u003c/a\u003e\u003c/p\u003e\n\n## 🍀 Why Dolphin\nDolphin is a fork of [Misskey](https://github.com/syuilo/misskey) and a sister project of it.\nWhile 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.\n\nLooking for a lightweight, high-performance ActivityPub server? Want to use Misskey, but is it heavy to use alone? Try Dolphin.\n\n## ✨ Gallery\n\u003cimg src=\"./assets/ss/1.jpg\" alt=\"\" align=\"left\" height=\"200\"\u003e\n\u003cimg src=\"./assets/ss/2.jpg\" alt=\"\" align=\"left\" height=\"200\"\u003e\n\u003cimg src=\"./assets/ss/3.jpg\" alt=\"\" align=\"left\" height=\"200\"\u003e\n\u003cimg src=\"./assets/ss/4.jpg\" alt=\"\" align=\"left\" height=\"200\"\u003e\n\u003cimg src=\"./assets/ss/5.jpg\" alt=\"\" align=\"left\" height=\"200\"\u003e\n\u003cimg src=\"./assets/ss/0.png\" alt=\"\" height=\"200\"\u003e\n\n## 📊 Comparison\n\u003ctable\u003e\n\t\u003cthead\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003e\u003c/th\u003e\n\t\t\t\u003cth\u003eMisskey\u003c/th\u003e\n\t\t\t\u003cth\u003eDolphin\u003c/th\u003e\n\t\t\t\u003cth\u003eMastodon\u003c/th\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/thead\u003e\n\t\u003ctbody\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eReactions\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eLTL\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eSTL\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eGTL\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eMessaging\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eGames\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003ePages\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eList\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003cth\u003eGroup\u003c/th\u003e\n\t\t\t\u003ctd\u003e✔️\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\t\u003ctd\u003e❌\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n### Build time\nX axis represents seconds. Lower is better.\n\u003cimg src=\"http://drive.google.com/uc?export=view\u0026id=1EoVg4R_npLYqmQz5xoxxWb_AQkM4zTF4\" alt=\"\"\u003e\n\n## 📦 Install\n\n### Create Dolphin user\nRunning dolphin as root is not a good idea so we need to create another user for that\n\nFor example:\n```\nadduser --disabled-password --disabled-login dolphin\n```\n\n### Install dependencies\nPlease install and setup these softwares:\n\n* **[Node.js](https://nodejs.org/en/)** \u003e= 11.7.0\n* **[PostgreSQL](https://www.postgresql.org/)** \u003e= 10\n* **[Redis](https://redis.io/)**\n\n### Install Dolphin\n\n1. Connect to Dolphin user\n\n\t`su - dolphin`\n\n2. Clone the Dolphin repo\n\n\t`git clone -b master git://github.com/syuilo/dolphin.git`\n\n3. Navigate to Dolphin directory\n\n\t`cd dolphin`\n\n4. Install Dolphin dependencies.\n\n\t`npm i`\n\n### Configure Dolphin\n1. Copy the `.config/example.yml` and rename it to `default.yml`.\n\n\t`cp .config/example.yml .config/default.yml`\n\n2. Edit `default.yml`\n\n\te.g. `vim .config/default.yml`\n\n### Build Dolphin\nBuild dolphin with the following:\n\n`NODE_ENV=production npm run build`\n\n\u003cdetails\u003e\n\u003csummary\u003eIf you're on Debian...\u003c/summary\u003e\nYou will need to install the `build-essential`, `python` package.\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eIf you're still encountering errors about some modules...\u003c/summary\u003e\nUse node-gyp:\n\n1. `npx node-gyp configure`\n2. `npx node-gyp build`\n3. `NODE_ENV=production npm run build`\n\u003c/details\u003e\n\n### Initialize database\n``` shell\nnpm run init\n```\n\nThat is it.\n\n### Launch Dolphin\n``` shell\nNODE_ENV=production npm start\n```\n\nEnjoy!\n\n## 🆕 How to update your Dolphin\n1. `git pull`\n2. `npm i`\n3. `NODE_ENV=production npm run build`\n4. `npm run migrate`\n5. Restart your Dolphin process to apply changes\n\n# 🛠️ Contribution\n## Localization\nVisit https://crowdin.com/project/dolphin-ap\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisskey-dev%2Fdolphin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmisskey-dev%2Fdolphin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmisskey-dev%2Fdolphin/lists"}