Spaces:
Building
Building
wjm55
commited on
Commit
·
cf8d4dd
1
Parent(s):
2e2765c
testing nginx
Browse files- Dockerfile +34 -2
- start.sh +10 -0
Dockerfile
CHANGED
@@ -5,7 +5,35 @@ ENV QUERY_DEFAULTS_LIMIT=25 \
|
|
5 |
PERSISTENCE_DATA_PATH=/var/lib/weaviate \
|
6 |
ENABLE_API_BASED_MODULES=true \
|
7 |
CLUSTER_HOSTNAME=node1 \
|
8 |
-
GRPC_PORT=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
|
10 |
EXPOSE 7860
|
11 |
|
@@ -16,4 +44,8 @@ RUN mkdir -p /var/lib/weaviate && \
|
|
16 |
# Create volume for persistent data
|
17 |
VOLUME ["/var/lib/weaviate"]
|
18 |
|
19 |
-
|
|
|
|
|
|
|
|
|
|
5 |
PERSISTENCE_DATA_PATH=/var/lib/weaviate \
|
6 |
ENABLE_API_BASED_MODULES=true \
|
7 |
CLUSTER_HOSTNAME=node1 \
|
8 |
+
GRPC_PORT=50051 \
|
9 |
+
HTTP_PORT=8080
|
10 |
+
|
11 |
+
# Install Nginx and required tools
|
12 |
+
RUN apt-get update && \
|
13 |
+
apt-get install -y nginx gettext-base && \
|
14 |
+
apt-get clean && \
|
15 |
+
rm -rf /var/lib/apt/lists/*
|
16 |
+
|
17 |
+
# Create Nginx configuration
|
18 |
+
RUN echo 'server {\n\
|
19 |
+
listen 7860 http2;\n\
|
20 |
+
server_name localhost;\n\
|
21 |
+
\n\
|
22 |
+
# HTTP API traffic\n\
|
23 |
+
location / {\n\
|
24 |
+
proxy_pass http://localhost:8080;\n\
|
25 |
+
proxy_set_header Host $host;\n\
|
26 |
+
proxy_set_header X-Real-IP $remote_addr;\n\
|
27 |
+
}\n\
|
28 |
+
\n\
|
29 |
+
# gRPC traffic\n\
|
30 |
+
location /weaviate.Weaviate/ {\n\
|
31 |
+
grpc_pass grpc://localhost:50051;\n\
|
32 |
+
}\n\
|
33 |
+
}' > /etc/nginx/conf.d/weaviate.conf
|
34 |
+
|
35 |
+
# Remove default Nginx site
|
36 |
+
RUN rm /etc/nginx/sites-enabled/default
|
37 |
|
38 |
EXPOSE 7860
|
39 |
|
|
|
44 |
# Create volume for persistent data
|
45 |
VOLUME ["/var/lib/weaviate"]
|
46 |
|
47 |
+
# Start script to run both services
|
48 |
+
COPY start.sh /start.sh
|
49 |
+
RUN chmod +x /start.sh
|
50 |
+
|
51 |
+
CMD ["/start.sh"]
|
start.sh
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#!/bin/bash
|
2 |
+
|
3 |
+
# Start Weaviate in the background
|
4 |
+
/bin/weaviate --host 0.0.0.0 --port $HTTP_PORT --scheme http &
|
5 |
+
|
6 |
+
# Give Weaviate a moment to start
|
7 |
+
sleep 5
|
8 |
+
|
9 |
+
# Start Nginx in the foreground
|
10 |
+
nginx -g 'daemon off;'
|