(Опціонально) Спробуйте з 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 | Цей образ може підключатися до вашої власної бази даних і використовуватися у виробничому середовищі |
- 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
dataSourceNameabove uses the MySQL root account for simplicity. For production use please create a dedicated DB user and a strong password. - Mounting
./conf/app.confinto/conf/app.confis optional. If you prefer environment variables, you can remove the mount and rely on thedriverNameanddataSourceNamevariables. - If both
app.confand 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: Пряме використання стандартного образу
Якщо незручно монтувати файли конфігурації в контейнер, використання змінних середовища також може бути рішенням.
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