services: admin-panel: image: node:24-alpine container_name: web-admin-panel profiles: ["frontend"] working_dir: /app/admin-panel command: sh -c "npm install && npm run dev -- --host 0.0.0.0 --port 5173" environment: VITE_API_BASE_URL: ${VITE_API_BASE_URL:-http://127.0.0.1:3000} VITE_ENABLE_LOGS_POLLING: ${VITE_ENABLE_LOGS_POLLING:-true} VITE_LOGS_ENDPOINT: ${VITE_LOGS_ENDPOINT:-/api/v1/logs} VITE_IMAGE_UPLOAD_TIMEOUT_MS: ${VITE_IMAGE_UPLOAD_TIMEOUT_MS:-180000} #ports: # - "5173:5173" volumes: - ./:/app - admin_panel_node_modules:/app/admin-panel/node_modules depends_on: api: condition: service_started restart: unless-stopped api: build: context: . dockerfile: Dockerfile container_name: web-api environment: #PORT: ${PORT:-3000} DB_REQUIRED: ${DB_REQUIRED:-true} DATABASE_URL: ${DATABASE_URL:-postgres://web:web@host.docker.internal:5432/web} REDIS_URL: ${REDIS_URL:-redis://host.docker.internal:6379} JWT_SECRET: ${JWT_SECRET:-change-me-in-production} JWT_ISSUER: ${JWT_ISSUER:-web-api} ACCESS_TOKEN_TTL_SECS: ${ACCESS_TOKEN_TTL_SECS:-900} REFRESH_TOKEN_TTL_SECS: ${REFRESH_TOKEN_TTL_SECS:-2592000} ENABLE_SWAGGER_UI: ${ENABLE_SWAGGER_UI:-true} IMAGE_UPLOAD_DIR: ${IMAGE_UPLOAD_DIR:-/app/uploads/originals} IMAGE_VARIANT_DIR: ${IMAGE_VARIANT_DIR:-/app/uploads/variants} # Konteyner CPU limiti varsa API tarafinda cekirdek sayisini buna gore ayarlayabilirsiniz. VIPS_CONCURRENCY: ${VIPS_CONCURRENCY:-0} CORS_DEFAULT_ALLOW: ${CORS_DEFAULT_ALLOW:-false} CORS_ALLOW_LOCALHOST: ${CORS_ALLOW_LOCALHOST:-true} CORS_RATE_LIMIT_PER_MINUTE: ${CORS_RATE_LIMIT_PER_MINUTE:-120} CORS_CACHE_TTL_SECS: ${CORS_CACHE_TTL_SECS:-300} #ports: # - "3000:3000" #extra_hosts: # - "host.docker.internal:host-gateway" volumes: - uploads_data:/app/uploads restart: unless-stopped volumes: admin_panel_node_modules: uploads_data: