1
0
mirror of https://github.com/fspc/workstand.git synced 2025-02-23 01:13:22 -05:00

Refactor webpack into its own docker service.

This commit is contained in:
Drew Larson 2016-12-30 23:41:25 -06:00
parent 8f1c2308d5
commit 07220fd7d8
5 changed files with 38 additions and 16 deletions

View File

@ -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

8
Dockerfile-webpack Normal file
View File

@ -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

View File

@ -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 = {

View File

@ -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([

View File

@ -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