diff --git a/.dockerignore b/.dockerignore index 3e68f8ad..c8965b40 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,4 +1,25 @@ +**/__pycache__ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/bin +**/charts +**/docker-compose* +**/compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml README.md -LICENSE -.gitignore -compose*.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..fb130dc8 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +# For more information, please refer to https://aka.ms/vscode-docker-python +FROM python:3.8-slim + +# Keeps Python from generating .pyc files in the container +ENV PYTHONDONTWRITEBYTECODE=1 + +# Turns off buffering for easier container logging +ENV PYTHONUNBUFFERED=1 + +# Install pip requirements +COPY requirements.txt . +RUN python -m pip install -r requirements.txt + +WORKDIR /app +COPY . /app + +# Creates a non-root user with an explicit UID and adds permission to access the /app folder +# For more info, please refer to https://aka.ms/vscode-docker-python-configure-containers +RUN adduser -u 5678 --disabled-password --gecos "" appuser && chown -R appuser /app +USER appuser + +# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug +CMD ["python", "tests\test_frappe_docker.py"] diff --git a/docker-compose.debug.yml b/docker-compose.debug.yml new file mode 100644 index 00000000..20ec7978 --- /dev/null +++ b/docker-compose.debug.yml @@ -0,0 +1,11 @@ +version: '3.4' + +services: + frappedocker: + image: frappedocker + build: + context: . + dockerfile: ./Dockerfile + command: ["sh", "-c", "pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 tests\test_frappe_docker.py "] + ports: + - 5678:5678 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..80886702 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,8 @@ +version: '3.4' + +services: + frappedocker: + image: frappedocker + build: + context: . + dockerfile: ./Dockerfile diff --git a/images/bench/Dockerfile b/images/bench/Dockerfile index a963425e..b03d5dfd 100644 --- a/images/bench/Dockerfile +++ b/images/bench/Dockerfile @@ -139,3 +139,4 @@ RUN bash -c "node --version" \ && bash -c "npm --version" \ && bash -c "yarn --version" \ && bash -c "bench --help" + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..749d0fdf --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +# To ensure app dependencies are ported from your virtual environment/host machine into your container, run 'pip freeze > requirements.txt' in the terminal to overwrite this file