diff --git a/.dockerignore b/.dockerignore index 6e5dbf0d..2c5ea300 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,9 @@ .git/ .pytest_cache/ .vscode/ +.venv/ +docs/ +tests/ +build/ +dist/ +*.egg-info/ diff --git a/Dockerfile b/Dockerfile index baba33ec..3bb72ce8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,21 @@ # syntax=docker/dockerfile:1 -FROM continuumio/miniconda3:4.12.0 +FROM python:3.10-slim-bullseye -# Install system dependencies. +# Install System Dependencies RUN apt-get update -y && \ apt-get -y install libimage-exiftool-perl -# Add the local code to the /app directory and set it to be the working directory. -# Since we mount the /app directory as a volume in docker-compose.yml, this -# allows us to automatically update the code in the Docker image when it's changed. -ADD . /app +# Copy Application to Container +COPY . /app WORKDIR /app -# Get the arguments from the docker-compose environment. +# Install Python Dependencies +RUN pip install --upgrade pip && \ + pip install --upgrade . + +# Run the Application +# There are more arguments required for the application to run, +# but these should be passed in through the docker-compose.yml file. ARG PORT EXPOSE ${PORT} - -# Create the conda environment. -RUN conda env create -f config/environment.yml - -# Use the conda environment we created to run the application. -# To enable the conda env, we cannot simply RUN `conda activate khoj`, -# since each RUN command in a Dockerfile is a separate bash shell. -# The environment would not carry forward. -# Instead, we'll use `conda run` to run the application. -# There are more arguments required for the script to run, -# but these should be passed in through the docker-compose.yml file. -ENTRYPOINT ["conda", "run", "--no-capture-output", "--name", "khoj", \ - "python3", "-m", "src.main"] +ENTRYPOINT ["khoj"] diff --git a/MANIFEST.in b/MANIFEST.in index 0819781a..595ab4e1 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,4 +1,5 @@ include Readme.md -graft src/interface/web/assets/icons* +graft src/interface/* +prune src/interface/web/images* prune docs* global-exclude .DS_Store *.py[cod] \ No newline at end of file