docker-pleroma/README.md

96 lines
4.1 KiB
Markdown
Raw Normal View History

2021-02-02 01:57:23 +00:00
# pleroma
2023-03-26 14:33:34 +00:00
This is a Docker image for running [Pleroma](https://pleroma.social),
based on the [official installation
instructions](https://docs-develop.pleroma.social/backend/installation/otp_en/)
and `ubuntu:20.04`. Build it yourself, or get it from [Docker
Hub](https://hub.docker.com/r/phundrak/pleroma).
If you are reading this from DockerHub, you can head over to the repository at <https://labs.phundrak.com/phundrak/docker-pleroma>.
2021-02-02 02:15:58 +00:00
## Fork
This repository is a fork of
2023-03-26 14:33:34 +00:00
<https://github.com/jordemort/docker-pleroma>, whose Docker image I
used when I first set up my first pleroma instance. I am now using
this fork to run my new instance, hopefully it wont break.
2022-05-02 04:11:37 +00:00
2021-02-02 05:38:02 +00:00
## Configuration
2023-03-26 14:33:34 +00:00
The container expects to find a Pleroma configuration file at
`/etc/pleroma/config.exs`. If the configuration does not exist, the
container will call `pleroma_ctl instance gen` for you. The parameters
passed to `instance gen` can be influenced by a number of environment
variables.
2021-02-02 05:38:02 +00:00
The three environment variables you MUST supply are:
- `DOMAIN`
- `ADMIN_EMAIL`
- `POSTGRES_PASSWORD`
2023-03-26 14:33:34 +00:00
The container will try to infer reasonable defaults for the rest of
the variables, if not set. Note that some of these defaults may be
different from Pleroma's own default settings:
2021-02-02 05:38:02 +00:00
| Argument | Evironment variable | Default value |
|-----------------------|---------------------|--------------------------|
| `--domain` | `DOMAIN` | _none_ |
| `--instance-name` | `INSTANCE_NAME` | same as `DOMAIN` |
| `--admin-email` | `ADMIN_EMAIL` | _none_ |
| `--notify-email` | `NOTIFY_EMAIL` | same as `ADMIN_EMAIL` |
| `--dbhost` | `POSTGRES_HOST` | postgres |
| `--dbname` | `POSTGRES_DB` | pleroma |
| `--dbuser` | `POSTGRES_USER` | pleroma |
| `--dbpass` | `POSTGRES_PASSWORD` | _none_ |
| `--rum` | `USE_RUM` | n |
| `--indexable` | `INDEXABLE` | y |
| `--db-configurable` | `DB_CONFIGURABLE` | y |
| `--uploads-dir` | `UPLOADS_DIR` | /var/lib/pleroma/uploads |
| `--static-dir` | `STATIC_DIR` | /var/lib/pleroma/static |
| `--listen-ip` | `LISTEN_IP` | 0.0.0.0 |
| `--listen-port` | `LISTEN_PORT` | 4000 |
| `--strip-uploads` | `STRIP_UPLOADS` | y |
| `--anonymize-uploads` | `ANONYMIZE_UPLOADS` | y |
| `--dedupe-uploads` | `DEDUPE_UPLOADS` | y |
2021-02-02 05:38:02 +00:00
2021-04-29 20:05:11 +00:00
2023-03-26 14:33:34 +00:00
See the [documentation for `instance
gen`](https://docs-develop.pleroma.social/backend/administration/CLI_tasks/instance/)
for more information.
2021-02-02 05:38:02 +00:00
2023-03-26 14:33:34 +00:00
If you want to use RUM indexes, you need a [PostgreSQL container that
supports them](https://github.com/jordemort/docker-postgres-rum/).
2021-02-02 05:38:02 +00:00
2023-03-26 14:33:34 +00:00
If you would like to use the [SoapBox UI](https://soapbox.pub/)
instead of the normal Pleroma UI, you can set an environment variable
USE_SOAPBOX to "y". SoapBox is a alternative to the normal Pleroma UI
and emphasizes easier private branding and theming.
2021-04-29 17:04:18 +00:00
2021-02-02 05:38:02 +00:00
## Persistence
2023-03-26 14:33:34 +00:00
If you want your instance data to persist properly, you need to mount
volumes on the following directories:
2021-02-02 05:38:02 +00:00
- `/etc/pleroma`
- `/var/lib/pleroma/static`
- `/var/lib/pleroma/uploads`
2023-03-26 14:33:34 +00:00
Even if you aren't supplying a configuration and letting the container
generate it for you, it is still important to persist the generated
configuration in `/etc/pleroma` - it contains generated secrets, and
things may get weird or broken if those change every time you restart
your container.
2021-02-02 05:38:02 +00:00
## Example
2023-03-26 14:33:34 +00:00
The git repository for this container includes [an example of how to
use it with
`docker-compose`](https://github.com/jordemort/docker-pleroma/tree/main/example)
2021-02-02 05:38:02 +00:00
## Prior art & inspiration
2023-03-26 14:33:34 +00:00
- https://www.github.com/goodtiding5/docker-pleroma - based on Alpine,
if you're into that sort of thing :)
- https://github.com/jordemort/docker-pleroma - original repository
from which this one is forked