Skip to content

Managing emoji packs

Every command should be ran as the pleroma user from it's home directory. For example if you are superuser, you would have to wrap the command in su pleroma -s $SHELL -lc "$COMMAND".

From source note about MIX_ENV

The mix command should be prefixed with the name of environment your Pleroma server is running in, usually it's MIX_ENV=prod

Lists emoji packs and metadata specified in the manifest

./bin/pleroma_ctl emoji ls-packs [option ...]
mix pleroma.emoji ls-packs [option ...]


  • -m, --manifest PATH/URL - path to a custom manifest, it can either be an URL starting with http, in that case the manifest will be fetched from that address, or a local path

Fetch, verify and install the specified packs from the manifest into STATIC-DIR/emoji/PACK-NAME

./bin/pleroma_ctl emoji get-packs [option ...] <pack ...>
mix pleroma.emoji get-packs [option ...] <pack ...>


  • -m, --manifest PATH/URL - same as ls-packs

Create a new manifest entry and a file list from the specified remote pack file

./bin/pleroma_ctl emoji gen-pack PACK-URL
mix pleroma.emoji gen-pack PACK-URL

Currently, only .zip archives are recognized as remote pack files and packs are therefore assumed to be zip archives. This command is intended to run interactively and will first ask you some basic questions about the pack, then download the remote file and generate an SHA256 checksum for it, then generate an emoji file list for you.

The manifest entry will either be written to a newly created pack_name.json file (pack name is asked in questions) or appended to the existing one, replacing the old pack with the same name if it was in the file previously.

The file list will be written to the file specified previously, replacing that file. You should check that the file list doesn't contain anything you don't need in the pack, that is, anything that is not an emoji (the whole pack is downloaded, but only emoji files are extracted).

Reload emoji packs

./bin/pleroma_ctl emoji reload

This command only works with OTP releases.