mercybabs commited on
Commit
b5bf39b
·
1 Parent(s): 2e4457a

Add docker compose to Streamlit app

Browse files
Files changed (2) hide show
  1. Dockerfile +16 -2
  2. docker-compose.yml +29 -0
Dockerfile CHANGED
@@ -8,11 +8,24 @@ WORKDIR /app
8
  COPY . /app
9
 
10
  # Install system dependencies
11
- RUN apt update && apt install -y \
12
- tesseract-ocr \
13
  poppler-utils \
 
 
 
14
  && rm -rf /var/lib/apt/lists/*
15
 
 
 
 
 
 
 
 
 
 
 
 
16
  # Install Python dependencies
17
  RUN pip install --no-cache-dir -r requirements.txt
18
 
@@ -27,3 +40,4 @@ EXPOSE 8501
27
  # ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
28
 
29
  ENTRYPOINT ["bash", "-c", "streamlit run app.py --server.port=${PORT:-8501} --server.address=0.0.0.0"]
 
 
8
  COPY . /app
9
 
10
  # Install system dependencies
11
+ RUN apt-get update && apt-get install -y \
 
12
  poppler-utils \
13
+ tesseract-ocr \
14
+ ibgl1-mesa-glx \
15
+ postgresql postgresql-client \
16
  && rm -rf /var/lib/apt/lists/*
17
 
18
+ # Install Redis
19
+ RUN curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg && \
20
+ echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | \
21
+ tee /etc/apt/sources.list.d/redis.list && \
22
+ apt-get update && \
23
+ apt-get install -y redis-stack-server
24
+
25
+ # Start PostgreSQL and Redis
26
+ RUN service postgresql start && \
27
+ redis-stack-server --daemonize yes
28
+
29
  # Install Python dependencies
30
  RUN pip install --no-cache-dir -r requirements.txt
31
 
 
40
  # ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
41
 
42
  ENTRYPOINT ["bash", "-c", "streamlit run app.py --server.port=${PORT:-8501} --server.address=0.0.0.0"]
43
+
docker-compose.yml ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: '3.8'
2
+
3
+ services:
4
+ app:
5
+ build: .
6
+ container_name: streamlit_app
7
+ ports:
8
+ - "8501:8501"
9
+ depends_on:
10
+ - redis-stack
11
+ environment:
12
+ - REDIS_HOST=redis-stack
13
+ - REDIS_PORT=6379
14
+ networks:
15
+ - app_network
16
+
17
+ redis-stack:
18
+ image: redis/redis-stack
19
+ container_name: redis_stack
20
+ restart: always
21
+ ports:
22
+ - "6379:6379"
23
+ - "8001:8001" # RedisInsight web UI
24
+ networks:
25
+ - app_network
26
+
27
+ networks:
28
+ app_network:
29
+ driver: bridge