diff --git a/.gitignore b/.gitignore index 60550e83..e7231e4a 100644 --- a/.gitignore +++ b/.gitignore @@ -366,3 +366,6 @@ coverage.txt # coverage report coverage.json + +# bash command history +.bash_history diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..7a58a4af --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM ubuntu + +RUN apt-get update -y \ + && apt-get upgrade -y \ + && apt-get install software-properties-common -y \ + && add-apt-repository ppa:deadsnakes/ppa -y \ + && DEBIAN_FRONTEND=noninteractive apt-get install python3.11 -y \ + && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 1 \ + && update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.11 2 \ + && apt-get install python-is-python3 -y + +RUN apt-get install -y curl \ + && curl -sSL https://install.python-poetry.org | python - \ + && apt install -y python3.11 python3.11-distutils \ + && curl -sSl https://bootstrap.pypa.io/get-pip.py | python - + +RUN apt-get install -y libsqlite3-dev \ + && apt-get install python3.11-dev -y \ + && apt-get install -y libgmp-dev \ + portaudio19-dev \ + libssl-dev \ + libpcap-dev \ + libffi-dev \ + libxml2-dev \ + libxslt1-dev \ + libblas-dev \ + libatlas-base-dev \ + && apt-get install -y gcc-x86-64-linux-gnu + +CMD cd root \ + && mkdir src + +ENTRYPOINT export PATH="/root/.local/bin:$PATH" && cd root/src && /bin/bash \ No newline at end of file diff --git a/README.md b/README.md index a0f2d6c2..d48cd858 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,25 @@ Follow these steps to install the `chasten` program: - Type `pipx list` and confirm that Chasten is installed - Type `chasten --help` to learn how to use the tool +## 🐋 Docker + +There is also the option to use [Docker](https://www.docker.com/) to use `chasten` + +Follow these steps to utilize Docker: + +- Install [Docker Desktop](https://docs.docker.com/get-docker/) for your operating system +- Ensure Docker Desktop is running +- `cd` into the chasten directory where the `Dockerfile` is located +- Type `docker build -t chasten .` to build the container +- Type one of the following commands to run the container: + - Windows (Command Prompt) -> `docker run --rm -v "%cd%":/root/src -it chasten` + - Windows (Powershell) -> `docker run --rm -v ${pwd}:/root/src -it chasten` + - Mac/Ubuntu -> `docker run --rm -v $(pwd):/root/src -it chasten` +- Inside the container type `poetry install` +- Outside of the container type `docker ps` to view running container information +- Outside of the container type `docker commit ` to save the dependecy installation +- Now you can use Docker for all of your `chasten` needs! + ## 🪂 Configuration You can configure `chasten` with two YAML files, normally called `config.yml`