Files
AndyTranscribe/docker-compose.dev.yml
T
ben 6bc5a20606 Speed up Docker builds with a single image and parallel deps.
Build app once for queue/reverb, run Composer and npm in parallel with cache mounts, and skip redundant vite npm ci on restart.
2026-08-12 20:20:06 +02:00

61 lines
1.5 KiB
YAML

# Local development overlay: bind-mount source + Vite HMR.
# Usage:
# docker compose -f docker-compose.yml -f docker-compose.dev.yml up --build -d
# Or set in .env:
# COMPOSE_FILE=docker-compose.yml:docker-compose.dev.yml
services:
app:
environment:
KEEP_VITE_HOT: "true"
volumes:
- .:/app
depends_on:
vite:
condition: service_started
queue:
# Reload PHP between jobs so code mounts take effect without restarting.
command:
- php
- artisan
- queue:listen
- database
- --sleep=1
- --tries=1
- --timeout=${TRANSCRIPTION_TIMEOUT:-600}
environment:
KEEP_VITE_HOT: "true"
volumes:
- .:/app
reverb:
environment:
KEEP_VITE_HOT: "true"
volumes:
- .:/app
vite:
image: node:22-bookworm
container_name: andytranscribe-vite
working_dir: /app
command: >
sh -c "if [ ! -x node_modules/.bin/vite ]; then npm ci; fi;
npm run dev -- --host 0.0.0.0 --port 5173"
ports:
- "${VITE_HOST_PORT:-5173}:5173"
environment:
VITE_APP_NAME: ${VITE_APP_NAME:-AndyTranscribe}
VITE_REVERB_APP_KEY: ${REVERB_APP_KEY:-andytranscribe-key}
VITE_REVERB_HOST: ${VITE_REVERB_HOST:-localhost}
VITE_REVERB_PORT: ${REVERB_HOST_PORT:-8081}
VITE_REVERB_SCHEME: ${VITE_REVERB_SCHEME:-http}
VITE_USE_POLLING: "true"
volumes:
- .:/app
- vite-node-modules:/app/node_modules
restart: unless-stopped
volumes:
vite-node-modules: