parts
bin
var
+data
sdist
develop-eggs
.installed.cfg
#Mr Developer
.mr.developer.cfg
-
-#app
-media
-static
-var
-
# See the License for the specific language governing permissions and
# limitations under the License.
-FROM parisson/timeside:latest-dev
+FROM timeside_app:latest
MAINTAINER Guillaume Pellerin <yomguy@parisson.com>, Thomas fillon <thomas@parisson.com>
-RUN mkdir /srv/app
-RUN mkdir /srv/src
-RUN mkdir /srv/src/app
-
-COPY . /srv/src/app
-WORKDIR /srv/src/app
+RUN mkdir /srv/src/telemeta
+COPY . /srv/src/telemeta
+WORKDIR /srv/src/telemeta
RUN pip install -r requirements.txt
RUN pip install -r requirements-dev.txt --src /srv/src
-WORKDIR /srv/app
+WORKDIR /srv/app
EXPOSE 8000
manage=$app'/manage.py'
wsgi=$app'/wsgi.py'
static='/srv/static/'
+media='/srv/media/'
+
+chown www-data:www-data $media
# uwsgi params
port=8000
gid='www-data'
# stating apps
-pip install redis
+# pip install redis
# waiting for other services
sh $app/deploy/wait.sh
import os, sys
from django.core.urlresolvers import reverse_lazy, reverse
-sys.dont_write_bytecode = True
+import environ
+
+# set default values and casting
+env = environ.Env(DEBUG=(bool, False),
+ CELERY_ALWAYS_EAGER=(bool, False),
+ )
-DEBUG = True
+# Django settings for server project.
+DEBUG = env('DEBUG') # False if not in os.environ
TEMPLATE_DEBUG = DEBUG
+sys.dont_write_bytecode = True
+
ALLOWED_HOSTS = ['*']
ADMINS = (
DATABASES = {
'default': {
- # SQLite config
- # 'ENGINE': 'django.db.backends.sqlite', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
- # 'NAME': os.path.join(PROJECT_ROOT, 'telemeta.sql'), # Or path to database file if using sqlite3.
- # 'OPTIONS': {
- # 'timeout': 60,
- # }
-
- # MySQL config
- 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
- 'USER': os.environ.get('DB_ENV_MYSQL_USER'), # Not used with sqlite3.
- 'PASSWORD': os.environ.get('DB_ENV_MYSQL_PASSWORD'), # Not used with sqlite3.
- 'NAME': os.environ.get('DB_ENV_MYSQL_DATABASE'),
+ 'ENGINE': env('ENGINE'), # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+ 'USER': env('MYSQL_USER'), # Not used with sqlite3.
+ 'PASSWORD': env('MYSQL_PASSWORD'), # Not used with sqlite3.
+ 'NAME': env('MYSQL_DATABASE'),
'HOST': 'db', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '3306', # Set to empty string for default. Not used with sqlite3.
}
}
}
-from celery_app import app
-# replace rabbitmq by localhost if you start your app outside docker-compose
-# BROKER_URL = 'amqp://guest:guest@broker//'
-BROKER_URL = 'redis://broker:6379/0'
+BROKER_URL = env('BROKER_URL')
+
CELERY_IMPORTS = ("timeside.server.tasks",)
CELERY_RESULT_BACKEND = 'djcelery.backends.database:DatabaseBackend'
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['application/json']
+from celery_app import app
+
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
--- /dev/null
+# -- MYSQL DATABASE
+
+ENGINE=django.db.backends.mysql
+MYSQL_ROOT_PASSWORD=mysecretpassword
+MYSQL_DATABASE=telemeta
+MYSQL_USER=telemeta
+MYSQL_PASSWORD=mysecretpassword
+
+# -- DJANGO
+
+DEBUG=True
+
+SECRET_KEY=ghv8us2587n97dq&w$c((o5rj_$-9#d-8j#57y_a9og8wux1h7
+
+# replace broker by localhost if you start your app outside docker-compose
+BROKER_URL=redis://broker:6379/0
+
+# If this is True, all tasks will be executed locally by blocking until the task returns.
+CELERY_ALWAYS_EAGER=False
# Thomas Fillon <thomas@parisson.com>
-media:
+data:
image: debian:jessie
volumes:
- - ./media/:/srv/media
- - ./static/:/srv/static
- - ./backup/:/srv/backup
+ - ./data/media/:/srv/media
+ - ./data/static/:/srv/static
+ - ./data/backup/:/srv/backup
command: "true"
db:
image: mysql
volumes:
- - ./app/deploy/my.cnf:/etc/mysql/my.cnf
- - ./var/lib/mysql/:/var/lib/mysql
+ - ./data/var/lib/mysql/:/var/lib/mysql
+ - ./data/var/log/mysql/:/var/log/mysql
volumes_from:
- - media
- environment:
- - MYSQL_ROOT_PASSWORD=ItCydyatzix8
- - MYSQL_DATABASE=telemeta
- - MYSQL_USER=telemeta
- - MYSQL_PASSWORD=iuvIlkyisFit2
+ - data
+ env_file:
+ - app/sandbox/tm-docker-compose.env
broker:
image: redis
build: .
volumes:
- ./app/:/srv/app
- - ./telemeta/:/srv/src/app/telemeta
+ - ./telemeta/:/srv/src/telemeta/telemeta
volumes_from:
- - media
+ - data
+ env_file:
+ - app/sandbox/tm-docker-compose.env
command: /bin/sh deploy/start_app.sh
ports:
- "9001:9000"
- expose:
- - "8000"
links:
- broker
- db
build: .
volumes_from:
- app
+ env_file:
+ - app/sandbox/tm-docker-compose.env
command: /bin/sh deploy/celery_app.sh
links:
- broker
nginx:
image: nginx
ports:
- - "8000:80"
+ - "8001:80"
volumes:
- ./app/deploy/nginx-app.conf:/etc/nginx/conf.d/default.conf
- ./var/log/nginx/:/var/log/nginx
volumes_from:
- - media
+ - data
links:
- app
- phpmyadmin
'pyyaml',
'python-ebml',
'zipstream',
- 'django-haystack',
'elasticsearch==1.6.0',
+ 'django-haystack',
'ebooklib',
],
tests_require=['pytest-django', 'pytest-cov', 'factory-boy'],
-Subproject commit f8324093174d077b674ac2c52eb0db6eaf815ab5
+Subproject commit 4fcb6022f8a1cf0780fc526737e84b8e690c1f88