mediagoblin-docker/README.md

70 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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.
Hosted 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
$ sudo 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 \
projects.torsion.org/witten/mediagoblin-docker
```
## User management
Since this image is for running a private MediaGoblin server, user
self-registration is disabled. So, to add a user, first exec into the running
Docker image:
```console
$ sudo docker exec -it mediagoblin bash
```
Where `mediagoblin` is the name of your running Docker container. If you dont
know the name to use, try looking in `docker ps` output.
Then, add a user (follow the prompts):
```console
# su - mediagoblin
$ gmg --conf_file /app/mediagoblin_local.ini adduser
```
Finally, if you want to make the new user into an admin user:
```console
$ gmg --conf_file /app/mediagoblin_local.ini makeadmin username
```
Where `username` corresponds to the user you added above.