logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://anongit.hacktivis.me/git/pleroma.git/

README.md (2027B)


  1. # Run OTP releases on older glibc using Docker
  2. Pleroma OTP releases are built on specific distros and may require a newer `glibc`
  3. than your host has. A typical failure looks like:
  4. ```
  5. ... /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found ...
  6. ```
  7. If you don't want to upgrade your host OS, you can run the existing OTP release
  8. from `/opt/pleroma` inside an Ubuntu 24.04 container while keeping your existing
  9. host paths (`/etc/pleroma`, `/var/lib/pleroma`, etc.).
  10. This folder provides a "shim" container + systemd unit. It is **not** the Pleroma
  11. Docker image.
  12. ## What this does
  13. - Builds a small Ubuntu 24.04 image with runtime libs (including newer `glibc`).
  14. - Mounts your existing host release at `/opt/pleroma` into the container.
  15. - Runs as the same UID/GID that owns `/opt/pleroma` on the host (via `gosu`).
  16. - Optionally runs migrations automatically on container start.
  17. - Uses `network_mode: host` so your existing config that talks to `localhost`
  18. keeps working.
  19. ## Setup (Debian/Ubuntu host)
  20. 1. Install Docker Engine + the Docker Compose plugin.
  21. 2. Copy these files to a stable location (example: `/etc/pleroma/container`):
  22. ```
  23. mkdir -p /etc/pleroma/container
  24. cp -a /opt/pleroma/installation/release-to-docker/* /etc/pleroma/container/
  25. ```
  26. 3. Build the shim image:
  27. ```
  28. cd /etc/pleroma/container
  29. docker compose build
  30. ```
  31. 4. Replace your systemd unit:
  32. ```
  33. cp /etc/pleroma/container/pleroma.service /etc/systemd/system/pleroma.service
  34. systemctl daemon-reload
  35. systemctl enable --now pleroma
  36. journalctl -u pleroma -f
  37. ```
  38. ## Running `pleroma_ctl`
  39. Since the host binary may not run on older `glibc`, run admin commands inside the
  40. container:
  41. ```
  42. cd /etc/pleroma/container
  43. docker compose exec pleroma /opt/pleroma/bin/pleroma_ctl status
  44. docker compose run --rm --no-deps pleroma /opt/pleroma/bin/pleroma_ctl migrate
  45. ```
  46. ## Configuration notes
  47. - Migrations run automatically by default.
  48. - Set `PLEROMA_RUN_MIGRATIONS=0` in `docker-compose.yml` to disable.