Indexed by TopGit from live GitHub metadata: angristan/docker-pleroma has 377 stars, written primarily in Elixir. Docker image for the Pleroma federated social network
Snapshot summary built from the project's own GitHub metadata — there's no written TopGit review yet. The page will update automatically when a full review is published.
WHY NO REVIEW YET
TopGit writes full reviews for the most-starred, most-requested repositories. This page is a snapshot until then — see the READ ME tab for the original README in full.
Pleroma is a federated social networking platform, compatible with GNU social and other OStatus implementations. It is free software licensed under the AGPLv3.
It actually consists of two components: a backend, named simply Pleroma, and a user-facing frontend, named Pleroma-FE.
Its main advantages are its lightness and speed.
Pleromians trying to understand the memes
Features
Based on the elixir:alpine image
Ran as an unprivileged user
It works great
Sadly, this is not a reusable (e.g. I can't upload it to the Docker Hub), because for now Pleroma needs to compile the configuration. 😢
Thus you will need to build the image yourself, but I explain how to do it below.
Build-time variables
PLEROMA_VER : Pleroma version (latest commit of the develop branch by default)
GID: group id (default: 911)
UID: user id (default: 911)
Usage
Installation
Create a folder for your Pleroma instance. Inside, you should have Dockerfile and docker-compose.yml from this repo.
Here is the docker-compose.yml. You should change the POSTGRES_PASSWORD variable.
Create the upload and config folder and give write permissions for the uploads:
mkdir uploads config
chown -R 911:911 uploads
Pleroma needs the citext PostgreSQL extension, here is how to add it:
docker-compose up -d db
docker exec -i pleroma_db psql -U pleroma -c "CREATE EXTENSION IF NOT EXISTS citext;"
docker-compose down
Optionally configure Pleroma, see Config Override.
You can now build the image. 2 way of doing it:
docker-compose build
# or
docker build -t pleroma .
I prefer the latter because it's more verbose but this will ignore any build-time variables you have set in docker-compose.yml.
You can now launch your instance:
docker-compose up -d
The initial creation of the database schema will be done automatically. Check if everything went well with:
docker logs -f pleroma_web
Make a new admin user using docker exec (replace fakeadmin with any username you'd like):
docker exec -it pleroma_web sh ./bin/pleroma_ctl user new fakeadmin [email protected] --admin
You can now setup a Nginx reverse proxy in a container or on your host by using the example Nginx config.
Update
By default, the Dockerfile will be built from the latest commit of the develop branch as Pleroma does not have releases for now.
Thus to update, just rebuild your image and recreate your containers:
docker-compose pull # update the PostgreSQL if needed
docker-compose build .
# or
docker build -t pleroma .
docker-compose run --rm web mix ecto.migrate # migrate the database if needed
docker-compose up -d # recreate the containers if needed
If you want to run a specific commit, you can use the PLEROMA_VER variable:
docker build -t pleroma . --build-arg PLEROMA_VER=develop # a branch
docker build -t pleroma . --build-arg PLEROMA_VER=a9203ab3 # a commit
docker build -t pleroma . --build-arg PLEROMA_VER=v2.0.7 # a version
a9203ab3 being the hash of the commit. (They're here)
This value can also be set through docker-compose.yml as seen in the example file provided in this repository.
Config Override
By default the provided docker-compose.yml file mounts config.exs in the Pleroma container, this file is a dynamic configuration that sources some values from the environment variables provided to the container (variables like ADMIN_EMAIL etc.).
For those that want to change configuration that is not exposed through environment variables there is the option to mount the config-override.exs file which can than be modified to your satisfaction. Values set in this file will override anything set in config.exs. The override file provided in this repository disables new registrations on your instance, as an example.
Other Docker images
Here are other Pleroma Docker images that helped me build mine:
TopGit's last sync did not record any GitHub topics for angristan/docker-pleroma. GitHub topics appear in the right sidebar of a repository page; that's the authoritative place to check.
How active is development on angristan/docker-pleroma?
The most recent commit recorded on angristan/docker-pleroma was 1.4 years ago, based on the GitHub push timestamp. The repository has 81 forks — one of the better signals of community interest.
How many stars does angristan/docker-pleroma have?
angristan/docker-pleroma has 377 GitHub stars — refresh the page for the live number, or check github.com/angristan/docker-pleroma. TopGit mirrors GitHub's count but does not claim minute-by-minute accuracy.
Is angristan/docker-pleroma open source?
Yes — angristan/docker-pleroma ships under the MIT license, which makes its source code freely readable (and, depending on license terms, forkable and reusable). Source: github.com/angristan/docker-pleroma.
Where can I see angristan/docker-pleroma in action?
The project maintains a homepage at https://git.pleroma.social/pleroma/pleroma/. The README tab on this page also usually contains screenshots and a quickstart.
Where do I read more about angristan/docker-pleroma?
This TopGit page is a snapshot — the READ ME tab shows the project's own README content (links stripped, images preserved). The GitHub repository at github.com/angristan/docker-pleroma is the definitive source.
Read full README in the tab above.
Is docker-pleroma worth your time?
ChatGPT, Claude and Perplexity can all read this page. Ask one of them what it makes of docker-pleroma.