Перейти до основного контенту

(Опціонально) Спробуйте з Docker

Вимоги

Апаратне забезпечення

Якщо ви хочете створити Docker образ самостійно, переконайтеся, що ваша машина має принаймні 2GB пам'яті. Фронтенд Casibase є проектом NPM на базі React. Для збірки фронтенду потрібно принаймні 2GB пам'яті. Якщо пам'яті менше 2GB, збірка фронтенду може зазнати невдачі.

Якщо вам потрібно лише запустити попередньо зібраний образ, переконайтеся, що ваша машина має принаймні 100 МБ пам'яті.

Операційна система

Підтримуються всі операційні системи (Linux, Windows та macOS).

Docker

Ви можете використовувати Docker (версія docker-engine >= 17.05) на Linux або Docker Desktop на Windows та macOS.

Незалежно від операційної системи, користувачі повинні переконатися, що у них встановлена версія docker-engine version >= 17,05. Це тому, що ми використовуємо функцію багатоступінчової збірки у docker-compose.yml, яка підтримується версіями 17,05 та вище. Для отримання додаткової інформації дивіться https://docs.docker.com/develop/develop-images/multistage-build/.

Якщо ви використовуєте docker-compose, переконайтеся, що у вас встановлена версія docker-compose version >= 2,2. Користувачам Linux зверніть увагу, що docker-compose потрібно встановлювати окремо від docker-engine.

Отримання образів

Ми надаємо два образи на DockerHub:

НазваОписРекомендація
casibase-all-in-oneОбраз містить Casibase та базу даних MySQLЦей образ вже містить тестову базу даних і призначений лише для тестування
casibaseОбраз містить лише CasibaseЦей образ може підключатися до вашої власної бази даних і використовуватися у виробничому середовищі
  1. casbin/casibase-all-in-one: Цей образ включає виконуваний файл casibase, базу даних MySQL та всі необхідні конфігурації. Він розроблений для нових користувачів, які хочуть швидко опробувати Casibase. За допомогою цього образу ви можете запустити Casibase негайно, виконавши лише одну або дві команди, без будь-якої складної конфігурації. Однак, зверніть увагу, що ми не рекомендуємо використовувати цей образ у виробничому середовищі.

Варіант-1: Використання тестової бази даних

Запустіть контейнер з відкритим портом 14000 для хоста. Якщо образ відсутній на локальному хості, він буде автоматично завантажено.

docker run -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 дивіться Via Ini file.

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 дивіться Via Ini file.

Потім запустіть

docker run  -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