Repository: compneurobilbao/ageml (language: python)

Issue:
Containerize
It would be good to containerise the software and have a docker image so that people can more easily install the software with an image that we know works. 


Discussion / hints:

Fix patch:
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..1b43356
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,14 @@
+FROM python:3.11-slim-buster
+
+# Update system
+RUN apt-get update && apt-get install -y \
+    build-essential \
+    && rm -rf /var/lib/apt/lists/*
+
+# Set the working directory in the container to /app
+WORKDIR /app
+
+# Install any needed packages specified in requirements.txt
+RUN pip install ageml
+
+ENTRYPOINT [ "/bin/bash" ]
\ No newline at end of file
diff --git a/README.md b/README.md
index a748667..85b943b 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,20 @@ Note that `ageml` is under active development, but still not continuously deploy
 Then `cd` into the `ageml` folder, and install with pip:
 `pip install .`
 
-A Docker image version will be released in the short term.
+#### Docker
+There are two Dockerfiles available for `ageml`.
+- One that installs `ageml` from pip -> ./Dockerfile
+- Another one for the latest version of `ageml`, which installs it from the GitHub repo `main` branch.
+
+To build the pip image, run:
+`docker build -t ageml:pip -f Dockerfile <path_to_directory_containing_Dockerfile>`
+To build the latest image, run:
+`docker build -t ageml:latest -f Dockerfile <path_to_directory_containing_Dockerfile>`
+
+To run the container, run:
+`docker run -it ageml:<tag_of_your_image>`
+
+A developer Dockerfile will be available in the future for contributing to the project in a containerized fashion.
 
 #### Developer installation
 
diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md
index 474a6c1..2832b8a 100644
--- a/docs/CONTRIBUTING.md
+++ b/docs/CONTRIBUTING.md
@@ -62,6 +62,10 @@ ageml
 
 ## Developer Setup
 
+This section explains how to set up a local development environment for contributing to the project.
+
+Another section will be added in the future explaining how to setup a Docker container for development.
+
 ### 1. Prepare and set up the package
 
 Poetry is our environment manager and build system. To install the required packages for creating the environment with poetry.


Test patch:
diff --git a/Dockerfile_latest b/Dockerfile_latest
new file mode 100644
index 0000000..01b56ba
--- /dev/null
+++ b/Dockerfile_latest
@@ -0,0 +1,20 @@
+FROM python:3.11-slim-buster
+
+# Update system
+RUN apt-get update && apt-get install -y build-essential \
+    && apt-get -y upgrade
+
+# Install curl
+RUN apt-get install -y git
+
+# Set the working directory in the container to /app
+WORKDIR /app
+
+# Clone the ageml GitHub repository
+RUN cd /app && git clone https://github.com/compneurobilbao/ageml.git \
+    && cd ageml \
+    && pip install -e . \
+    && cd /app
+
+# Modify entrypoint
+ENTRYPOINT [ "/bin/bash" ]