رسانه: پیشبارگذاری تصاویر در بیلد تازه — seed-media + سینک خودکار MinIO
تا وقتی کسی کلون/بیلد تازه میگیرد، همان تصاویر را داشته باشد: - seed-media شامل هر ۱۹ فایل تصویری است که در دیتابیس با پیشوند /media ثبتاند - minio-setup بعد از ساخت باکت، محتوای seed-media را با mc mirror در bucket میگذارد — روی حجم موجود idempotent است و داده تازه را نمیخورد
@@ -57,7 +57,10 @@ services:
|
|||||||
- traefik.http.middlewares.media-rewrite.replacepathregex.replacement=/aramesh-media/$$1
|
- traefik.http.middlewares.media-rewrite.replacepathregex.replacement=/aramesh-media/$$1
|
||||||
- traefik.http.services.media.loadbalancer.server.port=9000
|
- traefik.http.services.media.loadbalancer.server.port=9000
|
||||||
|
|
||||||
# یکبار اجرا میشود: ساخت باکت و بازگذاشتن خواندن عمومی برای سرو تصاویر
|
# یکبار اجرا میشود: ساخت باکت، بازگذاشتن خواندن عمومی و پیشبارگذاری تصویرهای seed.
|
||||||
|
# تصویرهای داخل seed-media/ (که با پیشوند /media در دیتابیس ثبتاند) روی یک حجم تازه
|
||||||
|
# وارد باکت میشوند تا هر نسخه تازهکلون/بیلد، همان عکسها را داشته باشد؛
|
||||||
|
# روی حجم موجود، mc cp فایلهای تکراری را رد میکند و دادهتازه را نمیخورد.
|
||||||
minio-setup:
|
minio-setup:
|
||||||
image: minio/mc:latest
|
image: minio/mc:latest
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -67,13 +70,17 @@ services:
|
|||||||
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-aramesh}
|
MINIO_ROOT_USER: ${MINIO_ROOT_USER:-aramesh}
|
||||||
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?MINIO_ROOT_PASSWORD را در .env تنظیم کنید}
|
MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD:?MINIO_ROOT_PASSWORD را در .env تنظیم کنید}
|
||||||
MINIO_BUCKET: aramesh-media
|
MINIO_BUCKET: aramesh-media
|
||||||
|
volumes:
|
||||||
|
- ./seed-media:/seed-media:ro
|
||||||
restart: "no"
|
restart: "no"
|
||||||
entrypoint: >
|
entrypoint: >
|
||||||
/bin/sh -c "
|
/bin/sh -c "
|
||||||
mc alias set local http://minio:9000 $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD &&
|
mc alias set local http://minio:9000 $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD &&
|
||||||
mc mb --ignore-existing local/$$MINIO_BUCKET &&
|
mc mb --ignore-existing local/$$MINIO_BUCKET &&
|
||||||
mc anonymous set download local/$$MINIO_BUCKET &&
|
mc anonymous set download local/$$MINIO_BUCKET &&
|
||||||
echo 'minio-setup: bucket ready'
|
echo 'minio-setup: bucket ready' &&
|
||||||
|
cd /seed-media && mc mirror --overwrite . local/$$MINIO_BUCKET/ &&
|
||||||
|
echo 'minio-setup: seed media mirrored'
|
||||||
"
|
"
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
|
|||||||
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1009 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 781 KiB |
|
After Width: | Height: | Size: 781 KiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 781 KiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 1.9 MiB |
|
After Width: | Height: | Size: 302 KiB |
|
After Width: | Height: | Size: 283 KiB |