Pleroma's Official Frontend
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Henry Jameson 82464b3a7e review 19 hours ago
build Fix pipelines and clean up console output 1 month ago
config whoopsies 6 months ago
src review 19 hours ago
static Feature/polls attempt 2 1 week ago
test Feature/polls attempt 2 1 week ago
.babelrc added JSX support 10 months ago
.editorconfig Basic skeleton 2 years ago
.eslintignore Basic skeleton 2 years ago
.eslintrc.js Proper clientId/secret/token caching, MastoAPI registration 1 month ago
.gitignore whoopsies 6 months ago
.gitlab-ci.yml attempt 2 1 month ago
.node-version Add .node-version 2 years ago fixup! Removed formattingOptionsEnabled in favor of relying on BE-provided list of accepted formatting options 1 week ago
CHANGELOG Add changelog 2 years ago Update 2 years ago maybe i should actually add myself to contributors list? 11 months ago
LICENSE Add license 2 years ago final touches 2 months ago
index.html Eliminate automatic zooming on mobile 1 month ago
package.json Feature/polls attempt 2 1 week ago
yarn.lock Feature/polls attempt 2 1 week ago


A single column frontend for both Pleroma and GS servers.


For Translators

To translate Pleroma-FE, add your language to src/i18n/messages.js. Pleroma-FE will set your language by your browser locale, but you can temporarily force it in the code by changing the locale in main.js.


You don’t need to build Pleroma-FE yourself. Those using the Pleroma backend will be able to use it out of the box. For the GNU social backend, check out to see how to run Pleroma-FE and Qvitter at the same time.

Build Setup

# install dependencies
npm install -g yarn

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

# run unit tests
npm run unit

For Contributors:

You can create file /config/local.json (see example) to enable some convenience dev options:

  • target: makes local dev server redirect to some existing instance’s BE instead of local BE, useful for testing things in near-production environment and searching for real-life use-cases.
  • staticConfigPreference: makes FE’s /static/config.json take preference of BE-served /api/statusnet/config.json. Only works in dev mode.

FE Build process also leaves current commit hash in global variable ___pleromafe_commit_hash so that you can easily see which pleroma-fe commit instance is running, also helps pinpointing which commit was used when FE was bundled into BE.


Edit config.json for configuration.


Login methods

loginMethod can be set to either password (the default) or token, which will use the full oauth redirection flow, which is useful for SSO situations.