(オプション) Dockerで試す
要件
ハードウェア
Docker イメージを自分で構築する場合は、マシンに少なくとも 2GB のメモリがあることを確認してください。 Casibaseのフロントエンドは、ReactのNPMプロジェクトです。 フロントエンドのビルドには、少なくとも 2GB のメモリが必要です。 メモリが 2GB 未満の場合、フロントエンドのビルドに失敗する可能性があります。
ビルド済みのイメージのみを実行する場合は、マシンに最低100MBのメモリがあることを確認してください。
オペレーティングシステム
すべてのオペレーティングシステム(Linux、Windows、およびmacOS)がサポートされています。
Docker
LinuxではDocker(docker-engineバージョン >= 17.05)を、WindowsとmacOSではDocker Desktopを使用できます。
オペレーティングシステムに関係なく、ユーザーは 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とは別にインストールする必要があることに注意してください。 Linux ユーザーの場合、docker-compose は docker-engine とは別にインストールする必要があることに注意してください。
イメージの取得
DockerHubでは2つのイメージを提供しています:
| 名前 | 説明 | 推奨 |
|---|---|---|
| casibase-all-in-one | CasibaseとMySQLデータベースの両方が画像に含まれています | このイメージにはすでにテストデータベースが含まれており、テスト目的でのみ使用されます |
| casibase | 画像にはCasibaseのみが含まれています | このイメージは独自のデータベースに接続して本番環境で使用できます |
- casbin/casibase-all-in-one: このイメージには、casibaseバイナリ、MySQLデータベース、および必要なすべての構成が含まれています。 それはすぐにCasibaseを試してみたい新しいユーザーのために設計されています。 この画像を使用すると、複雑な設定をせずに、1つまたは2つのコマンドだけでCasibaseをすぐに開始できます。 ただし、本番環境でこのイメージを使用することは推奨していませんのでご注意ください。
オプション-1:テストデータベースを使用する
コンテナを実行するときに、ホストにポート14000を公開します。ローカルホストにイメージが存在しない場合は、自動的に取得されます。 ローカルホストに存在しない場合、イメージは自動的にプルされます。
docker run -p 14000:14000 casbin/casibase-all-in-one
ブラウザで http://localhost:14000 にアクセスしてください。 デフォルトのグローバル管理者アカウントでCasibasダッシュボードにログインします: built-in/admin
admin
123
オプション-2:docker-composeで試す
docker-compose.ymlファイルと同じディレクトリレベルにconf/app.confディレクトリを作成します。 次に、Casibaseから app.conf をコピーします。 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
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 にアクセスしてください。 デフォルトのグローバル管理者アカウントでCasibasダッシュボードにログインします: 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 を作成します。 Casibaseのconf/app.confからコピーできます。 app.conf の詳細については、Iniファイルを介してをご参照ください。
次に実行します
docker run -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest
要約すると、app.confを/conf/app.confにマウントし、コンテナを起動するだけです。
ブラウザで http://localhost:14000 にアクセスしてください。 デフォルトのグローバル管理者アカウントでCasibasダッシュボードにログインします: built-in/admin
admin
123