Verified Commit 2cfc9b35 authored by Morgan Bazalgette's avatar Morgan Bazalgette Committed by Haelwenn
Browse files

Rewrite installation guide for using with pleroma be

parent c5526302
# Mastodon Glitch Edition #
# Mastodon Glitch Edition / mastofe repository
> Now with automated deploys!
Here is a fork of mastodon. We could really just remove all of the code except
for the frontend, but to easily pull the upstream repo we'll just keep
everything. This is my fork for the moment with the idea of making the mastofe
just as polished as the pleromafe. If you want to get access, open an issue or
hit me up at
[![Build Status](](
# Development
So here's the deal: we all work on this code, and then it runs on and anyone who uses that does so absolutely at their own risk. can you dig it?
I use a combination of the pleroma backend + yarn + nginx to do local
development. I refuse to install Ruby. Here's how to get it running on your own
- You can view documentation for this project at [](
- And contributing guidelines are available [here]( and [here](
## Install yarn
Yarn will be needed to set up the mastodon frontend for development. Check out . For Debian, it's like this:
# import yarn pub key and repo
curl -sS | sudo apt-key add -
echo "deb stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update
sudo apt-get install yarn
## Mastodon Frontend Setup
# Install dependencies
yarn install -D
npm run dev
# check that http://localhost:3035/packs/common.css works in your browser once
# webpack is done compiling. if css shows up, then it should have worked!
## nginx setup
I'll assume that you have already fired up pleroma using the installation guide.
To work on the frontend while still having the backend up, use this nginx
server {
listen 80;
server_name pleroma.testing;
location /packs {
add_header 'Access-Control-Allow-Origin' '*';
proxy_http_version 1.1;
proxy_set_header Host $http_host;
proxy_pass http://localhost:3035;
location / {
add_header 'Access-Control-Allow-Origin' '*';
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_pass http://localhost:4000;
Change the `server_name` if you like. I personally like to create a new entry
in /etc/hosts and add ` pleroma.testing`, but you do what suits you.
If you have enough luck, navigating to your \<server\_name\>/web should show
you the mastodon frontend, and should also work with all the nice things of
webpack such as hot reloading. Have fun!
import axios from 'axios';
import ready from './ready';
import LinkHeader from './link_header';
export const getLinks = response => {
......@@ -12,17 +11,10 @@ export const getLinks = response => {
return LinkHeader.parse(value);
let csrfHeader = {};
function setCSRFHeader() {
const csrfToken = document.querySelector('meta[name=csrf-token]').content;
csrfHeader['X-CSRF-Token'] = csrfToken;
export default getState => axios.create({
headers: Object.assign(csrfHeader, getState ? {
headers: getState ? {
'Authorization': `Bearer ${getState().getIn(['meta', 'access_token'], '')}`,
} : {}),
} : {},
transformResponse: [function (data) {
try {
......@@ -9,6 +9,7 @@
"build:development": "cross-env RAILS_ENV=development ./bin/webpack",
"build:production": "cross-env RAILS_ENV=production ./bin/webpack",
"manage:translations": "node ./config/webpack/translationRunner.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config config/webpack/development.js --progress --color",
"start": "node ./streaming/index.js",
"test": "npm-run-all test:lint test:jest",
"test:lint": "eslint -c .eslintrc.yml --ext=js app/javascript/ config/webpack/ streaming/",
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment