A social media frontend with a focus on custom branding and ease of use. https://soapbox.pub
 
 
 
 
 
Go to file
Alex Gleason cff5f96df4 Merge branch 'accounts-hook' into 'develop'
Switch to useAccount hook in every place it's convenient

See merge request soapbox-pub/soapbox!2566
2023-06-21 22:47:03 +00:00
.github Move FUNDING.yml to .github/FUNDING.yml 2022-04-18 16:20:40 -05:00
.gitlab Add template for easy before/after screenshots 2022-12-28 11:53:09 -05:00
.husky Use lint-staged with Husky to only lint changed files 2021-09-15 11:00:50 -05:00
.storybook Add support for react-intl for Storybook 2023-02-07 14:23:28 -05:00
.vscode vscode: don't lint css through VSCode (rely on stylint and Tailwind extension) 2023-01-17 21:20:46 -06:00
app Fix Patron badge in profile info panel 2023-06-21 17:13:29 -05:00
custom Revert "Replace 'send' icon from Tabler" 2022-12-05 13:09:23 -05:00
docs Add `yarn i18n` command to fix translation files 2023-02-28 10:13:53 -06:00
installation Docker: open fallback backend at :4444 2022-09-04 15:02:12 -05:00
jest Rename some files to .cjs, make the codebase aware of .cjs and .mjs extensions 2023-01-17 18:34:11 -06:00
scripts Change ESLint rules, lint 2023-02-16 00:12:02 +01:00
stories Change ESLint rules, lint 2023-02-16 00:12:02 +01:00
tailwind Rename some files to .cjs, make the codebase aware of .cjs and .mjs extensions 2023-01-17 18:34:11 -06:00
types Types, update styles 2023-02-26 20:34:57 +01:00
webpack Merge remote-tracking branch 'soapbox/develop' into rss-button 2023-01-30 23:16:25 +01:00
.dockerignore dockerignore: .git 2022-09-04 12:54:41 -05:00
.editorconfig Add .editorconfig 2020-04-11 15:02:30 -05:00
.env.example Patron updates 2020-06-30 17:33:21 -05:00
.eslintignore Rename some files to .cjs, make the codebase aware of .cjs and .mjs extensions 2023-01-17 18:34:11 -06:00
.eslintrc.cjs Make EditGroup page work, pretty much 2023-03-29 19:18:20 -05:00
.gitattributes Add .gitattributes, prevent conflicts on CHANGELOG.md 2022-12-14 17:44:16 -06:00
.gitignore Produce a junit.xml during test:coverage 2022-06-13 13:26:51 -05:00
.gitlab-ci.yml Update Node.js to v20 2023-04-20 21:04:44 +00:00
.lintstagedrc.json Rename some files to .cjs, make the codebase aware of .cjs and .mjs extensions 2023-01-17 18:34:11 -06:00
.stylelintrc.json Remove Dyslexic mode 2023-01-09 15:04:28 -06:00
.tool-versions asdf: nodejs 20.0.0 2023-05-02 14:23:04 -05:00
CHANGELOG.md Don't call verify_credentials twice when an account fails 2023-06-10 14:19:46 -05:00
COFE_OF_CONDUCT.md Replace code of conduct with cofe of conduct 2020-05-29 00:57:07 -05:00
Dockerfile Update Node.js to v20 2023-04-20 21:04:44 +00:00
Dockerfile.dev Update Node.js to v20 2023-04-20 21:04:44 +00:00
LICENSE Add LICENSE and README 2020-03-28 16:06:29 -05:00
README.md Update README.md 2023-03-09 21:39:31 +01:00
app.json Add app.json 2022-09-01 17:11:57 -05:00
babel.config.cjs Upgrade babel, simplify deps 2023-02-02 19:32:32 -06:00
compose-dev.yaml Support Docker local development 2022-10-27 12:09:12 -05:00
dangerfile.ts Danger: don't warn about changelog for docs, CI, etc 2022-12-17 10:42:05 -06:00
heroku.yml Add heroku.yml so it uses the Dockerfile 2022-09-01 17:21:05 -05:00
jest.config.cjs Fix tests that set the store wrong 2023-06-20 17:48:57 -05:00
package.json FIX THE TYPE ERRORS 2023-06-20 14:24:39 -05:00
postcss.config.cjs Rename some files to .cjs, make the codebase aware of .cjs and .mjs extensions 2023-01-17 18:34:11 -06:00
renovate.json Renovate: disable lockFileMaintenance 2023-01-05 19:01:25 +00:00
soapbox-screenshot.png Overhaul README 2022-12-18 17:03:11 -06:00
tailwind.config.cjs Remove deprecated Tailwind line-clamp plugin (now bundled with v3.3) 2023-04-03 12:03:59 -05:00
tsconfig.json EntityStore: allow deleting entities 2023-03-14 14:14:48 -05:00
webpack.config.ts Convert Webpack configuration to TypeScript 2022-10-14 15:32:26 -05:00
yarn.lock FIX THE TYPE ERRORS 2023-06-20 14:24:39 -05:00

README.md

Soapbox Screenshot

Soapbox is customizable open-source software that puts the power of social media in the hands of the people. Feature-rich and hyper-focused on providing a user experience to rival Big Tech, Soapbox is already home to some of the biggest alternative social platforms.

On The Fediverse

You may have heard of Mastodon. Soapbox builds upon what Mastodon made great to make something even better.

You can run Mastodon+Soapbox, Rebased+Soapbox, and more.

Soapbox is the frontend (what users see) while Mastodon is the backend (data, APIs). You can mix-and-match in the Fediverse ecosystem.

💡 If you're starting a new server, we highly recommend Rebased+Soapbox. Rebased is our custom-built backend just for Soapbox, providing important new features such as quote posting and chats.

See: Installing Rebased+Soapbox

Try It Out

Want to give Soapbox a shot? Here are some suggested servers:

  • gleasonator.com - operated by the lead developer of Soapbox
  • social.teci.world - free speech server run by a Soapbox contributor
  • spinster.xyz - one of the largest feminist communities on the internet
  • poa.st - the largest Soapbox server on the network

Want to use Soapbox against any existing Mastodon/Pleroma server? Try:

  • fe.soapbox.pub - enter your server's domain name to use Soapbox on any server!

🚀 Starting Your Own Server

Starting your own server is one of the best ways to have freedom online! We recommend installing Rebased+Soapbox.

See here for a detailed setup guide: Installing Rebased+Soapbox

Adding Soapbox to an Existing Server

Already have a server? No problem — it is still possible to use Soapbox.

💡 If using Pleroma, it's recommended to upgrade it to Rebased. This comes with better support and many new features, helping you get the most out of Soapbox.

Developing Soapbox

tl;dr — git clone, yarn, and yarn dev.

For detailed guides, see these pages:

  1. Soapbox local development
  2. yarn commands
  3. How it works
  4. Environment variables
  5. Developing a backend

Contributing

We welcome contributions to this project. To contribute, see Contributing to Soapbox.

Translators can help by providing translations through Weblate. Native speakers from all around the world are welcome!

Project Philosophy

Soapbox was born out of the need to build independent platforms with a unique identity and brand.

This is in contrast to Mastodon's idea, where all servers are called "Mastodon" and use the Mastodon colors and logo. Users won't see the word "Soapbox" throughout the UI, they'll see the name of your website and your logo. To facilitate this, Soapbox has a robust customization UI and integrated moderation tools. Large servers are a priority.

One disadvantage of this approach is that it does not help the software spread. Some of the biggest servers on the network and running Soapbox and people don't even know it!

License & Credits

© Alex Gleason & other Soapbox contributors
© Eugen Rochko & other Mastodon contributors
© Trump Media & Technology Group
© Gab AI, Inc.

Soapbox is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Soapbox is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with Soapbox. If not, see https://www.gnu.org/licenses/.