diff --git a/README.md b/README.md
index 76d0251..903fd36 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,26 @@ work with OpenSearch.
## :computer: Installation
-*TODO*
+### Local environment
+
+1. Have a valid ssh authentication key on your local machine.
+2. Add `git+ssh://git@github.com/strvcom/strv-ds-opensearch-manager.git` to `requirements.txt`.
+3. Create a venv or conda environment using `requirements.txt`.
+
+### Docker-compose
+1. Do all the 'local environment' steps above.
+2. Run docker compose with reference to the local key as an argument (e.g. `docker-compose build --build-arg SSH_PRIVATE_KEY="$(cat ~/.ssh/id_ed25519)"`)
+3. Add the following to the Dockerfile:
+```
+# Add ssh private key into container
+ARG SSH_PRIVATE_KEY
+RUN mkdir ~/.ssh/
+RUN echo "${SSH_PRIVATE_KEY}" > ~/.ssh/id_ed25519
+RUN chmod 600 ~/.ssh/id_ed25519
+RUN ssh-keyscan github.com >> ~/.ssh/known_hosts
+```
+
+ **_NOTE:_** When using Makefile use `SSH_PRIVATE_KEY="$$(cat ~/.ssh/id_ed25519)`.
## :hammer: Usage
diff --git a/setup.py b/setup.py
index f2fa57e..3a44343 100755
--- a/setup.py
+++ b/setup.py
@@ -23,9 +23,24 @@
]
),
install_requires=[
- "opensearch-py>=2.0.0",
+ "pytest>=7.1",
+ "attrs>=22.1",
+ "certifi>=2022.9",
+ "charset-normalizer>=2.1",
+ "click>=8.1",
+ "idna>=3.4",
+ "iniconfig>=1.1",
+ "opensearch-py>=2.0",
+ "packaging>=21.3",
"parameterized>=0.8.1",
- "pytest>=7.1.3",
+ "pluggy>=1.0",
+ "py>=1.11",
+ "pyparsing>=3.0",
+ "requests>=2.28",
+ "tomli>=2.0.",
+ "urllib3>=1.26",
+ "requests-aws4auth>=1.1",
+ "deepdiff>=6.2",
],
python_requires=">=3.8",
include_package_data=True,