cd: Add docker builds for dev env

This commit is contained in:
2026-07-23 12:16:37 +05:30
parent 814f216ea7
commit affee4a733
3 changed files with 42 additions and 1 deletions

18
apps/gui/Dockerfile.dev Normal file
View File

@@ -0,0 +1,18 @@
FROM node:22-slim
ENV PNPM_HOME="/pnpm" \
PATH="$PNPM_HOME:$PATH"
RUN corepack enable && corepack prepare pnpm@11.15.1 --activate
WORKDIR /app
# Install native build tools if required by dependencies
RUN apt-get update -qq && \
apt-get install -qq -y --no-install-recommends \
python3 make g++ && \
rm -rf /var/lib/apt/lists/*
# Expose the development port and HMR port if needed
EXPOSE 3000
# We run a shell command or script to handle mounting sync + pnpm install fallback
CMD ["pnpm", "--filter", "@omnia/gui", "dev", "--turbopack"]

View File

@@ -1,6 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts";
import "./.next/dev/types/routes.d.ts";
// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.

23
docker-compose.dev.yml Normal file
View File

@@ -0,0 +1,23 @@
services:
omnia-gui:
build:
context: .
dockerfile: apps/gui/Dockerfile.dev
ports:
- "3000:3000"
environment:
- NODE_ENV=development
- WATCHPACK_POLLING=true # Useful for certain Linux/LXC filesystem event syncing issues
- CHOKIDAR_USEPOLLING=true # Ensures file changes trigger HMR properly through bind mounts
- GOOGLE_API_KEY=${GOOGLE_API_KEY:-}
volumes:
# Mount the entire monorepo code live into the container
- .:/app
# Anonymous volumes to prevent local node_modules / build caches from overwriting container binaries
- /app/node_modules
- /app/apps/gui/node_modules
- /app/apps/gui/.next
- omnia-data:/app/apps/gui/data
volumes:
omnia-data: