Update the build configuration to use webpack and compiled assets

master
kaiyou 5 years ago
parent ecdf0c25b3
commit c2a04ab1d4

@ -1,20 +1,25 @@
FROM alpine:3.8
# python3 shared with most images
RUN apk add --no-cache \
python3 py3-pip git bash \
&& pip3 install --upgrade pip
RUN pip3 install git+https://github.com/usrpro/MailuStart.git#egg=mailustart
# Image specific layers under this line
# First stage to build assets
FROM node:8 as assets
COPY package.json ./
RUN npm install
COPY ./webpack.config.js ./
COPY ./assets ./assets
RUN mkdir static \
&& ./node_modules/.bin/webpack-cli
# Actual application
FROM python:3.7
RUN mkdir -p /app
WORKDIR /app
COPY requirements-prod.txt requirements.txt
RUN apk add --no-cache libressl curl postgresql-libs mariadb-connector-c \
&& apk add --no-cache --virtual build-dep \
libressl-dev libffi-dev python3-dev build-base postgresql-dev mariadb-connector-c-dev \
&& pip3 install -r requirements.txt \
&& apk del --no-cache build-dep
RUN pip install -r requirements.txt
COPY --from=assets static ./mailu/ui/static
COPY mailu ./mailu
COPY migrations ./migrations
COPY start.py /start.py

@ -1,49 +1,50 @@
alembic==1.0.2
alembic==1.0.10
asn1crypto==0.24.0
Babel==2.6.0
bcrypt==3.1.5
bcrypt==3.1.6
blinker==1.4
cffi==1.11.5
cffi==1.12.3
Click==7.0
cryptography==2.3.1
decorator==4.3.0
cryptography==2.6.1
decorator==4.4.0
dnspython==1.16.0
dominate==2.3.4
dominate==2.3.5
Flask==1.0.2
Flask-Babel==0.12.2
Flask-Bootstrap==3.3.7.1
Flask-DebugToolbar==0.10.1
Flask-Limiter==1.0.1
Flask-Login==0.4.1
Flask-Migrate==2.3.1
Flask-Migrate==2.4.0
Flask-Script==2.0.6
Flask-SQLAlchemy==2.3.2
Flask-SQLAlchemy==2.4.0
Flask-WTF==0.14.2
gunicorn==19.9.0
idna==2.7
idna==2.8
infinity==1.4
intervals==0.8.1
itsdangerous==1.1.0
Jinja2==2.10
Jinja2==2.10.1
limits==1.3
Mako==1.0.7
MarkupSafe==1.1.0
mysqlclient==1.3.14
Mako==1.0.9
MarkupSafe==1.1.1
mysqlclient==1.4.2.post1
passlib==1.7.1
psycopg2==2.7.6.1
psycopg2==2.8.2
pycparser==2.19
pyOpenSSL==18.0.0
python-dateutil==2.7.5
python-editor==1.0.3
pytz==2018.7
PyYAML==4.2b4
redis==3.0.1
six==1.11.0
SQLAlchemy==1.2.13
tabulate==0.8.2
tenacity==5.0.2
validators==0.12.2
pyOpenSSL==19.0.0
python-dateutil==2.8.0
python-editor==1.0.4
pytz==2019.1
PyYAML==5.1
redis==3.2.1
six==1.12.0
socrate==0.1.1
SQLAlchemy==1.3.3
tabulate==0.8.3
tenacity==5.0.4
validators==0.12.5
visitor==0.1.3
Werkzeug==0.14.1
Werkzeug==0.15.2
WTForms==2.2.1
WTForms-Components==0.10.3
WTForms-Components==0.10.4

@ -9,9 +9,8 @@ module.exports = {
vendor: "./assets/vendor.js"
},
output: {
path: path.resolve(__dirname, "mailu/ui/static/"),
filename: "[name].js",
publicPath: "/static"
path: path.resolve(__dirname, "static/"),
filename: "[name].js"
},
module: {
rules: [

Loading…
Cancel
Save