Skip to content

Instantly share code, notes, and snippets.

@denisfl
Created February 24, 2026 16:23
Show Gist options
  • Select an option

  • Save denisfl/f7a56317dc1970e4e4746599fb11a453 to your computer and use it in GitHub Desktop.

Select an option

Save denisfl/f7a56317dc1970e4e4746599fb11a453 to your computer and use it in GitHub Desktop.
fe-tasks: Docker dev setup with hot-reload fix (Dockerfile + docker-compose + vite.config)
diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..0742934
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,8 @@
+node_modules
+dist
+.git
+.github
+*.md
+.env*
+.DS_Store
+*.log
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..8e6ffa0
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,14 @@
+FROM node:22-alpine
+
+WORKDIR /app
+RUN chown node:node /app
+USER node
+
+COPY --chown=node:node package.json package-lock.json* ./
+RUN npm ci
+
+COPY --chown=node:node . .
+
+EXPOSE 5173
+
+CMD ["npm", "run", "dev", "--", "--host"]
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..4a2d1ff
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,13 @@
+services:
+ app:
+ build: .
+ ports:
+ - '5173:5173'
+ volumes:
+ - .:/app
+ - node_modules:/app/node_modules
+ environment:
+ - NODE_ENV=development
+
+volumes:
+ node_modules:
diff --git a/vite.config.ts b/vite.config.ts
index 7aa32c6..085c887 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -13,4 +13,14 @@ export default defineConfig({
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
+ server: {
+ host: '0.0.0.0',
+ hmr: {
+ clientPort: 5173,
+ },
+ watch: {
+ usePolling: true,
+ interval: 300,
+ },
+ },
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment