From f4af2b17763e5da637eba5fc8de5666c4e75eccf Mon Sep 17 00:00:00 2001 From: Revant Nandgaonkar Date: Thu, 5 Mar 2020 06:15:45 +0530 Subject: [PATCH] fix: travis py script --- .devcontainer/devcontainer.json | 15 +++++++++ .devcontainer/docker-compose.yml | 32 ++++++++++++++++++ .gitignore | 2 ++ .vscode/settings.json | 3 ++ build/bench/Dockerfile | 58 ++++++++++++++++++++++++++++++++ travis.py | 2 +- 6 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/docker-compose.yml create mode 100644 .vscode/settings.json create mode 100644 build/bench/Dockerfile diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..ac3632c6 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,15 @@ +{ + "name": "Frappe Bench", + "appPort": [8000, 9000, 6787], + "remoteUser": "frappe", + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + "dockerComposeFile": "./docker-compose.yml", + "service": "frappe", + "workspaceFolder": "/workspace/development", + "shutdownAction": "stopCompose", + "remote.containers.defaultExtensions": [ + "ms-python.python" + ] +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 00000000..a4180ced --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3.7" +services: + mariadb: + image: mariadb + environment: + - MYSQL_ROOT_PASSWORD=123 + - MYSQL_USER=root + volumes: + - ../installation/frappe-mariadb.cnf:/etc/mysql/conf.d/frappe.cnf + - mariadb-vol:/var/lib/mysql + container_name: mariadb + + redis-cache: + image: redis:alpine + + redis-queue: + image: redis:alpine + + redis-socketio: + image: redis:alpine + + frappe: + image: frappe/bench:latest + command: sleep infinity + volumes: + - ..:/workspace:cached + container_name: frappe + ports: + - "8000:8000" + +volumes: + mariadb-vol: diff --git a/.gitignore b/.gitignore index 502c3673..cb373cae 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ # mounted volume sites + +development diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..615aafb0 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/usr/bin/python3" +} \ No newline at end of file diff --git a/build/bench/Dockerfile b/build/bench/Dockerfile new file mode 100644 index 00000000..3f153bc7 --- /dev/null +++ b/build/bench/Dockerfile @@ -0,0 +1,58 @@ +# Frappe Bench Dockerfile + +FROM debian:9.6-slim +LABEL author=frappé + +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends locales \ + && sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen \ + && dpkg-reconfigure --frontend=noninteractive locales \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Set locale en_us.UTF-8 for mariadb and general locale data +ENV PYTHONIOENCODING=utf-8 +ENV LANGUAGE=en_US.UTF-8 +ENV LANG=en_US.UTF-8 +ENV LC_ALL=en_US.UTF-8 + +# Install all neccesary packages +RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-suggests --no-install-recommends \ + build-essential cron curl git libffi-dev liblcms2-dev libldap2-dev libmariadbclient-dev libsasl2-dev libssl1.0-dev libtiff5-dev \ + libwebp-dev mariadb-client iputils-ping python3-dev python3-pip python3-setuptools python3-tk redis-tools rlwrap \ + software-properties-common sudo tk8.6-dev vim xfonts-75dpi xfonts-base wget wkhtmltopdf fonts-cantarell \ + && apt-get clean && rm -rf /var/lib/apt/lists/* + +# Install nvm with node +ENV NVM_DIR /usr/local/nvm +ENV NODE_VERSION 12.16.1 +RUN mkdir /usr/local/nvm \ + && wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash \ + && . $NVM_DIR/nvm.sh \ + && nvm install $NODE_VERSION \ + && nvm install 10.19.0 \ + && nvm alias default $NODE_VERSION \ + && nvm use default \ + && npm install yarn -g +ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules +ENV PATH $NVM_DIR/v$NODE_VERSION/bin:$PATH + +# Install wkhtmltox correctly +RUN wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb +RUN dpkg -i wkhtmltox_0.12.5-1.stretch_amd64.deb && rm wkhtmltox_0.12.5-1.stretch_amd64.deb + + +# Add frappe user and setup sudo +RUN groupadd -g 1000 frappe \ + && useradd -ms /bin/bash -u 1000 -g 1000 -G sudo frappe \ + && chown -R 1000:1000 /home/frappe \ + && echo '. "$NVM_DIR/nvm.sh"' >> /home/frappe/.bashrc + +# Install bench +RUN pip3 install -e git+https://github.com/frappe/bench.git#egg=bench --no-cache + +USER frappe + +WORKDIR /home/frappe/frappe-bench + +EXPOSE 8000 9000 6787 + +VOLUME [ "/home/frappe/frappe-bench" ] diff --git a/travis.py b/travis.py index 06ed6c17..4386374c 100755 --- a/travis.py +++ b/travis.py @@ -1,4 +1,4 @@ -#!/bin/env python3 +#!/usr/bin/env python import argparse import subprocess