| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| services: |
| |
| server: |
| build: |
| context: . |
| dockerfile: Dockerfile.dev |
| args: |
| |
| |
| UID: ${UID:-1001} |
| GID: ${GID:-1001} |
| container_name: automaker-dev-server |
| restart: unless-stopped |
| ports: |
| - '3008:3008' |
| environment: |
| |
| - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} |
|
|
| |
| - CLAUDE_OAUTH_CREDENTIALS=${CLAUDE_OAUTH_CREDENTIALS:-} |
|
|
| |
| - CURSOR_AUTH_TOKEN=${CURSOR_AUTH_TOKEN:-} |
|
|
| |
| - AUTOMAKER_API_KEY=${AUTOMAKER_API_KEY:-} |
|
|
| |
| - NODE_ENV=development |
| - PORT=3008 |
| - CORS_ORIGIN=http://localhost:3007 |
| - HUSKY=0 |
|
|
| |
| - ALLOWED_ROOT_DIRECTORY=${ALLOWED_ROOT_DIRECTORY:-/projects} |
| - DATA_DIR=/data |
|
|
| |
| - IS_CONTAINERIZED=true |
| volumes: |
| |
| - .:/app:cached |
|
|
| |
| |
| - automaker-dev-node-modules:/app/node_modules |
|
|
| |
| |
| - ./data:/data |
|
|
| |
| - automaker-claude-config:/home/automaker/.claude |
| - automaker-cursor-config:/home/automaker/.cursor |
|
|
| |
|
|
| |
| |
| entrypoint: /bin/sh |
| command: |
| - -c |
| - | |
| # Install as root to avoid permission issues with named volumes |
| # Use --force to skip platform-specific devDependencies (dmg-license is macOS-only) |
| echo 'Installing dependencies...' && |
| npm ci --legacy-peer-deps --force && |
| echo 'Building shared packages...' && |
| npm run build:packages && |
| |
| |
| chown -R automaker:automaker /app/node_modules && |
| echo 'Starting server in development mode...' && |
| exec gosu automaker npm run _dev:server |
| healthcheck: |
| test: ['CMD', 'curl', '-f', 'http://localhost:3008/api/health'] |
| interval: 10s |
| timeout: 5s |
| retries: 5 |
| start_period: 60s |
|
|
| |
| ui: |
| build: |
| context: . |
| dockerfile: Dockerfile.dev |
| args: |
| UID: ${UID:-1001} |
| GID: ${GID:-1001} |
| container_name: automaker-dev-ui |
| restart: unless-stopped |
| ports: |
| - '3007:3007' |
| environment: |
| - NODE_ENV=development |
| - VITE_SERVER_URL=http://localhost:3008 |
| - TEST_PORT=3107 |
| - VITE_SKIP_ELECTRON=true |
| - VITE_APP_MODE=3 |
| - HUSKY=0 |
| volumes: |
| |
| - .:/app:cached |
|
|
| |
| - automaker-dev-node-modules:/app/node_modules |
| depends_on: |
| server: |
| condition: service_healthy |
| working_dir: /app/apps/ui |
| |
| |
| |
| entrypoint: /bin/sh |
| command: |
| - -c |
| - | |
| exec gosu automaker sh -c " |
| echo 'Waiting for dependencies to be ready...' && |
| while [ ! -d /app/node_modules/.bin ]; do sleep 2; done && |
| echo 'Starting UI development server...' && |
| cd /app/apps/ui && npx vite --host |
| " |
| |
| volumes: |
| automaker-dev-node-modules: |
| name: automaker-dev-node-modules |
| |
|
|
| automaker-claude-config: |
| name: automaker-claude-config |
|
|
| automaker-cursor-config: |
| name: automaker-cursor-config |
|
|