A basic container for a private MediaGoblin media server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dan Helfman e72b7c0d2a Add bullets to README. 4 years ago
scripts Add convenience scripts for build and push of the Docker image. 4 years ago
Dockerfile Remove expose port 443, which isn't used. 4 years ago
README.md Add bullets to README. 4 years ago
mediagoblin_local.ini.template Don't transcode video if it's in a common format browser can play. 4 years ago
nginx.conf Initial import. 4 years ago
run.sh Waiting for database to come up. 4 years ago
uwsgi.yaml Initial import. 4 years ago
wait-for Waiting for database to come up. 4 years ago



A basic container for a MediaGoblin media server (https://mediagoblin.org/), including Nginx and uWSGI. Assumes a separate PostgreSQL database for persistence, and an email relay 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_RELAY_HOST: Hostname used to send outgoing notification emails. Since MediaGoblin isn't terribly configurable as an email client, it's recommended that this "host" is a mail relay like https://hub.docker.com/r/alterrebe/postfix-relay/.
  • DATABASE_URL: Connection string for database to use for persistence, including credentials. See example below.


  • /app/user_dev: Location to store user media uploads.



docker run --detach --name=mediagoblin \
    --env NOTIFICATION_EMAIL=media@example.org \
    --env EMAIL_RELAY_HOST=relay.example.org \
    --env DATABASE_URL=postgresql://mediagoblin:password@database.example.org/mediagoblin \
    --volume /var/lib/mediagoblin/user_dev:/app/user_dev \
    --publish 80:80 \