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.
HJ ea1d21aafa Merge branch 'feature/show-who-to-follow-in-mobile-view' into 'develop' 10 hours ago
build Prevent html-minifier to remove placeholder comment in index.html template 1 month ago
config whoopsies 1 month ago
src Show who to follow in the mobile view 10 hours ago
static Merge branch 'scope-copy-default' into 'develop' 2 weeks ago
test Merge branch 'feature/replace-panel-switcher' into 'develop' 2 weeks ago
.babelrc added JSX support 4 months ago
.editorconfig Basic skeleton 2 years ago
.eslintignore Basic skeleton 2 years ago
.eslintrc.js Basic skeleton 2 years ago
.gitignore whoopsies 1 month ago
.gitlab-ci.yml remove deploy stage 2 months ago
.node-version Add .node-version 1 year ago
CHANGELOG Add changelog 1 year ago Update 1 year ago maybe i should actually add myself to contributors list? 6 months ago
LICENSE Add license 2 years ago Update README 2 weeks ago
index.html Add placeholder to insert server generated metatags. Related to #430 1 month ago
package.json Merge branch 'develop' into feature/new-user-routes 1 month ago
yarn.lock Merge branch 'develop' into feature/new-user-routes 1 month 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. scopeOptionsEnabled gives you input fields for CWs and the scope settings.


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.