mirror of
				https://github.com/fspc/workstand.git
				synced 2025-11-03 16:45:34 -05:00 
			
		
		
		
	Refactor webpack into its own docker service.
This commit is contained in:
		
							parent
							
								
									8f1c2308d5
								
							
						
					
					
						commit
						07220fd7d8
					
				@ -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
									
								
							
							
						
						
									
										8
									
								
								Dockerfile-webpack
									
									
									
									
									
										Normal 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
 | 
			
		||||
@ -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 = {
 | 
			
		||||
 | 
			
		||||
@ -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([
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user