mirror of
https://github.com/sortedcord/omnia.git
synced 2026-07-23 12:32:49 +05:30
cd: Add docker builds for dev env
This commit is contained in:
18
apps/gui/Dockerfile.dev
Normal file
18
apps/gui/Dockerfile.dev
Normal 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"]
|
||||
2
apps/gui/next-env.d.ts
vendored
2
apps/gui/next-env.d.ts
vendored
@@ -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
23
docker-compose.dev.yml
Normal 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:
|
||||
Reference in New Issue
Block a user