mirror of
https://github.com/frappe/frappe_docker.git
synced 2024-12-23 10:38:58 +00:00
Merge pull request #330 from revant/fix-node-sass
fix: add nodejs via nvm
This commit is contained in:
commit
9974a63dc8
@ -71,6 +71,10 @@ fi
|
||||
# Allow user process to create files in logs directory
|
||||
chown -R frappe:frappe /home/frappe/frappe-bench/logs
|
||||
|
||||
# symlink node_modules
|
||||
ln -sfn /home/frappe/frappe-bench/sites/assets/frappe/node_modules \
|
||||
/home/frappe/frappe-bench/apps/frappe/node_modules
|
||||
|
||||
if [ "$1" = 'start' ]; then
|
||||
configureEnv
|
||||
checkConnection
|
||||
|
@ -1,5 +1,18 @@
|
||||
ARG NODE_IMAGE_TAG=12-prod
|
||||
FROM bitnami/node:${NODE_IMAGE_TAG}
|
||||
# This image uses nvm and same base image as the worker image.
|
||||
# This is done to ensures that node-sass binary remains common.
|
||||
# node-sass is required to enable website theme feature used
|
||||
# by Website Manager role in Frappe Framework
|
||||
FROM bitnami/python:3.7-prod
|
||||
|
||||
ENV NVM_DIR=/root/.nvm
|
||||
ENV NODE_VERSION=12.18.3
|
||||
ENV PATH="/root/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}"
|
||||
RUN install_packages wget \
|
||||
&& wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh \
|
||||
&& chmod +x install.sh \
|
||||
&& ./install.sh \
|
||||
&& . "$NVM_DIR/nvm.sh" && nvm install ${NODE_VERSION} \
|
||||
&& nvm use v${NODE_VERSION} && npm install -g yarn
|
||||
|
||||
WORKDIR /home/frappe/frappe-bench
|
||||
RUN mkdir -p /home/frappe/frappe-bench/sites \
|
||||
@ -12,9 +25,6 @@ RUN mkdir -p apps sites/assets/css \
|
||||
&& cd apps \
|
||||
&& git clone --depth 1 https://github.com/frappe/frappe --branch $GIT_BRANCH
|
||||
|
||||
COPY build/frappe-nginx/generate_standard_style_css.js \
|
||||
/home/frappe/frappe-bench/apps/frappe/generate_standard_style_css.js
|
||||
|
||||
COPY build/frappe-nginx/build.sh /build.sh
|
||||
RUN /build.sh
|
||||
RUN node --version \
|
||||
|
@ -8,16 +8,11 @@ function nodeCleanUp() {
|
||||
cd /home/frappe/frappe-bench/apps/frappe
|
||||
yarn
|
||||
yarn run production
|
||||
yarn add nunjucks -D
|
||||
|
||||
if [[ "$GIT_BRANCH" =~ ^(version-12|version-11)$ ]]; then
|
||||
nodeCleanUp
|
||||
else
|
||||
node generate_standard_style_css.js \
|
||||
frappe/website/doctype/website_theme/website_theme_template.scss > \
|
||||
/home/frappe/standard_templates_string
|
||||
node generate_bootstrap_theme.js \
|
||||
/home/frappe/frappe-bench/sites/assets/css/standard_style.css \
|
||||
"$(cat /home/frappe/standard_templates_string)"
|
||||
nodeCleanUp
|
||||
# remove this when frappe framework moves this to dependencies from devDependencies
|
||||
yarn add node-sass
|
||||
fi
|
||||
|
@ -1,14 +0,0 @@
|
||||
const nunjucks = require("nunjucks");
|
||||
|
||||
const templatePath = process.argv[2];
|
||||
const pathArray = templatePath.split("/");
|
||||
const templateFile = pathArray.pop();
|
||||
const templateDir = pathArray.join("/");
|
||||
|
||||
nunjucks.configure(templateDir);
|
||||
const rendered = nunjucks.render(templateFile, {
|
||||
button_rounded_corners: true,
|
||||
font_properties: "300,600",
|
||||
});
|
||||
|
||||
console.log(rendered.replace(/\n/gm, "\\n"));
|
@ -4,6 +4,9 @@ RUN useradd -ms /bin/bash frappe
|
||||
|
||||
ARG GIT_BRANCH=develop
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
ENV NVM_DIR=/home/frappe/.nvm
|
||||
ENV NODE_VERSION=12.18.3
|
||||
ENV PATH="/home/frappe/.nvm/versions/node/v${NODE_VERSION}/bin/:${PATH}"
|
||||
|
||||
# Install dependencies
|
||||
WORKDIR /home/frappe/frappe-bench
|
||||
@ -27,7 +30,17 @@ RUN install_packages \
|
||||
libpq-dev \
|
||||
&& wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.buster_amd64.deb \
|
||||
&& dpkg -i wkhtmltox_0.12.5-1.buster_amd64.deb && rm wkhtmltox_0.12.5-1.buster_amd64.deb \
|
||||
&& apt-get purge -y wget && apt-get autoremove -y
|
||||
&& wget https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh \
|
||||
&& apt-get purge -y wget && apt-get autoremove -y \
|
||||
&& chown -R frappe:frappe /home/frappe
|
||||
|
||||
USER frappe
|
||||
# Install nvm with node
|
||||
RUN bash install.sh \
|
||||
&& . "$NVM_DIR/nvm.sh" \
|
||||
&& nvm install ${NODE_VERSION} \
|
||||
&& nvm use v${NODE_VERSION} \
|
||||
&& nvm alias default v${NODE_VERSION}
|
||||
|
||||
# Create frappe-bench directories
|
||||
RUN mkdir -p apps logs commands /home/frappe/backups
|
||||
@ -39,6 +52,7 @@ RUN python -m venv env \
|
||||
&& git clone --depth 1 -o upstream https://github.com/frappe/frappe --branch ${GIT_BRANCH} \
|
||||
&& pip3 install --no-cache-dir -e /home/frappe/frappe-bench/apps/frappe
|
||||
|
||||
USER root
|
||||
# Copy scripts and templates
|
||||
COPY build/common/commands/* /home/frappe/frappe-bench/commands/
|
||||
COPY build/common/common_site_config.json.template /opt/frappe/common_site_config.json.template
|
||||
@ -52,7 +66,7 @@ RUN ln -s /usr/local/bin/docker-entrypoint.sh / # backwards compat
|
||||
WORKDIR /home/frappe/frappe-bench/sites
|
||||
|
||||
# Set ownership of sites directory
|
||||
RUN chown -R frappe:frappe /home/frappe/frappe-bench/sites /home/frappe/backups
|
||||
RUN chown -R frappe:frappe /home/frappe/frappe-bench/sites
|
||||
|
||||
VOLUME [ "/home/frappe/frappe-bench/sites", "/home/frappe/backups" ]
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user