Add Python 3 docker-compose recipe for MediaGoblin hacking.
This commit is contained in:
parent
c3096e30d5
commit
8096beab5c
3
.dockerignore
Normal file
3
.dockerignore
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# This helps to reduce the size of the Docker build context.
|
||||||
|
user_dev
|
||||||
|
node_modules
|
33
docker-compose.yml
Normal file
33
docker-compose.yml
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# A docker-compose recipe for MediaGoblin hacking.
|
||||||
|
#
|
||||||
|
# Tested on Trisquel 8. Currently runs Python 3 and works for photos and video.
|
||||||
|
# Audio raises an exception "NameError: name 'audiolab' is not defined".
|
||||||
|
|
||||||
|
# docker-compose up --build
|
||||||
|
# docker-compose run --rm web bin/python
|
||||||
|
# docker-compose start [service]
|
||||||
|
# docker-compose stop [service]
|
||||||
|
# docker-compose down
|
||||||
|
|
||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile-python3
|
||||||
|
# Is user required here, or does it just pick up from the last USER in Dockerfile?
|
||||||
|
user: www-data
|
||||||
|
# Consider running dbupdate here (at runtime), rather than in Dockerfile.
|
||||||
|
command: ./lazyserver.sh --server-name=broadcast
|
||||||
|
volumes:
|
||||||
|
# Mount your local copy of the source for hecking on MediaGoblin.
|
||||||
|
- ./mediagoblin:/opt/mediagoblin/mediagoblin
|
||||||
|
|
||||||
|
# Mount your local media/secrets. Requires some initial setup:
|
||||||
|
#
|
||||||
|
# $ mkdir user_dev/media user_dev/crypto
|
||||||
|
# $ chmod 777 user_dev/media user_dev_crypto
|
||||||
|
- ./user_dev:/opt/mediagoblin/user_dev
|
||||||
|
ports:
|
||||||
|
- "6543:6543"
|
@ -84,6 +84,15 @@ def read_mediagoblin_config(config_path, config_spec_path=CONFIG_SPEC_PATH):
|
|||||||
config_spec_path,
|
config_spec_path,
|
||||||
encoding="UTF8", list_values=False, _inspec=True)
|
encoding="UTF8", list_values=False, _inspec=True)
|
||||||
|
|
||||||
|
# HACK to get MediaGoblin running under Docker/Python 3. Without this line,
|
||||||
|
# `./bin/gmg dbupdate` fails as the configuration under 'DEFAULT' in
|
||||||
|
# config_spec still had %(here)s markers in it, when these should have been
|
||||||
|
# replaced with actual paths, resulting in
|
||||||
|
# "configobj.MissingInterpolationOption: missing option "here" in
|
||||||
|
# interpolation". This issue doesn't seem to appear when running on Guix,
|
||||||
|
# but adding this line also doesn't appear to cause problems on Guix.
|
||||||
|
_setup_defaults(config_spec, config_path)
|
||||||
|
|
||||||
# Set up extra defaults that will be pushed into the rest of the
|
# Set up extra defaults that will be pushed into the rest of the
|
||||||
# configs. This is a combined extrapolation of defaults based on
|
# configs. This is a combined extrapolation of defaults based on
|
||||||
mainconfig_defaults = copy.copy(config_spec.get("DEFAULT", {}))
|
mainconfig_defaults = copy.copy(config_spec.get("DEFAULT", {}))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user