(선택 사항) Docker로 시도하기
요구 사항
하드웨어
직접 Docker 이미지를 빌드하려면 기계에 최소 2GB의 메모리가 있는지 확인하세요. Casibase의 프론트엔드는 React NPM 프로젝트입니다. 프론트엔드 빌드에는 최소 2GB의 메모리가 필요합니다. 2GB 미만의 메모리는 프론트엔드 빌드 실패를 초래할 수 있습니다.
미리 빌드된 이미지만 실행해야 하는 경우, 기계에 최소 100MB의 메모리가 있는지 확인하세요.
운영 체제
모든 운영 체제(Linux, Windows 및 macOS)가 지원됩니다.
도커
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과 별도로 설치해야 한다는 점을 유의하세요.
이미지 가져오기
DockerHub에서 두 가지 이미지를 제공합니다:
| 이름 | 설명 | 권장 사항 |
|---|---|---|
| 캐시베이스-올인원 | 이미지에는 Casibase와 MySQL 데이터베이스가 포함됨 | 이 이미지에는 이미 테스트 데이터베이스가 포함되어 있으며 테스트 목적으로만 사용됨 |
| 캐시베이스 | 이미지에는 Casibase만 포함됨 | 이 이미지는 자체 데이터베이스에 연결하여 프로덕션에 사용할 수 있음 |
- casbin/casibase-all-in-one: 이 이미지에는 casibase 실행 파일, MySQL 데이터베이스 및 모든 필요한 구성이 포함되어 있습니다. Casibase를 빠르게 시도해 보고 싶은 새 사용자를 위해 설계되었습니다. 이 이미지를 사용하면 복잡한 구성 없이 한두 개의 명령으로 즉시 Casibase를 시작할 수 있습니다. 그러나 프로덕션 환경에서는 이 이미지를 사용하지 않는 것이 좋습니다.
옵션-1: 테스트 데이터베이스 사용
컨테이너를 실행할 때 호스트에 포트 14000을 노출합니다. 로컬 호스트에 이미지가 존재하지 않으면 자동으로 가져옵니다.
docker 실행 -p 14000:14000 casbin/casibase-all-in-one
브라우저에서 http://localhost:14000을 방문하세요. 기본 글로벌 관리자 계정으로 Casibase 대시보드에 로그인하세요: built-in/admin
관리자
<b>123</b>
옵션-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을 방문하세요. 기본 글로벌 관리자 계정으로 Casibase 대시보드에 로그인하세요: built-in/admin
관리자
<b>123</b>
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 실행 -p 14000:14000 -v /folder/of/app.conf:/conf casbin/casibase:latest
요약하면, app.conf를 /conf/app.conf에 마운트하고 컨테이너를 시작하기만 하면 됩니다.
브라우저에서 http://localhost:14000을 방문하세요. 기본 글로벌 관리자 계정으로 Casibase 대시보드에 로그인하세요: built-in/admin
관리자
<b>123</b>