Erro vite conexão recusada usando o Laravel 12 mais Docker e Nginx
Oi estou desenvolvendo um sistema para estudos usando Docker e Laravel, e estou enfrentando um erro depois de ter gerado a imagen, agora quando eu quero rodar o comando npm run dev
e tento acessar o localhost:8081 onde foi a porta que eu setei porém esta dando erro de conexão recusada:
GET http://localhost:5173/@vite/client net::ERR_CONNECTION_REFUSED
localhost/:21
GET http://localhost:5173/resources/js/app.jsx net::ERR_CONNECTION_REFUSED
localhost/:21
GET http://localhost:5173/resources/js/Pages/Welcome.jsx net::ERR_CONNECTION_REFUSED
localhost/:16
GET http://localhost:5173/@react-refresh net::ERR_CONNECTION_REFUSED
Esse aqui é meu dockerfile:
FROM php:8.2-fpm
# Install required dependencies
RUN apt-get update && apt-get install -y \
git \
unzip \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
zip \
libzip-dev \
procps \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd zip
RUN curl -fsSL https://deb.nodesource.com/setup_current.x | bash - \
&& apt-get install -y nodejs
# Install Composer
COPY --from=composer:2.6 /usr/bin/composer /usr/bin/composer
# Set working directory
WORKDIR /var/www/html
COPY . /var/www/html
Esse é meu docker-compose.yml:
services:
economize-app:
build:
context: ./docker/php
container_name: economize-app
volumes:
- .:/var/www/html
ports:
- "9000:9000"
networks:
- laravel
nginx:
image: nginx:latest
container_name: nginx
ports:
- "8081:80"
volumes:
- .:/var/www/html
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- economize-app
networks:
- laravel
networks:
laravel:
E essa é minha config do nginx:
server {
listen 80;
server_name localhost;
index index.php index.html;
root /var/www/html/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass economize-app:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location ~ /\.ht {
deny all;
}
}
Eu tentei setar um ip padrão no vite, mas ainda sim não consegui:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import react from '@vitejs/plugin-react';
export default defineConfig({
plugins: [
laravel({
input: 'resources/js/app.jsx',
refresh: true,
}),
react(),
],
server: {
host: '0.0.0.0', // Acessível em qualquer interface de rede
port: 5173, // Porta padrão do Vite
https: false,
cors: false,
hmr: {
host: 'localhost', // Host para Hot Module Replacement (HMR)
},
},
});
Alguém sabe como posso consertar esse problema?