WIP: More docker tweaks
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
FROM pillar_py:3.6
|
FROM pillar_py:3.6
|
||||||
MAINTAINER Sybren A. Stüvel <sybren@blender.studio>
|
LABEL maintainer Sybren A. Stüvel <sybren@blender.studio>
|
||||||
|
|
||||||
RUN apt-get install -qy \
|
RUN apt-get install -qy \
|
||||||
git \
|
git \
|
||||||
@@ -11,5 +11,6 @@ RUN apt-get install -qy \
|
|||||||
ENV WHEELHOUSE=/data/wheelhouse
|
ENV WHEELHOUSE=/data/wheelhouse
|
||||||
ENV PIP_WHEEL_DIR=/data/wheelhouse
|
ENV PIP_WHEEL_DIR=/data/wheelhouse
|
||||||
ENV PIP_FIND_LINKS=/data/wheelhouse
|
ENV PIP_FIND_LINKS=/data/wheelhouse
|
||||||
|
RUN mkdir -p $WHEELHOUSE
|
||||||
|
|
||||||
VOLUME /data/wheelhouse
|
VOLUME /data/wheelhouse
|
||||||
|
5
docker/4_run/bash_history
Normal file
5
docker/4_run/bash_history
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
bash docker-entrypoint.sh
|
||||||
|
env | sort
|
||||||
|
apache2ctl start
|
||||||
|
apache2ctl graceful
|
||||||
|
tail -n 40 -f /var/log/apache2/error.log
|
@@ -1,10 +1,10 @@
|
|||||||
FROM pillar_py:3.6
|
FROM pillar_py:3.6
|
||||||
|
LABEL maintainer Sybren A. Stüvel <sybren@blender.studio>
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -qyy \
|
RUN apt-get update && apt-get install -qyy \
|
||||||
-o APT::Install-Recommends=false -o APT::Install-Suggests=false \
|
-o APT::Install-Recommends=false -o APT::Install-Suggests=false \
|
||||||
git \
|
git \
|
||||||
apache2 \
|
apache2 \
|
||||||
libapache2-mod-wsgi \
|
|
||||||
libapache2-mod-xsendfile \
|
libapache2-mod-xsendfile \
|
||||||
libjpeg8 \
|
libjpeg8 \
|
||||||
libtiff5 \
|
libtiff5 \
|
||||||
@@ -27,11 +27,7 @@ RUN mkdir -p $APACHE_RUN_DIR $APACHE_LOCK_DIR $APACHE_LOG_DIR
|
|||||||
ADD wheelhouse /data/wheelhouse
|
ADD wheelhouse /data/wheelhouse
|
||||||
RUN pip3 install --no-index --find-links=/data/wheelhouse -r /data/wheelhouse/requirements.txt
|
RUN pip3 install --no-index --find-links=/data/wheelhouse -r /data/wheelhouse/requirements.txt
|
||||||
|
|
||||||
VOLUME /data/git/blender-cloud
|
VOLUME /data/git
|
||||||
VOLUME /data/git/pillar
|
|
||||||
VOLUME /data/git/pillar-python-sdk
|
|
||||||
VOLUME /data/git/attract
|
|
||||||
VOLUME /data/git/flamenco
|
|
||||||
VOLUME /data/config
|
VOLUME /data/config
|
||||||
VOLUME /data/storage
|
VOLUME /data/storage
|
||||||
|
|
||||||
@@ -40,9 +36,19 @@ ENV USE_X_SENDFILE True
|
|||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
EXPOSE 5000
|
EXPOSE 5000
|
||||||
|
|
||||||
|
ADD wsgi-py36.* /etc/apache2/mods-available/
|
||||||
|
RUN a2enmod rewrite && a2enmod wsgi-py36
|
||||||
|
|
||||||
ADD apache2.conf /etc/apache2/apache2.conf
|
ADD apache2.conf /etc/apache2/apache2.conf
|
||||||
ADD 000-default.conf /etc/apache2/sites-available/000-default.conf
|
ADD 000-default.conf /etc/apache2/sites-available/000-default.conf
|
||||||
ADD docker-entrypoint.sh /docker-entrypoint.sh
|
ADD docker-entrypoint.sh /docker-entrypoint.sh
|
||||||
ADD manage.sh /manage.sh
|
ADD manage.sh /manage.sh
|
||||||
|
|
||||||
ENTRYPOINT ["bash", "/docker-entrypoint.sh"]
|
# Remove some empty top-level directories we won't use anyway.
|
||||||
|
RUN rmdir /media /home 2>/dev/null || true
|
||||||
|
|
||||||
|
# This file includes some useful commands to have in the shell history
|
||||||
|
# for easy access.
|
||||||
|
ADD bash_history /root/.bash_history
|
||||||
|
|
||||||
|
ENTRYPOINT /docker-entrypoint.sh
|
||||||
|
122
docker/4_run/wsgi-py36.conf
Normal file
122
docker/4_run/wsgi-py36.conf
Normal file
@@ -0,0 +1,122 @@
|
|||||||
|
<IfModule mod_wsgi.c>
|
||||||
|
|
||||||
|
|
||||||
|
#This config file is provided to give an overview of the directives,
|
||||||
|
#which are only allowed in the 'server config' context.
|
||||||
|
#For a detailed description of all avaiable directives please read
|
||||||
|
#http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives
|
||||||
|
|
||||||
|
|
||||||
|
#WSGISocketPrefix: Configure directory to use for daemon sockets.
|
||||||
|
#
|
||||||
|
#Apache's DEFAULT_REL_RUNTIMEDIR should be the proper place for WSGI's
|
||||||
|
#Socket. In case you want to mess with the permissions of the directory,
|
||||||
|
#you need to define WSGISocketPrefix to an alternative directory.
|
||||||
|
#See http://code.google.com/p/modwsgi/wiki/ConfigurationIssues for more
|
||||||
|
#information
|
||||||
|
|
||||||
|
#WSGISocketPrefix /var/run/apache2/wsgi
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIPythonOptimize: Enables basic Python optimisation features.
|
||||||
|
#
|
||||||
|
#Sets the level of Python compiler optimisations. The default is '0'
|
||||||
|
#which means no optimisations are applied.
|
||||||
|
#Setting the optimisation level to '1' or above will have the effect
|
||||||
|
#of enabling basic Python optimisations and changes the filename
|
||||||
|
#extension for compiled (bytecode) files from .pyc to .pyo.
|
||||||
|
#When the optimisation level is set to '2', doc strings will not be
|
||||||
|
#generated and retained. This will result in a smaller memory footprint,
|
||||||
|
#but may cause some Python packages which interrogate doc strings in some
|
||||||
|
#way to fail.
|
||||||
|
|
||||||
|
#WSGIPythonOptimize 0
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIPythonPath: Additional directories to search for Python modules,
|
||||||
|
# overriding the PYTHONPATH environment variable.
|
||||||
|
#
|
||||||
|
#Used to specify additional directories to search for Python modules.
|
||||||
|
#If multiple directories are specified they should be separated by a ':'.
|
||||||
|
|
||||||
|
WSGIPythonPath /opt/python/lib/python3.6/site-packages
|
||||||
|
|
||||||
|
#WSGIPythonEggs: Directory to use for Python eggs cache.
|
||||||
|
#
|
||||||
|
#Used to specify the directory to be used as the Python eggs cache
|
||||||
|
#directory for all sub interpreters created within embedded mode.
|
||||||
|
#This directive achieves the same affect as having set the
|
||||||
|
#PYTHON_EGG_CACHE environment variable.
|
||||||
|
#Note that the directory specified must exist and be writable by the user
|
||||||
|
#that the Apache child processes run as. The directive only applies to
|
||||||
|
#mod_wsgi embedded mode. To set the Python eggs cache directory for
|
||||||
|
#mod_wsgi daemon processes, use the 'python-eggs' option to the
|
||||||
|
#WSGIDaemonProcess directive instead.
|
||||||
|
|
||||||
|
#WSGIPythonEggs directory
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIRestrictEmbedded: Enable restrictions on use of embedded mode.
|
||||||
|
#
|
||||||
|
#The WSGIRestrictEmbedded directive determines whether mod_wsgi embedded
|
||||||
|
#mode is enabled or not. If set to 'On' and the restriction on embedded
|
||||||
|
#mode is therefore enabled, any attempt to make a request against a
|
||||||
|
#WSGI application which hasn't been properly configured so as to be
|
||||||
|
#delegated to a daemon mode process will fail with a HTTP internal server
|
||||||
|
#error response.
|
||||||
|
|
||||||
|
#WSGIRestrictEmbedded On|Off
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIRestrictStdin: Enable restrictions on use of STDIN.
|
||||||
|
#WSGIRestrictStdout: Enable restrictions on use of STDOUT.
|
||||||
|
#WSGIRestrictSignal: Enable restrictions on use of signal().
|
||||||
|
#
|
||||||
|
#Well behaved WSGI applications neither should try to read/write from/to
|
||||||
|
#STDIN/STDOUT, nor should they try to register signal handlers. If your
|
||||||
|
#application needs an exception from this rule, you can disable the
|
||||||
|
#restrictions here.
|
||||||
|
|
||||||
|
#WSGIRestrictStdin On
|
||||||
|
#WSGIRestrictStdout On
|
||||||
|
#WSGIRestrictSignal On
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIAcceptMutex: Specify type of accept mutex used by daemon processes.
|
||||||
|
#
|
||||||
|
#The WSGIAcceptMutex directive sets the method that mod_wsgi will use to
|
||||||
|
#serialize multiple daemon processes in a process group accepting requests
|
||||||
|
#on a socket connection from the Apache child processes. If this directive
|
||||||
|
#is not defined then the same type of mutex mechanism as used by Apache for
|
||||||
|
#the main Apache child processes when accepting connections from a client
|
||||||
|
#will be used. If set the method types are the same as for the Apache
|
||||||
|
#AcceptMutex directive.
|
||||||
|
|
||||||
|
#WSGIAcceptMutex default
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#WSGIImportScript: Specify a script file to be loaded on process start.
|
||||||
|
#
|
||||||
|
#The WSGIImportScript directive can be used to specify a script file to be
|
||||||
|
#loaded when a process starts. Options must be provided to indicate the
|
||||||
|
#name of the process group and the application group into which the script
|
||||||
|
#will be loaded.
|
||||||
|
|
||||||
|
#WSGIImportScript process-group=name application-group=name
|
||||||
|
|
||||||
|
|
||||||
|
#WSGILazyInitialization: Enable/disable lazy initialisation of Python.
|
||||||
|
#
|
||||||
|
#The WSGILazyInitialization directives sets whether or not the Python
|
||||||
|
#interpreter is preinitialised within the Apache parent process or whether
|
||||||
|
#lazy initialisation is performed, and the Python interpreter only
|
||||||
|
#initialised in the Apache server processes or mod_wsgi daemon processes
|
||||||
|
#after they have forked from the Apache parent process.
|
||||||
|
|
||||||
|
#WSGILazyInitialization On|Off
|
||||||
|
|
||||||
|
</IfModule>
|
1
docker/4_run/wsgi-py36.load
Normal file
1
docker/4_run/wsgi-py36.load
Normal file
@@ -0,0 +1 @@
|
|||||||
|
LoadModule wsgi_module /opt/python/mod-wsgi/mod_wsgi.so
|
Reference in New Issue
Block a user