soapbox/docs/customization.md

4.5 KiB

Customizing Soapbox

If you haven't already, install Soapbox. But before you install soapbox, you should consider how Soapbox is installed, by default.

Soapbox, by default, is installed to replace the default Pleroma front end. By extension, the Pleroma Masto front end continues to be available at the /web sub-URL, which you can reference, if you'd like, in the promoPanel section of soapbox.json

There are two main places Soapbox gets its configuration:

  • /opt/pleroma/config/prod.secret.exs

  • /opt/pleroma/instance/static/instance/soapbox.json

Logos, branding, etc. take place in the soapbox.json file. For example:

{
  "logo": "/instance/images/soapbox-logo.svg",
  "brandColor": "#0482d8",
  "promoPanel": {
    "items": [{
      "icon": "area-chart",
      "text": "Our Site stats",
      "url": "https://fediverse.network/example.com"
    }, {
      "icon": "comment-o",
      "text": "Our Site blog",
      "url": "https://blog.example.com"
    }]
  },
  "extensions": {
    "patron": false
  },
  "defaultSettings": {
    "autoPlayGif": false,
    "themeMode": "light"
  },
  "copyright": "♡2020. Copying is an act of love. Please copy and share.",
  "navlinks": {
    "homeFooter": [
      { "title": "About", "url": "/about" },
      { "title": "Terms of Service", "url": "/about/tos" },
      { "title": "Privacy Policy", "url": "/about/privacy" },
      { "title": "DMCA", "url": "/about/dmca" },
      { "title": "Source Code", "url": "/about#opensource" }
    ]
  }
}

Customizable features include:

  • Instance name
  • Site logo
  • Promo panel list items, e.g. blog site link
  • Favicon
  • About pages
  • Default user settings

Instance Name

Instance name is edited during the Pleroma installation step or via AdminFE.

Instance Description

Instance description is edited during the Pleroma installation step or via AdminFE.

Captcha on Registration Page

Use of the Captcha feature on the registration page is configured during the Pleroma installation step or via AdminFE.

Site Logo, Brand Color, and Promo Panel List Items

The site logo, brand color, and promo panel list items are customized by copying soapbox.example.json in the static/instance folder to soapbox.json and editing that file. It is recommended that you test your edited soapbox.json file in a JSON validator, such as JSONLint, before using it.

The icon names for the promo panel list items can be source from Fork Awesome. Note that you should hover over or click a selected icon to see what the icon's real name is, e.g. world

The site logo, in SVG format, is rendered to be able to allow the site theme colors to appear in the less than 100% opaque sections of the logo. The logo colors are rendered in a color that provides contrast for the site theme.

The navlinks section of the soapbox.json file references the links that are displayed at the bottom of the Registration/Login, About, Terms of Service, Privacy Policy and Copyright Policy (DMCA) pages.

The brandColor in soapbox.json refers to the main color upon which the look of soapbox-fe is defined.

After editing your HTML files and folder names, save the file and refresh your browser.

Favicon

The favicon is customized by dropping a favicon.png file into the /static folder and refreshing your browser.

About Pages

Soapbox supports any number of custom HTML pages under yoursite.com/about/:slug.

The finder will search /opt/pleroma/instance/static/instance/about/:slug.html to find your page. Use the name index.html for the root page.

Example templates are available for editing in the static/instance/about.example folder, such as:

  • index.html
  • tos.html
  • privacy.html
  • dmca.html

Simply rename about.example to about, or create your own.

The soapbox.json file navlinks section's default URL values are pointing to the above file location, when the about.example folder is renamed to about These four template files have placeholders in them, e.g. "Your_Instance", that should be edited to match your Soapbox instance configuration, and will be meaningless to your users until you edit them.

Alternate Soapbox URL Root Location

If you want to install Soapbox at an alternate URL, allowing you to potentially run more than 2 front ends on a Pleroma server, you can consider deploying the Nginx config created by @a1batross, available here

Tech support is limited for this level of customization