From 6033d1545ef63f146285babe6db86b1bb02b8c82 Mon Sep 17 00:00:00 2001 From: Alex Holliday Date: Wed, 7 May 2025 10:21:41 -0700 Subject: [PATCH] update .env.produciton, update dev docker build --- docker/dev/build_images.sh | 2 +- docker/dev/client.Dockerfile | 11 +++++---- docker/dev/docker-compose.yaml | 19 +++++++++++---- docker/dev/nginx/conf.d/default.conf | 35 ++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 9 deletions(-) create mode 100755 docker/dev/nginx/conf.d/default.conf diff --git a/docker/dev/build_images.sh b/docker/dev/build_images.sh index 4baf442b8..e94be9fa5 100755 --- a/docker/dev/build_images.sh +++ b/docker/dev/build_images.sh @@ -5,7 +5,7 @@ cd "$(dirname "$0")" cd ../.. # Define service names and their corresponding Dockerfiles in parallel arrays -services=("uptime_client" "uptime_database_mongo" "uptime_redis" "uptime_server") +services=("uptime_client" "uptime_mongo" "uptime_redis" "uptime_server") dockerfiles=( "./docker/dev/client.Dockerfile" "./docker/dev/mongoDB.Dockerfile" diff --git a/docker/dev/client.Dockerfile b/docker/dev/client.Dockerfile index fd60f47a2..aa4d228fc 100755 --- a/docker/dev/client.Dockerfile +++ b/docker/dev/client.Dockerfile @@ -18,10 +18,13 @@ COPY ./client/package*.json ./ RUN npm install -COPY ./client . +COPY ./client ./ -RUN npm run build-dev +RUN npm run build -RUN npm install -g serve +FROM nginx:1.27.1-alpine -CMD ["serve","-s", "dist", "-l", "5173"] +COPY --from=build /app/dist /usr/share/nginx/html +COPY --from=build /app/env.sh /docker-entrypoint.d/env.sh +RUN chmod +x /docker-entrypoint.d/env.sh +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/docker/dev/docker-compose.yaml b/docker/dev/docker-compose.yaml index f8b2c6936..73904da37 100755 --- a/docker/dev/docker-compose.yaml +++ b/docker/dev/docker-compose.yaml @@ -3,8 +3,12 @@ services: image: uptime_client:latest restart: always ports: - - "5173:5173" - + - "80:80" + environment: + UPTIME_APP_API_BASE_URL: "http://localhost:5000/api/v1" + UPTIME_APP_CLIENT_HOST: "http://localhost" + volumes: + - ./nginx/conf.d:/etc/nginx/conf.d/ depends_on: - server server: @@ -31,10 +35,17 @@ services: retries: 5 start_period: 5s mongodb: - image: uptime_database_mongo:latest + image: uptime_mongo:latest restart: always - command: ["mongod", "--quiet"] + command: ["mongod", "--quiet", "--replSet", "rs0", "--bind_ip_all"] ports: - "27017:27017" volumes: - ./mongo/data:/data/db + healthcheck: + test: echo "try { rs.status() } catch (err) { rs.initiate({_id:'rs0',members:[{_id:0,host:'mongodb:27017'}]}) }" | mongosh --port 27017 --quiet + interval: 5s + timeout: 30s + start_period: 0s + start_interval: 1s + retries: 30 diff --git a/docker/dev/nginx/conf.d/default.conf b/docker/dev/nginx/conf.d/default.conf new file mode 100755 index 000000000..9a7690aa5 --- /dev/null +++ b/docker/dev/nginx/conf.d/default.conf @@ -0,0 +1,35 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + server_name localhost; # Set server name to localhost + server_tokens off; + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + try_files $uri $uri/ /index.html; + } + + # location /api/ { + # proxy_pass http://server:5000/api/; + # proxy_http_version 1.1; + # proxy_set_header Host $host; + # proxy_set_header X-Real-IP $remote_addr; + # proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + # proxy_set_header X-Forwarded-Proto $scheme; + # proxy_set_header Connection ''; + # chunked_transfer_encoding off; + # proxy_buffering off; + # proxy_cache off; + # } + + location /api-docs/ { + proxy_pass http://server:5000/api-docs/; + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } +} \ No newline at end of file