diff --git a/Dockerfile b/Dockerfile index 79a134a..518507f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,8 @@ FROM python:3.5 -RUN apt-get update -RUN apt-get install -y nodejs npm -RUN ln -s /usr/bin/nodejs /usr/bin/node RUN mkdir /code WORKDIR /code RUN mkdir requirements ADD ./bikeshop_project /code COPY ./requirements /code/requirements RUN pip install -r ./requirements/development.txt -RUN npm install -RUN npm install -g bower -COPY ./bower.json . -RUN bower install --allow-root EXPOSE 8000:8000 -EXPOSE 3000:3000 diff --git a/Dockerfile-webpack b/Dockerfile-webpack new file mode 100644 index 0000000..9479981 --- /dev/null +++ b/Dockerfile-webpack @@ -0,0 +1,8 @@ +FROM node:7.3.0 +RUN mkdir /code +WORKDIR /code +RUN npm install +RUN npm install -g bower +COPY ./bower.json . +RUN bower install --allow-root +EXPOSE 3000:3000 diff --git a/bikeshop_project/bikeshop/settings/development.py b/bikeshop_project/bikeshop/settings/development.py index 60d1f1f..2e3509b 100644 --- a/bikeshop_project/bikeshop/settings/development.py +++ b/bikeshop_project/bikeshop/settings/development.py @@ -1,3 +1,4 @@ +import sys from .base import * @@ -14,11 +15,14 @@ DATABASES = { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'postgres', 'USER': 'postgres', - 'HOST': 'db', + 'HOST': 'workstand_db_1', 'PORT': '5432', } } +if 'test' in sys.argv or 'test_coverage' in sys.argv: #Covers regular testing and django-coverage + DATABASES['default']['ENGINE'] = 'django.db.backends.sqlite3' + LOGGING = { 'version': 1, 'disable_existing_loggers': False, @@ -45,9 +49,11 @@ LOGGING = { }, } -INSTALLED_APPS += [ - 'debug_toolbar' -] +# INSTALLED_APPS += [ +# 'debug_toolbar' +# ] + +# MIDDLEWARE_CLASSES += ['debug_toolbar.middleware.DebugToolbarMiddleware'] # Don't worry about IP addresses, just show the toolbar. DEBUG_TOOLBAR_CONFIG = { diff --git a/bikeshop_project/webpack.dev.config.js b/bikeshop_project/webpack.dev.config.js index 4325d73..eec779e 100644 --- a/bikeshop_project/webpack.dev.config.js +++ b/bikeshop_project/webpack.dev.config.js @@ -7,13 +7,13 @@ var config = require('./webpack.base.config.js') // Use webpack dev server config.entry = [ - 'webpack-dev-server/client?http://localhost:3000', + 'webpack-dev-server/client?http://webpack.docker:3000', 'webpack/hot/only-dev-server', './assets/js/index' ] // override django's STATIC_URL for webpack bundles -config.output.publicPath = 'http://localhost:3000/assets/bundles/' +config.output.publicPath = 'http://webpack.docker:3000/assets/bundles/' // Add HotModuleReplacementPlugin and BundleTracker plugins config.plugins = config.plugins.concat([ diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index 41fa12b..dedde0f 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -3,13 +3,29 @@ services: workstand: build: context: . - command: "bash -c 'npm run watch & python manage.py runserver 0.0.0.0:8000'" + command: "bash -c 'python manage.py runserver 0.0.0.0:8000'" ports: - "8000:8000" - - "3000:3000" + depends_on: + - redis + - db + - webpack + links: + - redis + - db volumes: - ./bikeshop_project:/code redis: restart: always db: restart: always + webpack: + build: + context: . + dockerfile: Dockerfile-webpack + command: "npm run watch" + ports: + - "3000:3000" + restart: always + volumes: + - ./bikeshop_project:/code