| 1 | # A docker-compose recipe for MediaGoblin hacking. |
| 2 | # |
| 3 | # Tested on Trisquel 8 and Guix System. Currently runs Python 3 and works for |
| 4 | # images, audio and video. |
| 5 | # |
| 6 | # To run the system: |
| 7 | # |
| 8 | # docker-compose up # or |
| 9 | # docker-compose up --build # to build the images |
| 10 | # |
| 11 | # To get a shell or Python interpreter inside a temporary container: |
| 12 | # |
| 13 | # docker-compose run --rm web /bin/bash |
| 14 | # docker-compose run --rm web /opt/mediagoblin/bin/python |
| 15 | |
| 16 | version: '3' |
| 17 | |
| 18 | services: |
| 19 | web: |
| 20 | build: |
| 21 | # We need to spell this out due to having multiple Dockerfiles. |
| 22 | # |
| 23 | # TODO: It's possible to `docker build -` to not provide any build context |
| 24 | # at all. Is this possible in docker-compose? |
| 25 | context: . |
| 26 | dockerfile: Dockerfile-debian-python3-sqlite |
| 27 | volumes: |
| 28 | # Permissions need to be aligned between host and container for this to work. See |
| 29 | # Dockerfile for details. |
| 30 | - ./mediagoblin:/opt/mediagoblin/mediagoblin |
| 31 | - ./user_dev:/opt/mediagoblin/user_dev |
| 32 | ports: |
| 33 | - "6543:6543" |