تخطى إلى المحتوى الرئيسي

(اختياري) التجربة باستخدام Docker

المتطلبات

الأجهزة

إذا كنت ترغب في بناء صورة Docker الخاصة بك، تأكد من أن جهازك يحتوي على ذاكرة 2 جيجابايت على الأقل. واجهة Casibase الأمامية هي مشروع React NPM. يتطلب بناء الواجهة الأمامية ذاكرة 2 جيجابايت على الأقل. قد تؤدي الذاكرة الأقل من 2 جيجابايت إلى فشل بناء الواجهة الأمامية.

إذا كنت تحتاج فقط إلى تشغيل الصور الجاهزة، تأكد من أن جهازك يحتوي على ذاكرة 100 ميجابايت على الأقل.

نظام التشغيل

جميع أنظمة التشغيل (Linux وWindows وmacOS) مدعومة.

دوكر

يمكنك استخدام إما Docker (إصدار docker-engine >= 17.05) في Linux أو Docker Desktop في Windows وmacOS.

بغض النظر عن نظام التشغيل، يجب على المستخدمين التأكد من وجود إصدار docker-engine >= 17.05. هذا لأننا نستخدم ميزة البناء متعدد المراحل في docker-compose.yml، والتي يتم دعمها في الإصدار 17.05 وما فوق. لمزيد من المعلومات، راجع https://docs.docker.com/develop/develop-images/multistage-build/.

إذا كنت تستخدم docker-compose، تأكد من وجود إصدار docker-compose >= 2.2. بالنسبة لمستخدمي Linux، يرجى ملاحظة أنه يجب تثبيت docker-compose بشكل منفصل عن docker-engine.

الحصول على الصور

نقدم صورتين على DockerHub:

الاسمالوصفالتوصية
casibase- الكل في واحدتحتوي الصورة على Casibase وقاعدة بيانات MySQLتحتوي هذه الصورة بالفعل على قاعدة بيانات اختبار وهي مخصصة لأغراض الاختبار فقط
كاسيبيستحتوي الصورة على Casibase فقطيمكن ربط هذه الصورة بقاعدة البيانات الخاصة بك واستخدامها للإنتاج
  1. casbin/casibase-all-in-one: تحتوي هذه الصورة على ملف Casibase القابل للتنفيذ وقاعدة بيانات MySQL وجميع التكوينات الضرورية. وهي مصممة للمستخدمين الجدد الذين يرغبون في تجربة Casibase بسرعة. باستخدام هذه الصورة، يمكنك بدء Casibase على الفور بأمر واحد أو اثنين فقط، دون أي تكوينات معقدة. ومع ذلك، لاحظ أننا لا نوصي باستخدام هذه الصورة للإنتاج.

الخيار 1: مع قاعدة بيانات الاختبار

قم بتعريض المنفذ 14000 للمضيف عند تشغيل الحاوية. سيتم سحب الصورة تلقائيًا إذا لم تكن موجودة على المضيف المحلي.

دوكر تشغيل -p 14000:14000 casbin/casibase-all-in-one

قم بزيارة http://localhost:14000 في متصفحك. قم بتسجيل الدخول إلى لوحة تحكم Casibase باستخدام حساب المسؤول العالمي الافتراضي: built-in/admin

admin
123

الخيار 2: التجربة باستخدام docker-compose

قم بإنشاء دليل conf/app.conf على نفس مستوى الدليل مع ملف docker-compose.yml. ثم، انسخ app.conf من Casibase. لمزيد من التفاصيل حول app.conf، يمكنك الاطلاع على عبر ملف Ini.

Below is a minimal but complete docker-compose.yml example that starts a MySQL database and the Casibase service. It configures Casibase to connect to the database using MySQL. Save this file as docker-compose.yml (next to a conf folder if you want to mount a custom app.conf).

services:
db:
image: mysql:8.0
restart: always
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: casibase
volumes:
- db_data:/var/lib/mysql
ports:
- "3306:3306" # optional: expose DB to host

casibase:
image: casbin/casibase:latest
restart: unless-stopped
depends_on:
- db
environment:
# Use MySQL driver and point to the db service (service name = host)
- driverName=mysql
- dataSourceName=root:123456@tcp(db:3306)/
ports:
- "14000:14000"
volumes:
# optional: mount your configuration
- ./conf/app.conf:/conf/app.conf

volumes:
db_data:

What does the above compose file do:

  • The Casibase container connects to the database using the Compose service name db (i.e. db:3306). When both services run in the same Docker network (default for compose), using the service name as host is the simplest and most reliable approach.
  • The dataSourceName above uses the MySQL root account for simplicity. For production use please create a dedicated DB user and a strong password.
  • Mounting ./conf/app.conf into /conf/app.conf is optional. If you prefer environment variables, you can remove the mount and rely on the driverName and dataSourceName variables.
  • If both app.conf and environment variables are provided, the environment variables take precedence and will override the corresponding settings in app.conf.
ملاحظة

Casdoor: By default Casibase uses the hosted Casdoor instance at https://door.casdoor.com for user authentication. If you need to manage users, applications, or customize the authentication flow, you must deploy your own Casdoor instance and update Casibase's app.conf (or the equivalent environment variables) to point to your Casdoor server. You can look at Casdoor configuration for more details.

RUNNING_IN_DOCKER: By default RUNNING_IN_DOCKER is enabled in docker image. When enabled, Casibase replaces localhost with the Docker bridge address (for example, host.docker.internal or the equivalent bridge hostname) so that the container can reach services running on the host.

Bring up the services:

docker-compose up -d

Check logs (follow):

docker-compose logs -f casibase

قم بزيارة http://localhost:14000 في متصفحك. قم بتسجيل الدخول إلى لوحة تحكم Casibase باستخدام حساب المسؤول العالمي الافتراضي: built-in/admin

admin
123

Stop and remove containers and volumes (data removed):

docker-compose down -v

الخيار 3: استخدام الصورة القياسية مباشرة

نصيحة

إذا لم يكن من العملي تركيب ملف التكوين في الحاوية، فقد تكون متغيرات البيئة حلاً ممكنًا.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-p 14000:14000 \
casbin/casibase:latest

قم بإنشاء conf/app.conf. يمكنك النسخ من conf/app.conf الخاص بـ Casibase. لمزيد من التفاصيل حول app.conf، يمكنك الاطلاع على عبر ملف Ini.

ثم قم بتنفيذ

دوكر تشغيل  -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest

باختصار، تحتاج فقط إلى تركيب app.conf إلى /conf/app.conf وبدء الحاوية.

قم بزيارة http://localhost:14000 في متصفحك. قم بتسجيل الدخول إلى لوحة تحكم Casibase باستخدام حساب المسؤول العالمي الافتراضي: built-in/admin

admin
123