اجرای متابیس روی Podman
ایمیج رسمی Docker متابیس با هر سیستمی که Podman روی آن نصب است سازگار است.
راهاندازی سریع نسخهٔ متنباز
با فرض اینکه Podman را نصب و اجرا کردهاید، آخرین ایمیج کانتینر را دریافت کنید:
podman pull docker.io/metabase/metabase:latest
سپس کانتینر متابیس را اجرا کنید:
podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase:latest
این دستور بهصورت پیشفرض یک سرور متابیس را روی پورت ۳۰۰۰ راهاندازی میکند.
اختیاری: برای دیدن لاگهای راهاندازی نسخهٔ متنباز متابیس، این دستور را اجرا کنید:
podman logs -f metabase
بعد از اتمام راهاندازی، میتوانید نسخهٔ متنباز متابیس را در آدرس http://localhost:3000 ببینید.
برای اجرای متابیس متنباز روی پورتی دیگر، مثلاً پورت ۱۲۳۴۵:
podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase:latest
راهاندازی سریع نسخهٔ Pro یا Enterprise
اگر برای یکی از نسخههای Pro یا Enterprise متابیس یک توکن لایسنس دارید و میخواهید متابیس را بهصورت محلی روی Podman اجرا کنید، از این راهاندازی سریع استفاده کنید.
با فرض اینکه Podman را نصب و اجرا کردهاید، آخرین ایمیج نسخهٔ Enterprise را دریافت کنید:
podman pull docker.io/metabase/metabase-enterprise:latest
سپس کانتینر متابیس را اجرا کنید:
podman run -d -p 3000:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest
این دستور یک سرور متابیس را بهصورت پیشفرض روی پورت ۳۰۰۰ راهاندازی میکند.
اختیاری: برای دیدن لاگها در حین راهاندازی متابیس، این دستور را اجرا کنید:
podman logs -f metabase
پس از اتمام راهاندازی، میتوانید نسخهٔ Pro یا Enterprise متابیس را در آدرس http://localhost:3000 ببینید.
برای اجرای متابیس Pro یا Enterprise روی پورتی دیگر، مثلاً پورت ۱۲۳۴۵:
podman run -d -p 12345:3000 --name=metabase docker.io/metabase/metabase-enterprise:latest
نصب برای محیط تولید
متابیس بهصورت پیشفرض همراه با یک پایگاهدادهٔ داخلی H2 عرضه میشود که دادههای اپلیکیشن را روی فایلسیستم ذخیره میکند. یعنی اگر کانتینر را حذف کنید، دادههای اپلیکیشن متابیس (سؤالها، داشبوردها، کالکشنها و غیره) را از دست خواهید داد.
اگر میخواهید متابیس را در محیط Production اجرا کنید، باید دادههای اپلیکیشن را در یک پایگاهدادهٔ مناسب محیط تولید ذخیره کنید.
بعد از اینکه دیتابیسی مثل Postgres را برای ذخیرهٔ دادههای متابیس آماده کردید، کافی است اطلاعات اتصال و اعتبارسنجی را از طریق متغیرهای محیطی به متابیس بدهید.
اجرای Podman در محیط تولید
فرض کنیم با دستور زیر یک پایگاهدادهٔ Postgres ایجاد کردهاید:
createdb metabaseappdb
نیازی به ساخت جدولها نیست؛ متابیس در هنگام راهاندازی آنها را ایجاد میکند. و فرض کنیم این پایگاهداده از طریق my-database-host:5432 با نام کاربری name و رمز عبور password در دسترس است.
در این صورت، یک مثال از دستور Podman که متابیس را به این دیتابیس متصل میکند به شکل زیر است:
podman run -d -p 3000:3000 \
-e "MB_DB_TYPE=postgres" \
-e "MB_DB_DBNAME=metabaseappdb" \
-e "MB_DB_PORT=5432" \
-e "MB_DB_USER=name" \
-e "MB_DB_PASS=password" \
-e "MB_DB_HOST=my-database-host" \
--name metabase metabase/metabase
به یاد داشته باشید متابیس از داخل کانتینر Podman به پایگاهداده متصل میشود؛ بنابراین مطمئن شوید یا از hostname کامل (FQDN) استفاده میکنید، یا اینکه یک ورودی مناسب در فایل /etc/hosts کانتینر قرار دادهاید.
نگهداری و پیکربندی تکمیلی Podman
- اجرای متابیس بهعنوان سرویس
- سفارشیسازی سرور Jetty متابیس
- تنظیم منطقهٔ زمانی جاوا
- عیبیابی
- ادامهٔ راهاندازی
اجرای متابیس بهعنوان سرویس
میتوانیم از سرویس init مبتنی بر systemd برای ثبت یک سرویس متابیس استفاده کنیم که بهصورت خودکار start و stop شود. پیش از انجام این فرایند، مطمئن شوید کانتینر متابیس در حال اجرا است. سپس از قابلیت داخلی Podman برای تولید فایل سرویس استفاده کنید:
sudo podman generate systemd --new --name metabase > metabase.service
قبل از اجرای سرویس، محتوای فایل metabase.service را بررسی کنید تا مطمئن شوید تنظیمات درست هستند. سپس فایل سرویس را به مسیر مناسب منتقل کنید:
sudo mv metabase.service /etc/systemd/system
برای فعالسازی آغاز خودکار سرویس متابیس هنگام بوت سیستم، دستور زیر را اجرا کنید:
sudo systemctl enable metabase
برای اطمینان از صحت عملکرد، سیستم را ریبوت کنید. پس از بالا آمدن سیستم، کانتینر متابیس باید طبق انتظار در حال اجرا باشد.
سفارشیسازی سرور Jetty متابیس
میتوانید هر یک از تنظیمات سفارشی سرور وب Jetty متابیس را با تنظیم متغیرهای محیطی در دستور podman run اعمال کنید.
تنظیم منطقهٔ زمانی جاوا
بهتر است منطقهٔ زمانی Java را مطابق منطقهٔ زمانی دلخواه برای گزارشها تنظیم کنید. این کار را میتوانید با متغیر محیطی JAVA_TIMEZONE انجام دهید که توسط اسکریپت راهاندازی متابیس خوانده میشود. برای مثال:
podman run -d -p 3000:3000 \
-e "JAVA_TIMEZONE=US/Pacific" \
--name metabase metabase/metabase
عیبیابی
برای نکات بیشتر، به بخش Running Metabase در راهنمای عیبیابی مراجعه کنید.
ادامهٔ راهاندازی
حالا که متابیس را روی Podman نصب کردهاید، نوبت آن است که آن را راهاندازی و به پایگاهدادهٔ خود متصل کنید.