feat: добавить базовые сервисы image-platform

- добавлены backend, admin, gateway и worker skeleton
- добавлены Drizzle schema, database package и initial migration
- добавлены shared packages для RabbitMQ topology и S3 helpers
- обновлены dev-инфраструктура, env example, scripts и dependencies
- обновлена документация под versioned image URLs и read-through flow
This commit is contained in:
2026-05-05 09:59:21 +03:00
parent 37592c8b81
commit bcadb85a83
66 changed files with 8698 additions and 213 deletions

View File

@@ -19,12 +19,39 @@ S3_SECRET_ACCESS_KEY=image-password
S3_FORCE_PATH_STYLE=true
# Future local services
PUBLIC_API_BASE_URL=http://localhost:3001
BACKEND_PORT=3001
ADMIN_PORT=5173
GATEWAY_HOST=0.0.0.0
GATEWAY_PORT=8888
PUBLIC_BACKEND_BASE_URL=http://localhost:3001
PUBLIC_ADMIN_BASE_URL=http://localhost:5173
PUBLIC_IMAGE_BASE_URL=http://localhost:8888
# imgproxy is always external for image-platform.
# Local example: run imgproxy separately on localhost:18080.
# Gateway proxies /api and Swagger routes to this upstream.
GATEWAY_BACKEND_UPSTREAM=http://localhost:3001
# Dev imgproxy is exposed only on localhost.
IMGPROXY_PORT=18080
IMGPROXY_UPSTREAM=http://localhost:18080
IMGPROXY_SIGNING_ENABLED=false
IMGPROXY_KEY=
IMGPROXY_SALT=
IMGPROXY_WORKERS=2
IMGPROXY_MAX_SRC_RESOLUTION=20
IMGPROXY_DOWNLOAD_TIMEOUT=30
IMGPROXY_ALLOWED_SOURCES=
# RabbitMQ dev broker is exposed only on localhost.
RABBITMQ_DEFAULT_USER=image
RABBITMQ_DEFAULT_PASS=image-password
RABBITMQ_DEFAULT_VHOST=image_platform
RABBITMQ_PORT=5672
RABBITMQ_MANAGEMENT_PORT=15672
RABBITMQ_URL=amqp://image:image-password@localhost:5672/image_platform
WORKER_PREFETCH=2
# Queue topology
RABBITMQ_JOBS_EXCHANGE=image-platform.jobs
RABBITMQ_GENERATE_VARIANT_QUEUE=image.generate-variant
RABBITMQ_GENERATE_VARIANT_DLX=image-platform.jobs.dlx
RABBITMQ_GENERATE_VARIANT_DLQ=image.generate-variant.dlq