diff --git a/docker-compose.yml b/docker-compose.yml index 94c6fcf..950ab58 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,7 +6,8 @@ services: context: . dockerfile: docker/frontend/Dockerfile container_name: support-frontend - restart: unless-stopped + ports: + - "80:80" depends_on: - backend @@ -15,7 +16,6 @@ services: context: . dockerfile: docker/backend/Dockerfile container_name: support-backend - restart: unless-stopped environment: - TELEGRAM_BOT_TOKEN=7677506032:AAHEqNUr1lIUfNVbLwaWIaPeKKShsCyz3eo - TELEGRAM_CHAT_ID=-1002037023574 @@ -23,19 +23,7 @@ services: - ./backend:/app - sqlite_data:/app/instance ports: - - "8081:8000" - - nginx: - build: - context: ./docker/nginx - dockerfile: Dockerfile - container_name: support-nginx - restart: unless-stopped - ports: - - "80:80" - depends_on: - - frontend - - backend + - "8000:8000" volumes: sqlite_data: diff --git a/docker/frontend/Dockerfile b/docker/frontend/Dockerfile index d486487..406d4c7 100644 --- a/docker/frontend/Dockerfile +++ b/docker/frontend/Dockerfile @@ -1,4 +1,4 @@ -FROM node:18-alpine +FROM node:18-alpine as build WORKDIR /app @@ -10,4 +10,36 @@ RUN npm install COPY frontend/ . # Build the app -CMD ["npm", "run", "build"] +RUN npm run build + +FROM nginx:alpine + +# Copy built files +COPY --from=build /app/dist /usr/share/nginx/html + +# Create nginx config directory +RUN mkdir -p /etc/nginx/conf.d + +# Copy nginx configuration +COPY docker/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf + +# Create required directories and set permissions +RUN mkdir -p /var/cache/nginx \ + /var/cache/nginx/client_temp \ + /var/cache/nginx/proxy_temp \ + /var/cache/nginx/fastcgi_temp \ + /var/cache/nginx/uwsgi_temp \ + /var/cache/nginx/scgi_temp \ + /var/run \ + && chmod 777 /var/cache/nginx \ + /var/cache/nginx/client_temp \ + /var/cache/nginx/proxy_temp \ + /var/cache/nginx/fastcgi_temp \ + /var/cache/nginx/uwsgi_temp \ + /var/cache/nginx/scgi_temp \ + /var/run + +# Remove user directive from nginx config +RUN sed -i '/user/d' /etc/nginx/nginx.conf + +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile deleted file mode 100644 index 819cb13..0000000 --- a/docker/nginx/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM nginx:alpine - -# Copy configuration files -COPY nginx.conf /etc/nginx/nginx.conf -COPY conf.d/default.conf /etc/nginx/conf.d/default.conf - -# Create required directories and set permissions -RUN mkdir -p /var/cache/nginx \ - /var/cache/nginx/client_temp \ - /var/cache/nginx/proxy_temp \ - /var/cache/nginx/fastcgi_temp \ - /var/cache/nginx/uwsgi_temp \ - /var/cache/nginx/scgi_temp \ - /var/run \ - && chmod -R 755 /var/cache/nginx \ - && chmod -R 755 /etc/nginx \ - && chown -R nginx:nginx /var/cache/nginx \ - && chown -R nginx:nginx /etc/nginx - -EXPOSE 80 - -CMD ["nginx", "-g", "daemon off;"] diff --git a/docker/nginx/nginx.conf b/docker/nginx/nginx.conf index 7475b6a..2467e62 100644 --- a/docker/nginx/nginx.conf +++ b/docker/nginx/nginx.conf @@ -11,8 +11,8 @@ http { include /etc/nginx/mime.types; default_type application/octet-stream; - log_format main '$remote_addr - $remote_user [$time_local] "$request" ' - '$status $body_bytes_sent "$http_referer" ' + log_format main '$remote_addr - $remote_user [$time_local] "$request"' + '$status $body_bytes_sent "$http_referer"' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main;