58 lines
2.0 KiB
YAML
58 lines
2.0 KiB
YAML
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:
|
|
|