From 27d8cd758d4c4f866db50a196dedd0a326278765 Mon Sep 17 00:00:00 2001 From: Gucheng Wang Date: Mon, 23 May 2022 21:45:31 +0800 Subject: [PATCH] Simplify README --- README.md | 152 ++++++++++-------------------------------------------- 1 file changed, 26 insertions(+), 126 deletions(-) diff --git a/README.md b/README.md index 6832842e..cbfb9958 100644 --- a/README.md +++ b/README.md @@ -42,166 +42,66 @@

+ + ## Online demo -Deployed site: https://door.casdoor.com/ +- International: https://door.casdoor.org (read-only) +- Asian mirror: https://door.casdoor.com (read-only) +- Asian mirror: https://demo.casdoor.com (read-write, will restore for every 5 minutes) -## Quick Start -Run your own casdoor program in a few minutes. -### Download -There are two methods, get code via go subcommand `get`: +## Documentation -```shell -go get github.com/casdoor/casdoor -``` +- International: https://casdoor.org +- Asian mirror: https://docs.casdoor.cn - or `git`: -```bash -git clone https://github.com/casdoor/casdoor -``` -Finally, change directory: +## Install -```bash -cd casdoor/ -``` +- By source code: https://casdoor.org/docs/basic/server-installation +- By Docker: https://casdoor.org/docs/basic/try-with-docker -We provide two start up methods for all kinds of users. -### Manual -#### Simple configuration -Casdoor requires a running Relational database to be operational.Thus you need to modify configuration to point out the location of database. +## How to connect to Casdoor? -Edit `conf/app.conf`, modify `dataSourceName` to correct database info, which follows this format: +https://casdoor.org/docs/how-to-connect/overview -```bash -username:password@tcp(database_ip:database_port)/ -``` -Then create an empty schema (database) named `casdoor` in your relational database. After the program runs for the first time, it will automatically create tables in this schema. -You can also edit `main.go`, modify `false` to `true`. It will automatically create the schema (database) named `casdoor` in this database. +## Casdoor Public API -```bash -createDatabase := flag.Bool("createDatabase", false, "true if you need casdoor to create database") -``` +- Docs: https://casdoor.org/docs/basic/public-api +- Swagger: https://door.casdoor.com/swagger -#### Run -Casdoor provides two run modes, the difference is binary size and user prompt. -##### Dev Mode +## Integrations -Edit `conf/app.conf`, set `runmode=dev`. Firstly build front-end files: +https://casdoor.org/docs/integration/apisix -```bash -cd web/ && yarn && yarn run start -``` -*❗ A word of caution ❗: Casdoor's front-end is built using yarn. You should use `yarn` instead of `npm`. It has a potential failure during building the files if you use `npm`.* -Then build back-end binary file, change directory to root(Relative to casdoor): +## How to contact? -```bash -go run main.go -``` +- Gitter: https://gitter.im/casbin/casdoor +- Forum: https://forum.casbin.com +- Contact: https://tawk.to/chat/623352fea34c2456412b8c51/1fuc7od6e -That's it! Try to visit http://127.0.0.1:7001/. :small_airplane: -**But make sure you always request the backend port 8000 when you are using SDKs.** -##### Production Mode - -Edit `conf/app.conf`, set `runmode=prod`. Firstly build front-end files: - -```bash -cd web/ && yarn && yarn run build -``` - -Then build back-end binary file, change directory to root(Relative to casdoor): - -```bash -go build main.go && sudo ./main -``` - -> Notice, you should visit back-end port, default 8000. Now try to visit **http://SERVER_IP:8000/** - -### Docker - -Casdoor provide 2 kinds of image: -- casbin/casdoor-all-in-one, in which casdoor binary, a mysql database and all necessary configurations are packed up. This image is for new user to have a trial on casdoor quickly. **With this image you can start a casdoor immediately with one single command (or two) without any complex configuration**. **Note: we DO NOT recommend you to use this image in productive environment** - -- casbin/casdoor: normal & graceful casdoor image with only casdoor and environment installed. - -This method requires [docker](https://docs.docker.com/get-docker/) and [docker-compose](https://docs.docker.com/compose/install/) to be installed first. - -### Start casdoor with casbin/casdoor-all-in-one -if the image is not pulled, pull it from dockerhub -```shell -docker pull casbin/casdoor-all-in-one -``` -Start it with -```shell -docker run -p 8000:8000 casbin/casdoor-all-in-one -``` -Now you can visit http://localhost:8000 and have a try. Default account and password is 'admin' and '123'. Go for it! - -### Start casdoor with casbin/casdoor -#### modify the configurations -For the convenience of your first attempt, docker-compose.yml contains commands to start a database via docker. - -Thus edit `conf/app.conf` to point out the location of database(db:3306), modify `dataSourceName` to the fixed content: - -```bash -dataSourceName = root:123456@tcp(db:3306)/ -``` - -> If you need to modify `conf/app.conf`, you need to re-run `docker-compose up`. - -#### Run - -```bash -docker-compose up -``` - -### K8S -You could use helm to deploy casdoor in k8s. At first, you should modify the [configmap](./manifests/casdoor/templates/configmap.yaml) for your application. -And then run bellow command to deploy it. - -```bash -IMG_TAG=latest make deploy -``` - -And undeploy it with: -```bash -make undeploy -``` - -That's it! Try to visit http://localhost:8000/. :small_airplane: - -## Detailed documentation - -We also provide a complete [document](https://casdoor.org/) as a reference. - -## Other examples - -These all use casdoor as a centralized authentication platform. - -- [Casnode](https://github.com/casbin/casnode): Next-generation forum software based on React + Golang. -- [Casbin-OA](https://github.com/casbin/casbin-oa): A full-featured OA(Office Assistant) system. -- ...... ## Contribute For casdoor, if you have any questions, you can give Issues, or you can also directly start Pull Requests(but we recommend giving issues first to communicate with the community). -### I18n notice +### I18n translation If you are contributing to casdoor, please note that we use [Crowdin](https://crowdin.com/project/casdoor-web) as translating platform and i18next as translating tool. When you add some words using i18next in the ```web/``` directory, please remember to add what you have added to the ```web/src/locales/en/data.json``` file. + + ## License - [Apache-2.0](https://github.com/casdoor/casdoor/blob/master/LICENSE) - +[Apache-2.0](https://github.com/casdoor/casdoor/blob/master/LICENSE)