diff --git a/docker/Dockerfile b/docker/Dockerfile index bcf1b70c..7b2be3a3 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -23,16 +23,10 @@ COPY docker/nginx.conf /etc/nginx/nginx.conf # Copy built frontend to nginx's web directory COPY ./dist /usr/share/nginx/html -# Set up backend directory and entrypoint script -COPY ./src/backend /src/backend -COPY ./src/backend/entrypoint.sh /src/backend/entrypoint.sh - -# Make entrypoint script executable -RUN chmod +x /src/backend/entrypoint.sh - # Expose necessary ports EXPOSE 8080 EXPOSE 8081 # Use entrypoint.sh to run both the backend and nginx -ENTRYPOINT ["/src/backend/entrypoint.sh"] \ No newline at end of file +RUN chmod +x /app/src/backend/entrypoint.sh +ENTRYPOINT ["/app/src/backend/entrypoint.sh"] \ No newline at end of file diff --git a/docker/nginx.conf b/docker/nginx.conf index 65c1ae2a..f0315883 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -27,6 +27,11 @@ http { proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; + + # CORS headers + add_header 'Access-Control-Allow-Origin' '*'; # Allow all origins (can be restricted to a specific domain) + add_header 'Access-Control-Allow-Methods' 'GET, POST'; # Allow GET and POST methods + add_header 'Access-Control-Allow-Headers' 'Content-Type, Accept'; # Standard headers for requests } # Error pages diff --git a/src/backend/entrypoint.sh b/src/backend/entrypoint.sh index 83d01985..a1e46916 100644 --- a/src/backend/entrypoint.sh +++ b/src/backend/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/sh # Start the backend server -node /src/backend/server.cjs & +node /app/src/backend/server.cjs & # Start nginx in the foreground exec nginx -g 'daemon off;' \ No newline at end of file diff --git a/src/backend/server.cjs b/src/backend/server.cjs index 6d24b766..eebbe740 100644 --- a/src/backend/server.cjs +++ b/src/backend/server.cjs @@ -7,6 +7,7 @@ const io = socketIo(server, { cors: { origin: "*", methods: ["GET", "POST"], + transports: ["polling", "websocket"], }, });