]> git.parisson.com Git - telemeta.git/commitdiff
app and sandbox refactoring to avoid media volumes mounting inside other volumes.
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Fri, 11 Dec 2015 21:56:21 +0000 (22:56 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Fri, 11 Dec 2015 21:56:21 +0000 (22:56 +0100)
.dockerignore [new file with mode: 0644]
Dockerfile
app/celery_app.py [new file with mode: 0644]
app/deploy/celery_app.sh
app/deploy/start_app.sh
app/sandbox/celery_app.py [deleted file]
app/wsgi.py
docker-compose.yml
telemeta/views/pages.py

diff --git a/.dockerignore b/.dockerignore
new file mode 100644 (file)
index 0000000..2cd65ab
--- /dev/null
@@ -0,0 +1,3 @@
+media
+static
+var
index 59842d76ab90a6f3db1575e20ded0ff4ee3dcd63..7451326fd3a2b8d2bf9db4953c523c35fa0d6235 100644 (file)
@@ -21,16 +21,14 @@ MAINTAINER Guillaume Pellerin <yomguy@parisson.com>, Thomas fillon <thomas@paris
 
 RUN mkdir /opt/app
 RUN mkdir /opt/src
+RUN mkdir /opt/src/Telemeta
 
-WORKDIR /opt/app
-
-ADD requirements.txt /opt/app/
-ADD requirements-dev.txt /opt/app/
-ADD setup.py /opt/app/
-ADD README.rst /opt/app/
-ADD telemeta /opt/app/
-
+COPY . /opt/src/Telemeta
+WORKDIR /opt/src/Telemeta
 RUN pip install -r requirements.txt
 RUN pip install -r requirements-dev.txt --src /opt/src
+RUN python setup.py develop
+
+WORKDIR /opt/app
 
 EXPOSE 8000
diff --git a/app/celery_app.py b/app/celery_app.py
new file mode 100644 (file)
index 0000000..b7779a0
--- /dev/null
@@ -0,0 +1,23 @@
+from __future__ import absolute_import
+import os, sys
+from celery import Celery
+from django.conf import settings
+
+sys.path.append(os.path.dirname('sandbox'))
+
+# set the default Django settings module for the 'celery' program.
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
+
+app = Celery('sandbox')
+
+# Using a string here means the worker will not have to
+# pickle the object when using Windows.
+app.config_from_object('django.conf:settings')
+app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
+# app.conf.update(
+#     CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
+# )
+
+@app.task(bind=True)
+def debug_task(self):
+    print('Request: {0!r}'.format(self.request))
index 87fda082ea6e155feb80048b047dab2d5ca4b404..54215e03c867e96bb54a330ce3bbcb34422e7892 100644 (file)
@@ -14,4 +14,4 @@ sh $app/deploy/wait.sh
 # Starting celery worker with the --autoreload option will enable the worker to watch for file system changes
 # This is an experimental feature intended for use in development only
 # see http://celery.readthedocs.org/en/latest/userguide/workers.html#autoreloading
-$manage celery worker --autoreload -A celery_app
+python $manage celery worker --autoreload -A celery_app
index 9f6cc120ad2ea6d2d0486220dedd91329e470026..ddc6479be69e1ea2e741945952e1dc795617e53b 100644 (file)
@@ -1,8 +1,6 @@
 #!/bin/sh
 
 # paths
-
-
 app='/opt/app'
 manage=$app'/manage.py'
 wsgi=$app'/wsgi.py'
diff --git a/app/sandbox/celery_app.py b/app/sandbox/celery_app.py
deleted file mode 100644 (file)
index 7e9d7f8..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-from __future__ import absolute_import
-
-import os
-
-from celery import Celery
-
-from django.conf import settings
-
-# set the default Django settings module for the 'celery' program.
-os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
-
-app = Celery('sandbox')
-
-# Using a string here means the worker will not have to
-# pickle the object when using Windows.
-app.config_from_object('django.conf:settings')
-app.autodiscover_tasks(lambda: settings.INSTALLED_APPS)
-# app.conf.update(
-#     CELERY_RESULT_BACKEND='djcelery.backends.database:DatabaseBackend',
-# )
-
-@app.task(bind=True)
-def debug_task(self):
-    print('Request: {0!r}'.format(self.request))
index 6b05fff15d2f7773faee34240de7f6237771a252..58447f97e49e148c620e3af69a7310f939fc76fc 100644 (file)
@@ -4,8 +4,7 @@
 import os
 import sys
 
-here = os.path.dirname(__file__)
-sys.path.append(here)
+sys.path.append(os.path.dirname('sandbox'))
 
 # os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
 #
index 446b535468956e163f79598b1523b500cc91cb08..0d7f915293ce9d5c99e1ed49e3e6e95dbe9850e3 100644 (file)
@@ -42,8 +42,6 @@ db:
 
 broker:
   image: rabbitmq:3-management
-  ports:
-    - "15672:15672"
 
 search:
   image: elasticsearch:1
@@ -52,6 +50,7 @@ app:
   build: .
   volumes:
     - ./app/:/opt/app
+    - ./:/opt/src/Telemeta
   volumes_from:
     - media
   command: /bin/sh deploy/start_app.sh
index 8717993b5736072e0ffddecab305cb0f4568fa44..82f3e4d0b68bb54f00abbfeeae8b87df0e81ccdb 100644 (file)
@@ -50,7 +50,10 @@ def language_code(request=None):
     return code.lower()
 
 def project_dir():
-    import settings as settings_mod
+    try:
+        import sandbox.settings as settings_mod
+    except:
+        import settings as settings_mod
     if '__init__.py' in settings_mod.__file__:
         p = os.path.dirname(settings_mod.__file__)
     else:
@@ -115,4 +118,3 @@ def get_page_content(request, relative_path, ignore_slash_issue=False):
 
 class MalformedPagePath(Exception):
     pass
-