1
0
Fork 0
mirror of https://git.pleroma.social/pleroma/pleroma.git synced 2026-02-15 17:16:57 +00:00
pleroma/docker/federation
2026-02-03 10:32:43 +04:00
..
mastodon/initializers fedbox: add federation-in-a-box docker tests 2026-02-02 17:23:13 +04:00
pleroma fedbox: add federation-in-a-box docker tests 2026-02-02 17:23:13 +04:00
test_runner fedbox: extract federation test helpers 2026-02-03 10:32:43 +04:00
Caddyfile fedbox: add federation-in-a-box docker tests 2026-02-02 17:23:13 +04:00
compose.yml fedbox: add federation-in-a-box docker tests 2026-02-02 17:23:13 +04:00
README.md mix: add pleroma.fedbox task 2026-02-02 17:23:44 +04:00

Federation-in-a-box (Pleroma)

This is a repo-local Docker Compose setup that runs two Pleroma instances + Mastodon in a private container network and executes a small federation smoke test suite.

This environment is intentionally not production-like:

  • It runs behind an internal Caddy reverse proxy (gateway) with HTTP and internal TLS (HTTPS).
  • It uses a private internal CA (from Caddy) and configures clients to trust it so federation can happen over HTTPS inside the Docker network.

Usage

From the Pleroma repo root:

docker compose -f docker/federation/compose.yml up -d --build
docker compose -f docker/federation/compose.yml --profile fedtest run --rm fedtest

Or via Mix:

mix pleroma.fedbox

Cleanup:

docker compose -f docker/federation/compose.yml down -v

Notes

  • The test runner lives in docker/federation/test_runner/ and is an ExUnit project using Req.
  • Mastodon uses ${MASTODON_IMAGE} (defaults to ghcr.io/mastodon/mastodon:v4.5.3).
  • Pleroma is built from this repo via ../.. (the repo root).
  • Default domains are pleroma1.test, pleroma2.test, mastodon.test.
  • Seeded users are alice@pleroma1.test, bob@pleroma2.test, carol@mastodon.test with password password.
  • The smoke tests cover follow, post delivery, favourites, boosts, and deletes across Pleroma↔Pleroma and Pleroma↔Mastodon.