ginnigarg commited on
Commit
dbafd4d
·
verified ·
1 Parent(s): b92c928

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -17
Dockerfile CHANGED
@@ -1,23 +1,24 @@
1
  FROM python:3.9-slim
2
 
3
- # Install system dependencies + Java for Elasticsearch
4
  RUN apt-get update && apt-get install -y \
5
- curl openjdk-11-jdk wget gnupg unzip \
6
  && rm -rf /var/lib/apt/lists/*
7
 
8
- # Install Python dependencies
9
- COPY requirements.txt .
10
- RUN pip install --no-cache-dir -r requirements.txt
11
-
12
- # Install Elasticsearch
13
- ENV ES_VERSION=7.17.23
14
  RUN wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz && \
15
  tar -xzf elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz && \
16
  mv elasticsearch-${ES_VERSION} /usr/share/elasticsearch && \
17
  rm elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz
18
 
19
- ENV PATH="/usr/share/elasticsearch/bin:${PATH}"
20
- ENV ES_HOME=/usr/share/elasticsearch
 
 
 
 
 
21
 
22
  # Copy application code
23
  COPY . .
@@ -27,13 +28,9 @@ EXPOSE 7860
27
  EXPOSE 6900
28
  EXPOSE 9200
29
 
30
- # Health check (check Argilla, not ES directly)
31
  HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 \
32
  CMD curl -f http://localhost:6900/api/docs || exit 1
33
 
34
- # Start both Elasticsearch and your app
35
- CMD ["/bin/bash", "-c", "\
36
- elasticsearch -d -Ediscovery.type=single-node && \
37
- sleep 15 && \
38
- python app.py \
39
- "]
 
1
  FROM python:3.9-slim
2
 
3
+ # Install system dependencies
4
  RUN apt-get update && apt-get install -y \
5
+ curl openjdk-17-jdk wget gnupg unzip \
6
  && rm -rf /var/lib/apt/lists/*
7
 
8
+ # Install Elasticsearch (using the official tarball)
9
+ ENV ES_VERSION=8.15.0
 
 
 
 
10
  RUN wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz && \
11
  tar -xzf elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz && \
12
  mv elasticsearch-${ES_VERSION} /usr/share/elasticsearch && \
13
  rm elasticsearch-${ES_VERSION}-linux-x86_64.tar.gz
14
 
15
+ # Create elasticsearch data directory
16
+ RUN mkdir -p /usr/share/elasticsearch/data && \
17
+ chmod -R 777 /usr/share/elasticsearch
18
+
19
+ # Install Python dependencies
20
+ COPY requirements.txt .
21
+ RUN pip install --no-cache-dir -r requirements.txt
22
 
23
  # Copy application code
24
  COPY . .
 
28
  EXPOSE 6900
29
  EXPOSE 9200
30
 
31
+ # Health check (check Argilla API)
32
  HEALTHCHECK --interval=30s --timeout=30s --start-period=30s --retries=3 \
33
  CMD curl -f http://localhost:6900/api/docs || exit 1
34
 
35
+ # Start both Elasticsearch and Argilla
36
+ CMD bash -c "/usr/share/elasticsearch/bin/elasticsearch -d && sleep 15 && python app.py"