| <!-- |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| --> |
| |
| # Build and launch with source codes |
| |
| The Dashboard contains both `manager-api` and `web`, but `web` is _optional_. |
| |
| The `manager-api` and `web` will be included in this build guide product. |
| |
| ## Prerequisites |
| |
| Before using source codes to build, make sure that the following dependencies are installed in your environment. |
| |
| ### manager-api |
| |
| 1. [Golang](https://golang.org/dl/) 1.13+: For users in mainland China, you can use the following command to speed up the module downloads. |
| |
| ```sh |
| $ go env -w GOPROXY=https://goproxy.cn,direct |
| ``` |
| |
| ### web |
| |
| 1. [Node.js](https://nodejs.org/en/download/) 10.23.0+ |
| 2. [Yarn](https://yarnpkg.com/getting-started/install) |
| |
| ## Clone the project |
| |
| ```sh |
| $ git clone -b v2.3 https://github.com/apache/apisix-dashboard.git |
| ``` |
| |
| ## Build |
| |
| ```sh |
| $ cd apisix-dashboard |
| $ make build |
| ``` |
| |
| When the build is complete, the results are stored in the root `output` directory. |
| |
| Note: `make build` will build `manger-api` and `web`, use the `make help` command to see more commands. |
| |
| ## Launch |
| |
| 1. After the build is complete and before you start, make sure the following dependencies are installed and running in your environment. |
| |
| - [etcd](https://etcd.io/docs/v3.4.0/dl-build/) 3.4.0+ |
| |
| 2. Check and modify the configuration information in `output/conf/conf.yaml` according to your deployment environment. |
| |
| 3. Launch the Dashboard |
| |
| ```sh |
| $ cd ./output |
| |
| $ ./manager-api |
| |
| # or running in background |
| $ nohup ./manager-api & |
| ``` |
| |
| 4. Without changing the configuration, visit `http://127.0.0.1:9000` to use the dashboard with GUI, where the default username and password are `admin`. |
| |
| 5. Stop the Dashboard |
| |
| ```sh |
| $ kill $(ps aux | grep 'manager-api' | awk '{print $2}') |
| ``` |