42 lines
1.8 KiB
Markdown
42 lines
1.8 KiB
Markdown
# MediaGoblin
|
|
|
|
A basic container for a private MediaGoblin media server (https://mediagoblin.org/), including Nginx and uWSGI. Assumes a separate PostgreSQL database for persistence, and an email host for sending email notifications.
|
|
|
|
Source at https://projects.torsion.org/witten/mediagoblin-docker
|
|
|
|
## Environment variables
|
|
|
|
* `NOTIFICATION_EMAIL`: From address for MediaGoblin notification emails.
|
|
* `EMAIL_HOSTNAME`: Hostname used to send outgoing notification emails.
|
|
* `EMAIL_PORT`: Port number used to send outgoing notification emails.
|
|
* `EMAIL_USERNAME`: Username used to connect to outgoing email host.
|
|
* `EMAIL_PASSWORD`: Password used to connect to outgoing email host.
|
|
* `EMAIL_TLS_SSL`: "true" or "false" for using TLS/SSL encryption for sending emails.
|
|
* `EMAIL_STARTTLS`: "true" or "false" for using STARTTLS encryption for sending emails.
|
|
* `DATABASE_URL`: Connection string for database to use for persistence, including credentials. See example below.
|
|
|
|
## Volumes
|
|
|
|
* `/app/user_dev`: Location to store user media uploads.
|
|
|
|
## Ports
|
|
|
|
* `80`: Only listens on port 80 for HTTP. Intended to be used in conjunction with an external reverse proxy like https://hub.docker.com/r/jwilder/nginx-proxy/ to provide HTTPS or anything else that's needed.
|
|
|
|
## Example
|
|
|
|
```console
|
|
docker run --detach --name=mediagoblin \
|
|
--env NOTIFICATION_EMAIL=media@example.org \
|
|
--env EMAIL_HOSTNAME=mail.example.org \
|
|
--env EMAIL_PORT=587 \
|
|
--env EMAIL_USERNAME=bob@example.org \
|
|
--env EMAIL_PASSWORD=pass \
|
|
--env EMAIL_TLS_SSL=false \
|
|
--env EMAIL_STARTTLS=true \
|
|
--env DATABASE_URL=postgresql://mediagoblin:password@database.example.org/mediagoblin \
|
|
--volume /var/lib/mediagoblin/user_dev:/app/user_dev \
|
|
--publish 80:80 \
|
|
witten/mediagoblin:latest
|
|
```
|